<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5124271008464716872</id><updated>2012-02-29T07:20:26.847-08:00</updated><category term='Mobile'/><category term='Vista'/><category term='SMS'/><category term='GSoC2011'/><category term='qimportbz'/><category term='Desktop'/><category term='Google Wave'/><category term='Dialog Buddy Tracker'/><category term='Weave Sync'/><category term='Thunderbird'/><category term='Imagine Cup 2009'/><category term='Add-on'/><category term='Dialog'/><category term='Weave Sync Engine'/><category term='AIESEC'/><category term='Lightning'/><category term='Wallpaper'/><category term='GSoC 2010'/><category term='Windows'/><category term='USB flash drive'/><category term='MailNews Sync'/><category term='Testing'/><category term='Avatar'/><category term='C++'/><category term='Seamonkey'/><category term='Weave'/><category term='iPhone'/><category term='Firefox Sync'/><category term='Mozilla'/><category term='Lenovo'/><category term='Samsung'/><category term='Ubuntu'/><category term='Bugzilla'/><category term='Fennec'/><category term='iOS'/><category term='dual boot'/><category term='Lenovo Y330'/><category term='Android'/><category term='mercurial'/><category term='Wubi'/><category term='Google Apps'/><category term='Cloud'/><category term='Apache2'/><category term='Automation'/><title type='text'>Harini's Webspace..</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-4546442641935869070</id><published>2012-01-24T23:43:00.000-08:00</published><updated>2012-01-24T23:43:26.285-08:00</updated><title type='text'>Creating multiple targets in an iOS project</title><content type='html'>There can be many reasons why you would want to create multiple targets for an iOS project.&lt;br /&gt;&lt;br /&gt;- You may want a separate Release Target and a Debug target so you can restrict logging to the Release target&lt;br /&gt;- You may want to build a separate target for testing the application&lt;br /&gt;- You may want to build a slightly different version of the current application (eg: Free and Paid versions for the same app)&lt;br /&gt;&lt;br /&gt;The advantage of maintaining one project with multiple targets for such cases is quite obvious, when there are code changes that should apply to both applications you don't need to repeat those changes changes in separate projects.&lt;br /&gt;&lt;br /&gt;Given below are the steps you need to follow to make a new target for an iOS project in XCode (I am using Xcode 3.2 but the steps should be similar for Xcode4).&lt;br /&gt;&lt;br /&gt;1. Create a new target&lt;br /&gt;&lt;br /&gt;From xcode menu select Project -&amp;gt; New Target (the dialog below will open).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-KO1EFClPyUs/Tx-tykHTG3I/AAAAAAAAAYM/Jx_835-B7K8/s1600/Screen+shot+2012-01-25+at+12.52.14+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="261" src="http://1.bp.blogspot.com/-KO1EFClPyUs/Tx-tykHTG3I/AAAAAAAAAYM/Jx_835-B7K8/s320/Screen+shot+2012-01-25+at+12.52.14+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Select 'Cocoa Touch - Application' and then NextSet target name (eg: 'NewTarget')&lt;br /&gt;Check that the project is defined correctly and then click Finish to add the new target.&lt;br /&gt;Now the new target will be visible in the targets sections of Groups&amp;amp;Files pane (project file view).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Copy files from existing target&lt;br /&gt;&lt;br /&gt;Since you are making a new target for the same application code you need to copy over the files in the existing target of the project. Select and drag over the files in the following folders to the 'NewTarget'.&lt;br /&gt;&lt;br /&gt;Copy Bundle Resources&lt;br /&gt;Compile Sources&lt;br /&gt;Link Binary With Libraries&lt;br /&gt;&lt;br /&gt;After copying make sure the folders Copy Bundle Resources, Compile Sources, Link Binary With Libraries in the 'NewTarget' don't have any duplicate files. Checking this will help you avoid compiler warnings.&lt;br /&gt;&lt;br /&gt;3. Set build settings &lt;br /&gt;&lt;br /&gt;Before you can build and run the new target you created, you need to set the following build settings correctly. To change build settings double click the 'NewTarget' icon (this will open the target's properties dialog - see image below) and select the Build tab.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-g6ohUnyiaqk/Tx-w8ViWAKI/AAAAAAAAAYc/l9abO7_c6yQ/s1600/Screen+shot+2012-01-25+at+1.05.14+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="193" src="http://2.bp.blogspot.com/-g6ohUnyiaqk/Tx-w8ViWAKI/AAAAAAAAAYc/l9abO7_c6yQ/s320/Screen+shot+2012-01-25+at+1.05.14+PM.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Check that Base SDK is set correctly&lt;br /&gt;- 'Compile Sources As' should be set to Objective-C (if it is set to 'According to file type' this will likely cause compile errors)&lt;br /&gt;- Check the 'Info.plist File' is set correctly. You can edit this file to change the 'NewTarget' settings such as icon, launch screen etc.&lt;br /&gt;&lt;br /&gt;4. Run the NewTarget!&lt;br /&gt;&lt;br /&gt;Now from the xcode menu select Project -&amp;gt; Set Active Target and select the 'NewTarget'.&lt;br /&gt;Build and run:)&lt;br /&gt;&lt;br /&gt;Creating new targets in this way will create a new .app file (new executable) which you can use for application testing or release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-4546442641935869070?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/4546442641935869070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2012/01/creating-multiple-targets-in-ios.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4546442641935869070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4546442641935869070'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2012/01/creating-multiple-targets-in-ios.html' title='Creating multiple targets in an iOS project'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-KO1EFClPyUs/Tx-tykHTG3I/AAAAAAAAAYM/Jx_835-B7K8/s72-c/Screen+shot+2012-01-25+at+12.52.14+PM.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-4301093749741142458</id><published>2011-12-27T03:25:00.000-08:00</published><updated>2012-01-02T04:06:45.237-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>UI Test Automation in iOS</title><content type='html'>A few months back I did a blogpost on Android UI Testing &lt;a href="http://hariniachala.blogspot.com/2011/09/android-application-ui-testing-with.html"&gt;http://hariniachala.blogspot.com/2011/09/android-application-ui-testing-with.html&lt;/a&gt;. This post covers the inbuilt tools available in iOS for automated UI testing.&lt;br /&gt;&lt;br /&gt;iOS SDK 4 included the 'Automation' tool for UI test automation. However the procedure is a bit cumbersome. There is no record and playback tool for test and all tests have to be scripted.&lt;br /&gt;&lt;br /&gt;To run the Automation tool in Xcode 4 or higher open your iOS project and select Product -&amp;gt; Profile from menu. Next select the Automation icon from the wizard that opens.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://answers.oreilly.com/uploads/monthly_06_2010/post-32-127712787257_thumb.png"&gt;&lt;img style="cursor: pointer; width: 402px; height: 304px;" src="http://answers.oreilly.com/uploads/monthly_06_2010/post-32-127712787257_thumb.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When instruments opens with Automation tool selected you will see the following window..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-Ucn2oqltMvA/Tvra0xIWzYI/AAAAAAAAAYA/faiIMJiX8wo/s1600/Screen%2Bshot%2B2011-12-28%2Bat%2B2.27.01%2BPM.png"&gt;&lt;img style="cursor: pointer; width: 403px; height: 222px;" src="http://2.bp.blogspot.com/-Ucn2oqltMvA/Tvra0xIWzYI/AAAAAAAAAYA/faiIMJiX8wo/s400/Screen%2Bshot%2B2011-12-28%2Bat%2B2.27.01%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5691101679212481922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the Scripts section select Add and Create. This will create a new ui test automation script. These scripts are written in javascript. Below is an example script..&lt;br /&gt;&lt;br /&gt;UIALogger.logStart("Logging…");&lt;br /&gt;UIATarget.localTarget().logElementTree();&lt;br /&gt;UIATarget.localTarget().frontMostApp().mainWindow().elements()[2].elements()[1].tap();&lt;br /&gt;UIALogger.logPass();&lt;br /&gt;&lt;br /&gt;This script starts by logging the message "Logging.." and then logging the element hierarchy of the currently selected window in the application. Logging the element hierarchy here helps us to understand how we should call a specific element in the window. You can also call elements by their label. See Apple's documentation (&lt;a href="http://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Built-InInstruments/Built-InInstruments.html#//apple_ref/doc/uid/TP40004652-CH6-SW76"&gt;http://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Built-InInstruments/Built-InInstruments.html#//apple_ref/doc/uid/TP40004652-CH6-SW76&lt;/a&gt;) for details. After determining the element heirarchy we use that information to call a tap() (identical to a physical tap) on that element. We close the logging with logPass().&lt;br /&gt;&lt;br /&gt;Next you need to select the application target on which you want to run the test script. See the screenshot below for details on how to do this..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://answers.oreilly.com/uploads/monthly_06_2010/post-32-127712798838_thumb.png"&gt;&lt;img style="cursor: pointer; width: 378px; height: 266px;" src="http://answers.oreilly.com/uploads/monthly_06_2010/post-32-127712798838_thumb.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now you can run your test by clicking on the record button. Watch and monitor the trace log as your test runs on the simulator.&lt;br /&gt;&lt;br /&gt;In this manner even a complex UI test flow can be automated, especially if that test procedure needs to be repeated (eg: generating reports for different data). However as you can see the procedure of writing the automated test is quite time consuming.&lt;br /&gt;&lt;br /&gt;Conclusion : Comparing the tools available for UI test automation currently android seems to be one step ahead  in the game (it provides a test record and playback tool (see my previous blogpost on android ui testing ). Still both mobile platforms have a lot to be improved in their automation test tools..&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/3801344/how-do-i-test-my-ios-apps"&gt;http://stackoverflow.com/questions/3801344/how-do-i-test-my-ios-apps&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Built-InInstruments/Built-InInstruments.html#//apple_ref/doc/uid/TP40004652-CH6"&gt;http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Built-InInstruments/Built-InInstruments.html#//apple_ref/doc/uid/TP40004652-CH6&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-4301093749741142458?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/4301093749741142458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/12/ui-test-automation-in-ios.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4301093749741142458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4301093749741142458'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/12/ui-test-automation-in-ios.html' title='UI Test Automation in iOS'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Ucn2oqltMvA/Tvra0xIWzYI/AAAAAAAAAYA/faiIMJiX8wo/s72-c/Screen%2Bshot%2B2011-12-28%2Bat%2B2.27.01%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-4849514004336140508</id><published>2011-09-22T03:12:00.000-07:00</published><updated>2011-10-03T02:59:11.437-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Samsung'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Samsugn Lab.dev</title><content type='html'>Samsung's Lab.dev is another cloud based mobile application testing service. This article is a summary of my experience with it specific to Android. The site also supports Windows Mobile, Java and bada testing.&lt;br /&gt;&lt;br /&gt;What's great about it:)&lt;br /&gt;&lt;br /&gt;- It's free!&lt;br /&gt;&lt;br /&gt;What's not so great about it:(&lt;br /&gt;&lt;br /&gt;- Limited functionality (no automated testing)&lt;br /&gt;- Limited devices (only Samsung devices)&lt;br /&gt;- Each session on a device is valid for a max of 30min.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For those of you who would like to try it out here's how..&lt;br /&gt;&lt;br /&gt;Go to https://innovator.samsungmobile.com/mbr/individual.mbr.add.do and register a new account. Sign in with the new account you created. Select Android page (see screen shot below..)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-7sAWqqrfyEw/ToL9tDLC8sI/AAAAAAAAAW4/8OBdF_A0LWc/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B4.06.28%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 147px;" src="http://3.bp.blogspot.com/-7sAWqqrfyEw/ToL9tDLC8sI/AAAAAAAAAW4/8OBdF_A0LWc/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B4.06.28%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657363032318341826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now select Lab.dev from left of the screen (see pic below..)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-OY6Uz9V8C9w/ToL9s5PnFeI/AAAAAAAAAWo/obOwdTEe-wE/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B4.05.38%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 186px;" src="http://3.bp.blogspot.com/-OY6Uz9V8C9w/ToL9s5PnFeI/AAAAAAAAAWo/obOwdTEe-wE/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B4.05.38%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657363029653132770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now click the Android button (see pic..)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/---WQRZGE3zg/ToL9tRkLIqI/AAAAAAAAAXA/shs08HyC0Fc/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B4.10.33%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 150px;" src="http://1.bp.blogspot.com/---WQRZGE3zg/ToL9tRkLIqI/AAAAAAAAAXA/shs08HyC0Fc/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B4.10.33%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657363036181832354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A requirements test will follow. If all requirements are met you can proceed to the lab screen where you can select the device you want from what is available (see screen..). One you've decided on a device select 'Start' to download the java web start app(.jnlp file) that will show you the running device (grant required permissions for the application to run on your pc).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-PRNEyIb7UKw/ToL9tW2qK8I/AAAAAAAAAXI/9EnyDYY4Bdo/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B4.11.20%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 151px;" src="http://4.bp.blogspot.com/-PRNEyIb7UKw/ToL9tW2qK8I/AAAAAAAAAXI/9EnyDYY4Bdo/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B4.11.20%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657363037601541058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-nzo7m_ytzww/ToL-7bp5oqI/AAAAAAAAAXQ/kN12i3IXUVk/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B4.11.41%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 235px;" src="http://3.bp.blogspot.com/-nzo7m_ytzww/ToL-7bp5oqI/AAAAAAAAAXQ/kN12i3IXUVk/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B4.11.41%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657364378920002210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can test your android apps on the device by downloading the .apk files onto it over the internet.&lt;br /&gt;&lt;br /&gt;More screenshots...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-tZu1IwwIE3c/ToL7_3ylk-I/AAAAAAAAAWI/ngdxIuQgWDQ/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B3.53.35%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 246px; height: 320px;" src="http://1.bp.blogspot.com/-tZu1IwwIE3c/ToL7_3ylk-I/AAAAAAAAAWI/ngdxIuQgWDQ/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B3.53.35%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657361156657222626" border="0" /&gt;&lt;/a&gt; &lt;a href="http://1.bp.blogspot.com/-1LR6ZdPBpUs/ToL8AHPQG4I/AAAAAAAAAWQ/yQZv4wek8J0/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B3.57.55%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 177px; height: 320px;" src="http://1.bp.blogspot.com/-1LR6ZdPBpUs/ToL8AHPQG4I/AAAAAAAAAWQ/yQZv4wek8J0/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B3.57.55%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657361160803982210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-D1qtZ9s0fyQ/ToL7_drO4FI/AAAAAAAAAWA/YSAHJDF7FD4/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B3.53.00%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 294px; height: 320px;" src="http://4.bp.blogspot.com/-D1qtZ9s0fyQ/ToL7_drO4FI/AAAAAAAAAWA/YSAHJDF7FD4/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B3.53.00%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657361149647052882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-fAar3G_qTNQ/ToL8AGQAskI/AAAAAAAAAWY/PVa0lEJk54k/s1600/Screen%2Bshot%2B2011-09-28%2Bat%2B3.58.19%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 186px;" src="http://1.bp.blogspot.com/-fAar3G_qTNQ/ToL8AGQAskI/AAAAAAAAAWY/PVa0lEJk54k/s320/Screen%2Bshot%2B2011-09-28%2Bat%2B3.58.19%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5657361160538731074" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-4849514004336140508?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/4849514004336140508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/09/samsugn-labdev.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4849514004336140508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4849514004336140508'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/09/samsugn-labdev.html' title='Samsugn Lab.dev'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-7sAWqqrfyEw/ToL9tDLC8sI/AAAAAAAAAW4/8OBdF_A0LWc/s72-c/Screen%2Bshot%2B2011-09-28%2Bat%2B4.06.28%2BPM.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-3325139062017191281</id><published>2011-09-20T09:15:00.000-07:00</published><updated>2011-10-03T03:00:07.649-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><title type='text'>Perfecto! - Cloud mobile testing</title><content type='html'>Perfecto is the Spanish word for perfect. It is also the name of a cloud mobile testing service (&lt;a href="http://www.perfectomobile.com/"&gt;http://www.perfectomobile.com&lt;/a&gt;). For an overview of how perfecto offers cloud mobile testing services please see their video(embeded below).&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.youtube.com/embed/tKvhSKz7HAo" allowfullscreen="" frameborder="0" height="390" width="440"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;The perfecto website offers a 1 hour free trail for testing their service. This blogpost is an overview of my trial usage of perfecto.&lt;br /&gt;&lt;br /&gt;Perfecto Free Trail Overview&lt;br /&gt;&lt;br /&gt;For my trial experimenting I picked the Motorola Droid handset. We have one of these handsets at work. I picked this handset so I can rate my virtual testing experience against the real thing. Having completed my trial testing period I would say the virtual experience was quite realistic although it was a few seconds slower to touch and other event responses. Below are screenshots taken during the trail.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-eEOZuBgXNjk/TnjFiH7yI3I/AAAAAAAAAVg/AnrrbON-IX4/s1600/Screenshot-10.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/-eEOZuBgXNjk/TnjFiH7yI3I/AAAAAAAAAVg/AnrrbON-IX4/s320/Screenshot-10.png" alt="" id="BLOGGER_PHOTO_ID_5654486522199679858" border="0" /&gt;&lt;/a&gt;  &lt;a href="http://3.bp.blogspot.com/-_tMfn6fvVJY/TnjFiXln0gI/AAAAAAAAAVo/bz-PlEOAInk/s1600/Screenshot-8.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/-_tMfn6fvVJY/TnjFiXln0gI/AAAAAAAAAVo/bz-PlEOAInk/s320/Screenshot-8.png" alt="" id="BLOGGER_PHOTO_ID_5654486526401696258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-1xxuI42J-Og/TnjFixy8SrI/AAAAAAAAAV4/tSpcIp9MKYg/s1600/Screenshot-9.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/-1xxuI42J-Og/TnjFixy8SrI/AAAAAAAAAV4/tSpcIp9MKYg/s320/Screenshot-9.png" alt="" id="BLOGGER_PHOTO_ID_5654486533436885682" border="0" /&gt;&lt;/a&gt;  &lt;a href="http://1.bp.blogspot.com/-TeLlFj0QBbo/TnjFit2Un4I/AAAAAAAAAVw/pV8m7zHI9DQ/s1600/Screenshot-7.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/-TeLlFj0QBbo/TnjFit2Un4I/AAAAAAAAAVw/pV8m7zHI9DQ/s320/Screenshot-7.png" alt="" id="BLOGGER_PHOTO_ID_5654486532377321346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What I liked about perfecto:&lt;br /&gt;&lt;br /&gt;- I could manipulate the virtual device much the same way as the real device. One functionality I couldn't trigger was the keypad open/close, but perhaps that functionality has been omitted from the trail version.&lt;br /&gt;&lt;br /&gt;- Installing .apk files to the virtual device was a breeze.&lt;br /&gt;&lt;br /&gt;- I could easily trigger incoming calls and sms on the virtual device(note: even though I refer to the perfecto device as 'virtual' it is in actuality a real device - refer video above). Triggering these actions on a real device would have been a little bit more cumbersome.&lt;br /&gt;&lt;br /&gt;Perfecto does seem like a close to perfect solution for mobile testing on the cloud. However I was disappointed to find that the feature I was really looking forward to trying out; automation testing, was not available in the trial. If automated testing is as good as it appears in the video, then that would definitely make perfecto just perfect!:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-3325139062017191281?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/3325139062017191281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/09/perfecto-cloud-mobile-testing.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3325139062017191281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3325139062017191281'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/09/perfecto-cloud-mobile-testing.html' title='Perfecto! - Cloud mobile testing'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/tKvhSKz7HAo/default.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-8822220837293680991</id><published>2011-09-19T05:26:00.000-07:00</published><updated>2011-10-03T03:00:58.843-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Application UI Testing (with monkey and monkeyrunner)</title><content type='html'>Android has some built in UI testing tools. These tools can be used for automated UI testing. However the tools are not so simple to use. This post is an attempt to set a guideline towards using these tools.&lt;br /&gt;&lt;br /&gt;There are 2 main UI testing tools available&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.monkey (aka. UI/Application Exerciser Monkey)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This tool is a command line based tool that can be primarily used to stress test your application UI. It is the simplest tool to use. Here's how..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Running monkey as an application UI stress tester&lt;/span&gt; (runs a random set of commands on the application. useful to UI stress testing)&lt;br /&gt;&lt;br /&gt;- Open a command console.&lt;br /&gt;- First direct your console to the location of the adb (Android Debug Bridge) program in the android sdk. Typically you can use the following command for this..&lt;br /&gt;&lt;br /&gt;$cd path_to_android_sdk/platform-tools/&lt;br /&gt;&lt;br /&gt;path_to_android_sdk should be the path to the sdk on your pc&lt;br /&gt;&lt;br /&gt;- Now make sure you device is connected with the application running on it or that the emulator is running the application.&lt;br /&gt;&lt;br /&gt;- To test on device issue the following command in the console&lt;br /&gt;&lt;br /&gt;$./adb -d shell monkey -p package_name -v 1000&lt;br /&gt;&lt;br /&gt;(replace -d with -e to test on the emulator.&lt;br /&gt;package_name is the name of the application package abnd it usually begins with com.&lt;br /&gt;-v specifies the number of UI events to be generated, in this case we ask it to generate 1000 random events)&lt;br /&gt;&lt;br /&gt;Now you will see the monkey stress testing your app.&lt;br /&gt;&lt;br /&gt;If you get force close message while running monkey you have just discovered a bug that needs fixing. You can run&lt;br /&gt;&lt;br /&gt;./adb logcat&lt;br /&gt;&lt;br /&gt;in the console to generate the relevant logs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Running specific commands in monkey&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The monkey tool can also be used to run a specific set of commands on the application.  However it is easier to use the monkeyrunner for this purpose.&lt;br /&gt;&lt;br /&gt;On the connected device (to run on emulator simply replace -d with -e)&lt;br /&gt;&lt;br /&gt;./adb -d shell monkey -p package_name --port 1080 &amp;amp;&lt;br /&gt;./adb -d forward tcp:1080 tcp:1080&lt;br /&gt;telnet localhost 1080&lt;br /&gt;&lt;br /&gt;Now the following will be printed on cmd line..&lt;br /&gt;&lt;br /&gt;Trying ::1...&lt;br /&gt;Trying 127.0.0.1...&lt;br /&gt;Connected to localhost.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;&lt;br /&gt;Now you can type in your instructions&lt;br /&gt;&lt;br /&gt;&amp;gt;tap 150 200&lt;br /&gt;&lt;br /&gt;you can write all instruction into a script (script.txt) as below..&lt;br /&gt;&lt;br /&gt;# monkey&lt;br /&gt;tap 100 180&lt;br /&gt;type 123&lt;br /&gt;tap 100 280&lt;br /&gt;press DEL&lt;br /&gt;press DEL&lt;br /&gt;press DEL&lt;br /&gt;press DEL&lt;br /&gt;press DEL&lt;br /&gt;press DEL&lt;br /&gt;press DEL&lt;br /&gt;press DEL&lt;br /&gt;type -460.3&lt;br /&gt;&lt;br /&gt;now run..&lt;br /&gt;&lt;br /&gt;./adb -d shell monkey -p package_name --port 1080 &amp;amp;&lt;br /&gt;./adb -d forward tcp:1080 tcp:1080&lt;br /&gt;nc localhost 1080 &amp;lt; script.txt&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. monkeyrunner&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The monkeyrunner tool is an API for writing automated UI tests. You can use it to write specific scripts that run a series of commands and inspects the output by taking screenshots etc. The android SDK includes two special scripts written using monkeyrunner which help in running automated UI tests. The scripts are..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.megaupload.com/?d=VSFL36Y8"&gt;monkey_recorder.py&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.megaupload.com/?d=AFJZ88NX"&gt;monkey_playback.py&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Copy these scripts to /tools folder in the android sdk. Set the console path to the tools directory. Open up the application on the emulator.&lt;br /&gt;&lt;br /&gt;You can run the recorder as follows..&lt;br /&gt;&lt;br /&gt;./monkeyrunner monkey_recorder.py&lt;br /&gt;&lt;br /&gt;Below is a screenshot of monkey_recorder recording actions for calculator.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-jQi90OZK2uQ/TomDBbhS39I/AAAAAAAAAXY/37XbawqDTHM/s1600/Screen%2Bshot%2B2011-10-03%2Bat%2B3.00.50%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 245px;" src="http://3.bp.blogspot.com/-jQi90OZK2uQ/TomDBbhS39I/AAAAAAAAAXY/37XbawqDTHM/s320/Screen%2Bshot%2B2011-10-03%2Bat%2B3.00.50%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5659198467358253010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Use 'Export Actions' button to export the set of actions into a script (eg: calc.mr)&lt;br /&gt;&lt;br /&gt;now run the cal.mr script on a connected device as follows.. (first make sure the emulator is shut down)&lt;br /&gt;&lt;br /&gt;./monkeyrunner monkey_playback.py calc.mr&lt;br /&gt;&lt;br /&gt;For playback to run properly you need to take precautions of setting the correct wait times and using the correct press, fling, type methods in the recorder.&lt;br /&gt;&lt;br /&gt;Conclusion: Android has a good collection of tools meant to enable UI test automation. However they still have a lot more room for improvement especially in terms of ease of use and efficiency.&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developer.android.com/guide/developing/tools/monkey.html"&gt;http://developer.android.com/guide/developing/tools/monkey.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html"&gt;http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html&lt;/a&gt;&lt;br /&gt;Android Application Testing Guide - Diego Torres Milano&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-8822220837293680991?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/8822220837293680991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/09/android-application-ui-testing-with.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8822220837293680991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8822220837293680991'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/09/android-application-ui-testing-with.html' title='Android Application UI Testing (with monkey and monkeyrunner)'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-jQi90OZK2uQ/TomDBbhS39I/AAAAAAAAAXY/37XbawqDTHM/s72-c/Screen%2Bshot%2B2011-10-03%2Bat%2B3.00.50%2BPM.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-435178386258886749</id><published>2011-08-19T08:55:00.000-07:00</published><updated>2011-10-03T03:01:51.540-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>My take on Android vs iPhone development</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://lh5.googleusercontent.com/_scRUpc5DoY0/TXJvCawZKaI/AAAAAAAAJEU/t1EUfdhH468/android%20ios%20battle%20funny.jpg"&gt;&lt;img style="cursor: pointer; width: 500px; height: 313px;" src="https://lh5.googleusercontent.com/_scRUpc5DoY0/TXJvCawZKaI/AAAAAAAAJEU/t1EUfdhH468/android%20ios%20battle%20funny.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As a mobile application developer I would like to share my experience with iOS and Android so far. At the end of this post I will rate my developer experience with each of the OSs and announce my favorite mobile OS!&lt;br /&gt;&lt;br /&gt;I began my mobile application development experience with iOS. Coming from a Java programming background venturing into the murky waters of Objective C was a bit scary at first (I'd never even heard of Objective C until I looked into iOS). All I knew when starting off with Objective C was that it was a language similar to C and C++. That meant having to deal with memory pointers and no one who is a fan of Java and its garbage collector likes meddling with pointers again. Fortunately iOS apps are built around the MVC (Model-View-Controller design pattern), which meant there were standardized ways for dealing with pointers, you just needed to follow some routines and rules. But it isn't always easy.&lt;br /&gt;&lt;br /&gt;But once I had got the hang of Objective C syntax and the Apple iOS API, things became a lot more easier. My favorite part of iOS development was using Interface Builder. The latest version of Xcode has this interface designer built into Xcode and it makes designing great looking iphone apps a breeze! Some developers prefer designing their UIs programmatically because that allows them to reuse design code in multiple apps but using interface builder makes the task of UI design much faster! The iOS API has practically every UI widget you can want on an app already available. So that makes your UI design task so much easier. I personally think the iOS UI widgets are much prettier than the current android widgets. Maybe because Steve Jobs is more peculiar about UI design than the folks at Google. So in conclusion for my take on iOS development I would say that what I like about it is the ease with which I can develop better looking UIs.&lt;br /&gt;&lt;br /&gt;As for Android development I started off here doing an experimental app (which is now on the Android Market!:) ). My biggest complaint when trying out Android development was that at the time I started off I didn't own an Android handset. This meant that I had to run all my code on the emulator. When I started developing I was using the android api8.  And gosh did it have the slowest emulator ever! Thankfully Android has since then increased their emulator speeds. But its still much slower than running on an actual device. Unlike the iPhone simulator, which simulates an iOS environment running on Mac h/w, the Android emulator emulates the entire Android device enviroment (including the h/w enviroment : SD card size, memory capacity etc.). So you can't blame it for being slow. But as long as you forget the emulator and stick to using a device for running your code during development, you will have a much happier android dev experience:)&lt;br /&gt;&lt;br /&gt;The next thing that bugged me when starting off Android development was their UI designer. I used Eclipse along with the Android plugin for development. And even the currently available plugin is quite disappointing when it comes to UI designing. If your first mobile dev experience was with Android then this may not be that big a deal. You will just learn to navigate UI design using XML and not complain about it. But if you were an Interface Builder fan switching from iOS development to Android then you will be thoroughly disappointed. Seems Android folks are developing a WYSIWYG editor for the eclipse plugin though, this should provide a better rival for Interface Builder. Also I would rate the currently available UI widgets in iOS as better than Android ones in terms of their design and also ease of use in the code. Those cons aside developing Android apps is a joy because you are dealing with Java here. If you have some development experience in Java then there is no more learning required. Best of all the garbage collector handles all the nasty memory management details for you.&lt;br /&gt;&lt;br /&gt;So here's my final rating.. Please note that the ratings below are entirely based on my own personal evalution.&lt;br /&gt;&lt;br /&gt;1. UI design&lt;br /&gt;iOS - 9/10&lt;br /&gt;Android - 7/10&lt;br /&gt;&lt;br /&gt;2. Ease of setting up dev environment&lt;br /&gt;iOS - 3/10 (you need to get a mac first! and buy an iphone too or just forget about it!)&lt;br /&gt;Android - 10/10 (can be done on a pc running any OS. and all dev tools required are freely available over the interent).&lt;br /&gt;&lt;br /&gt;3. Deployment&lt;br /&gt;iOS - 6/10 (the process of deployment is so cumbersome and restricted. but on the plus side this ensures that your app is of the best possible quality. still i think Apple can do more to simplify the deployment process)&lt;br /&gt;Android - 5/10 (deploying an android app to the market is a breeze. but this really lowers the quality of apps out there)&lt;br /&gt;&lt;br /&gt;4. Developing for different devices&lt;br /&gt;iOS - 10/10 ( fixed screen sizes.)&lt;br /&gt;Android - 2/10 ( varying screen sizes. different device hardwares. compatibility nightmare!)&lt;br /&gt;&lt;br /&gt;5. Development language&lt;br /&gt;iOS - 5/10 (strange and repetitive syntax.)&lt;br /&gt;Java - 7/10 (Java is easy to develop with but runs slower)&lt;br /&gt;&lt;br /&gt;6. Available resources for developers&lt;br /&gt;iOS - 7/10 (the NDA delays developers from getting the info they need to support upcoming iOS releases in their apps)&lt;br /&gt;Android - 10/10 (opensource. hurray!)&lt;br /&gt;&lt;br /&gt;7. Debugging&lt;br /&gt;iOS - 4/10 (can be a total nightmare even with tools like NSZombie setup. write perfect code or suffer!)&lt;br /&gt;Android - 9/10 ( except for the occasional system crashes which leave baffling messages android dev tools are quick to point out exactly where you made a mistake in your code)&lt;br /&gt;&lt;br /&gt;Some simple arithmetic results in Android being placed as the winner with 7.1429/10 vs 6.2857/10 for iOS.&lt;br /&gt;&lt;br /&gt;For more developer takes on Android vs iOS please see:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://whereoscope.wordpress.com/2010/12/07/android-vs-ios-a-developers-perspective/"&gt;http://whereoscope.wordpress.com/2010/12/07/android-vs-ios-a-developers-perspective/&lt;/a&gt;&lt;a href="http://nfarina.com/post/8239634061/ios-to-android"&gt;&lt;br /&gt;&lt;br /&gt;http://nfarina.com/post/8239634061/ios-to-android&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-435178386258886749?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/435178386258886749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/08/my-take-on-android-vs-iphone.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/435178386258886749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/435178386258886749'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/08/my-take-on-android-vs-iphone.html' title='My take on Android vs iPhone development'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/_scRUpc5DoY0/TXJvCawZKaI/AAAAAAAAJEU/t1EUfdhH468/s72-c/android%20ios%20battle%20funny.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-2205336802997790811</id><published>2011-08-09T22:49:00.000-07:00</published><updated>2011-10-03T03:02:56.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>Making sense of crash logs from iPhone apps</title><content type='html'>Ohoh your iphone app just crashed! One way to debug the crash is by inspecting the crash log. Here's how..&lt;br /&gt;&lt;br /&gt;1. Before releasing the application for iphone you must first build your app for Archiving on xcode.&lt;br /&gt;This will generate both the ProjectName.app and ProjectName.app.dSYM files. You will see the generated ProjectName.app file in the target section of the project in xcode. Selecting the 'Show in Finder' option(right click target ProjectName.app file) will reveal the location of both these required files. Copy these files to a new folder named Project_CrashDebugging.&lt;br /&gt;&lt;br /&gt;2. Sync your iphone using itunes. Now your applications crash logs will have been copied to the computer. Generally you can find them at the following path your_home_folder_name/Library/Logs/CrashReporter/MobileDevice/your_device_name&lt;br /&gt;&lt;br /&gt;3. Select the crash log from your project and copy it to Project_CrashDebugging folder you created earlier.&lt;br /&gt;&lt;br /&gt;4. To demystify the crash log you will need to use the symbolicatecrash application. Typically it will be located at the following path /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/. If not find it in your hard drive by searching for it using the locate function in console. Once you have found it copy it to one of your computers Path location (check you path locations using echo $PATH in console), generally copying /usr/bin will do.  Now you can call symbolicatecrash directly from the console.&lt;br /&gt;&lt;br /&gt;5. cd to your Project_CrashDebugging folder and now call..&lt;br /&gt;&lt;br /&gt;symbolicatecrash crash_log_name ProjectName.app.dSYM &amp;gt; filename.crash&lt;br /&gt;&lt;br /&gt;now you will have created a symbolicated filename.crash file which you can refer for debugging&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Given below are parts of an example application I use to try out symbolicatecrash.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;from ExampleViewController.m&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- (void)viewDidLoad&lt;br /&gt;{&lt;br /&gt;   NSString *test = [[[NSString alloc] initWithFormat:@"Test"] autorelease];&lt;br /&gt;   [test release];&lt;br /&gt; &lt;br /&gt;   NSLog(@"Test is: %@", test);//calling test after release will result in a crash&lt;br /&gt;   [super viewDidLoad];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;from initial crash log..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Date/Time:       2011-08-10 11:09:33.253 +0530&lt;br /&gt;OS Version:      iPhone OS 5.0 (9A5288d)&lt;br /&gt;Report Version:  104&lt;br /&gt;&lt;br /&gt;Exception Type:  EXC_BAD_ACCESS (SIGSEGV)&lt;br /&gt;Exception Codes: KERN_INVALID_ADDRESS at 0x576e6f69&lt;br /&gt;Crashed Thread:  0&lt;br /&gt;&lt;br /&gt;Thread 0 name:  Dispatch queue: com.apple.main-thread&lt;br /&gt;Thread 0 Crashed:&lt;br /&gt;0   libobjc.A.dylib                   0x36c85fc2 0x36c82000 + 16322&lt;br /&gt;1   Foundation                        0x35238bb8 0x3522f000 + 39864&lt;br /&gt;2   CoreFoundation                    0x354e3d06 0x35454000 + 589062&lt;br /&gt;3   CoreFoundation                    0x35477d24 0x35454000 + 146724&lt;br /&gt;4   CoreFoundation                    0x354984b0 0x35454000 + 279728&lt;br /&gt;5   Foundation                        0x3524c914 0x3522f000 + 121108&lt;br /&gt;6   Foundation                        0x3524c8b4 0x3522f000 + 121012&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;7   Example                           0x000027a4 0x1000 + 6052&lt;/span&gt;&lt;br /&gt;8   UIKit                             0x34a3c124 0x349ff000 + 250148&lt;br /&gt;9   UIKit                             0x34a1777a 0x349ff000 + 100218&lt;br /&gt;10  UIKit                             0x34b6d288 0x349ff000 + 1499784&lt;br /&gt;11  Example                           0x00002538 0x1000 + 5432&lt;br /&gt;12  UIKit                             0x34a17f1c 0x349ff000 + 102172&lt;br /&gt;13  UIKit                             0x34a070e6 0x349ff000 + 32998&lt;br /&gt;14  UIKit                             0x34a06032 0x349ff000 + 28722&lt;br /&gt;15  UIKit                             0x34a05ad0 0x349ff000 + 27344&lt;br /&gt;16  UIKit                             0x34a055ea 0x349ff000 + 26090&lt;br /&gt;17  GraphicsServices                  0x33f27ef4 0x33f23000 + 20212&lt;br /&gt;18  CoreFoundation                    0x354d79c4 0x35454000 + 539076&lt;br /&gt;19  CoreFoundation                    0x354d7966 0x35454000 + 538982&lt;br /&gt;20  CoreFoundation                    0x354d658c 0x35454000 + 533900&lt;br /&gt;21  CoreFoundation                    0x35478036 0x35454000 + 147510&lt;br /&gt;22  CoreFoundation                    0x35477efe 0x35454000 + 147198&lt;br /&gt;23  UIKit                             0x34a03758 0x349ff000 + 18264&lt;br /&gt;24  UIKit                             0x34a0098a 0x349ff000 + 6538&lt;br /&gt;25  Example                           0x000024ba 0x1000 + 5306&lt;br /&gt;26  Example                           0x00002478 0x1000 + 5240&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;from symbolicated crash log..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Date/Time:       2011-08-10 11:09:33.253 +0530&lt;br /&gt;OS Version:      iPhone OS 5.0 (9A5288d)&lt;br /&gt;Report Version:  104&lt;br /&gt;&lt;br /&gt;Exception Type:  EXC_BAD_ACCESS (SIGSEGV)&lt;br /&gt;Exception Codes: KERN_INVALID_ADDRESS at 0x576e6f69&lt;br /&gt;Crashed Thread:  0&lt;br /&gt;&lt;br /&gt;Thread 0 name:  Dispatch queue: com.apple.main-thread&lt;br /&gt;Thread 0 Crashed:&lt;br /&gt;0   libobjc.A.dylib                   0x36c85fc2 0x36c82000 + 16322&lt;br /&gt;1   Foundation                        0x35238bb8 0x3522f000 + 39864&lt;br /&gt;2   CoreFoundation                    0x354e3d06 0x35454000 + 589062&lt;br /&gt;3   CoreFoundation                    0x35477d24 0x35454000 + 146724&lt;br /&gt;4   CoreFoundation                    0x354984b0 0x35454000 + 279728&lt;br /&gt;5   Foundation                        0x3524c914 0x3522f000 + 121108&lt;br /&gt;6   Foundation                        0x3524c8b4 0x3522f000 + 121012&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;7   Example                           0x000027a4 -[ExampleViewController viewDidLoad] (ExampleViewController.m:35)&lt;/span&gt;&lt;br /&gt;8   UIKit                             0x34a3c124 0x349ff000 + 250148&lt;br /&gt;9   UIKit                             0x34a1777a 0x349ff000 + 100218&lt;br /&gt;10  UIKit                             0x34b6d288 0x349ff000 + 1499784&lt;br /&gt;11  Example                           0x00002538 -[ExampleAppDelegate application:didFinishLaunchingWithOptions:] (ExampleAppDelegate.m:24)&lt;br /&gt;12  UIKit                             0x34a17f1c 0x349ff000 + 102172&lt;br /&gt;13  UIKit                             0x34a070e6 0x349ff000 + 32998&lt;br /&gt;14  UIKit                             0x34a06032 0x349ff000 + 28722&lt;br /&gt;15  UIKit                             0x34a05ad0 0x349ff000 + 27344&lt;br /&gt;16  UIKit                             0x34a055ea 0x349ff000 + 26090&lt;br /&gt;17  GraphicsServices                  0x33f27ef4 0x33f23000 + 20212&lt;br /&gt;18  CoreFoundation                    0x354d79c4 0x35454000 + 539076&lt;br /&gt;19  CoreFoundation                    0x354d7966 0x35454000 + 538982&lt;br /&gt;20  CoreFoundation                    0x354d658c 0x35454000 + 533900&lt;br /&gt;21  CoreFoundation                    0x35478036 0x35454000 + 147510&lt;br /&gt;22  CoreFoundation                    0x35477efe 0x35454000 + 147198&lt;br /&gt;23  UIKit                             0x34a03758 0x349ff000 + 18264&lt;br /&gt;24  UIKit                             0x34a0098a 0x349ff000 + 6538&lt;br /&gt;25  Example                           0x000024ba main (main.m:14)&lt;br /&gt;26  Example                           0x00002478 start + 32&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-2205336802997790811?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/2205336802997790811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/08/making-sense-of-crash-logs-from-iphone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/2205336802997790811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/2205336802997790811'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/08/making-sense-of-crash-logs-from-iphone.html' title='Making sense of crash logs from iPhone apps'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-1098315711884916837</id><published>2011-06-01T07:38:00.000-07:00</published><updated>2011-10-03T03:03:41.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>Screenshots of feed reader application</title><content type='html'>Here are screenshots of the feed reader application I just completed. Hopefully this will be in the market soon! The application uses a bayesian based ranking algorithm to rank feed items according to their popularity among other application users before displaying them (ie: most popular items appear first). It's a simple tab based application with a setup tab for configuring feeds, a tab to display ranked feed items and a bookmarks tab for viewing bookmarked feed items.&lt;br /&gt;&lt;br /&gt;It's the last month of my AIESEC internship here in Lisbon, Portugal. I'm going to miss life in Lisbon when I return home, but I'm looking forward to going home again after 6 months!:) Wonder if Colombo has changed in those 6 months..&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-_U-PRvByxlA/Tfs61nHA36I/AAAAAAAAASs/dvTC5YDah4I/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B3.30.16%2BPM.png"&gt;&lt;img src="http://4.bp.blogspot.com/-_U-PRvByxlA/Tfs61nHA36I/AAAAAAAAASs/dvTC5YDah4I/s320/Screen%2Bshot%2B2011-06-16%2Bat%2B3.30.16%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5619149652780703650" style="cursor: pointer; width: 212px; height: 320px;" border="0" /&gt;&lt;/a&gt;   &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-IJzWpZ7aEDQ/Tfs61hSctFI/AAAAAAAAAS0/__oSe6VUwoA/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B3.31.13%2BPM.png"&gt;&lt;img src="http://4.bp.blogspot.com/-IJzWpZ7aEDQ/Tfs61hSctFI/AAAAAAAAAS0/__oSe6VUwoA/s320/Screen%2Bshot%2B2011-06-16%2Bat%2B3.31.13%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5619149651218052178" style="cursor: pointer; width: 210px; height: 320px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-IJzWpZ7aEDQ/Tfs61hSctFI/AAAAAAAAAS0/__oSe6VUwoA/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B3.31.13%2BPM.png"&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-slugY1d-0xY/Tfs615-cxPI/AAAAAAAAAS8/d_brs205_Y0/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B3.31.39%2BPM.png"&gt;&lt;img src="http://1.bp.blogspot.com/-slugY1d-0xY/Tfs615-cxPI/AAAAAAAAAS8/d_brs205_Y0/s320/Screen%2Bshot%2B2011-06-16%2Bat%2B3.31.39%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5619149657845056754" style="cursor: pointer; width: 210px; height: 320px;" border="0" /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-XtoUl1uWK-k/Tfs62XFE0VI/AAAAAAAAATE/3CRWDImxV3Y/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B3.32.04%2BPM.png"&gt;&lt;img src="http://3.bp.blogspot.com/-XtoUl1uWK-k/Tfs62XFE0VI/AAAAAAAAATE/3CRWDImxV3Y/s320/Screen%2Bshot%2B2011-06-16%2Bat%2B3.32.04%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5619149665657475410" style="cursor: pointer; width: 210px; height: 320px;" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;                            &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-JcGpBT9VM_o/Tfs62RIk7jI/AAAAAAAAATM/PrdxfydM4Zs/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B4.00.06%2BPM.png"&gt;&lt;img src="http://3.bp.blogspot.com/-JcGpBT9VM_o/Tfs62RIk7jI/AAAAAAAAATM/PrdxfydM4Zs/s320/Screen%2Bshot%2B2011-06-16%2Bat%2B4.00.06%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5619149664061550130" style="cursor: pointer; width: 211px; height: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-1098315711884916837?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/1098315711884916837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/06/screenshots-feed-reader-application.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1098315711884916837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1098315711884916837'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/06/screenshots-feed-reader-application.html' title='Screenshots of feed reader application'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-_U-PRvByxlA/Tfs61nHA36I/AAAAAAAAASs/dvTC5YDah4I/s72-c/Screen%2Bshot%2B2011-06-16%2Bat%2B3.30.16%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-4720329652897824220</id><published>2011-04-08T07:56:00.000-07:00</published><updated>2011-10-03T03:06:25.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>Colombo Stock Exchange iPhone Application</title><content type='html'>&lt;div style="text-align: justify;"&gt;This is a simple application I did while learning iphone application programming. Since I don't have my own apple developer account ( that costs $99 a year ) I thought I'll just mention it here and share the link to the built application which can be run on the simulator.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-RyusClipk14/TZ8nrk3gn_I/AAAAAAAAARE/IMCxnAZVC90/s1600/Screen%2Bshot%2B2011-04-08%2Bat%2B3.58.11%2BPM.png"&gt;&lt;img src="http://4.bp.blogspot.com/-RyusClipk14/TZ8nrk3gn_I/AAAAAAAAARE/IMCxnAZVC90/s320/Screen%2Bshot%2B2011-04-08%2Bat%2B3.58.11%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5593232891801804786" style="cursor: pointer; width: 162px; height: 320px; " border="0" /&gt;&lt;/a&gt;   &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-nAROls_5b-Q/TZ8n0B_Ic8I/AAAAAAAAARM/32zWVmPpANk/s1600/Screen%2Bshot%2B2011-04-08%2Bat%2B3.58.37%2BPM.png"&gt;&lt;img src="http://2.bp.blogspot.com/-nAROls_5b-Q/TZ8n0B_Ic8I/AAAAAAAAARM/32zWVmPpANk/s320/Screen%2Bshot%2B2011-04-08%2Bat%2B3.58.37%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5593233037057356738" style="cursor: pointer; width: 159px; height: 320px; " border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Application: &lt;a href="http://rapidshare.com/files/456484003/B7638CC9-1C26-47E1-8AC4-356F7FB3D12F.zip"&gt;http://rapidshare.com/files/456484003/B7638CC9-1C26-47E1-8AC4-356F7FB3D12F.zip&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How to run compiled binary on iphone simulator:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://forums.macrumors.com/showthread.php?t=547557"&gt;http://forums.macrumors.com/showthread.php?t=547557&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/5124271008464716872-4720329652897824220?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/4720329652897824220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/04/colombo-stock-exchange-iphone.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4720329652897824220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4720329652897824220'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/04/colombo-stock-exchange-iphone.html' title='Colombo Stock Exchange iPhone Application'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-RyusClipk14/TZ8nrk3gn_I/AAAAAAAAARE/IMCxnAZVC90/s72-c/Screen%2Bshot%2B2011-04-08%2Bat%2B3.58.11%2BPM.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-190093119105743136</id><published>2011-03-26T14:43:00.000-07:00</published><updated>2011-03-26T15:18:33.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seamonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='GSoC2011'/><title type='text'>Mozilla in Google Summer of Code 2011</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://docs.moodle.org/en/images_en/7/76/gsoc2011_logo.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 155px; height: 103px;" src="http://docs.moodle.org/en/images_en/7/76/gsoc2011_logo.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;GSoC 2011 is here and as always the Mozilla Foundation is a participating project. I really like this year's summer of code logo. The design looks like it's based on the movie TRON.&lt;br /&gt;&lt;br /&gt;Mozilla's summer of code projects for this year can be found here:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://wiki.mozilla.org/Community:SummerOfCode11"&gt;https://wiki.mozilla.org/Community:SummerOfCode11&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Seamonkey projects:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://wiki.mozilla.org/Community:SummerOfCode11#SeaMonkey"&gt;https://wiki.mozilla.org/Community:SummerOfCode11#SeaMonkey&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are two great projects for Seamonkey and both are for the mailnews component. I wish the very best of luck for the students who apply for this year! I really learned a lot from my summer of code with Seamonkey last year:)&lt;br /&gt;&lt;br /&gt;Another interesting news is that one of my friends who encouraged me to take part in summer of code last year is a gsoc mentor for this year! Congratulations &lt;a href="http://kkpradeeban.blogspot.com/"&gt;Pradeeban&lt;/a&gt;!:) Have a great summer of code!:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-190093119105743136?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/190093119105743136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2011/03/mozilla-in-google-summer-of-code-2011.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/190093119105743136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/190093119105743136'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2011/03/mozilla-in-google-summer-of-code-2011.html' title='Mozilla in Google Summer of Code 2011'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-749362017745590598</id><published>2010-10-12T02:55:00.000-07:00</published><updated>2011-10-03T03:05:28.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fennec'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Run Fennec on the Android Emulator</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mozillalinks.org/wp/wp-content/uploads/2008/07/fennec_logo.jpg"&gt;&lt;img style="cursor: pointer; width: 169px; height: 103px;" src="http://mozillalinks.org/wp/wp-content/uploads/2008/07/fennec_logo.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I was curious about Fennec ( Mozilla's mobile browser ) but since I don't own an android phone ( not yet.. ) I couldn't try it out. I recently discovered that Fennec can be made to run on the Android emulator, and here's how..&lt;br /&gt;&lt;br /&gt;Note: My OS is Lucid Lynx and all instructions are as per my OS.&lt;br /&gt;&lt;br /&gt;Here's how you make a Fennec build that runs on the Android emulator:&lt;br /&gt;&lt;br /&gt;1. Install Android SDK ( you need to have JDK 5 or 6 )&lt;br /&gt;&lt;br /&gt;you can get the Android SDK from here : &lt;a href="http://developer.android.com/sdk/index.html"&gt;http://developer.android.com/sdk/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;unzip the tar ball in a suitable location&lt;br /&gt;cd android-sdk-linux_x86/tools&lt;br /&gt;./android&lt;br /&gt;&lt;br /&gt;This will open up the Android SDK and AVD manager. Here you should install the SDK Platform Android 2.2, API 8 and setup a new AVD ( Android Virtual Device ) with it as the Target.&lt;br /&gt;&lt;br /&gt;now you can run the emulator inside the tools directory with..&lt;br /&gt;&lt;br /&gt;./emulator -avd name_of_your_avd&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_g29oT-WNvEQ/TLakz4ZJKlI/AAAAAAAAANw/5JPTkndRr3U/s1600/Android.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 230px;" src="http://1.bp.blogspot.com/_g29oT-WNvEQ/TLakz4ZJKlI/AAAAAAAAANw/5JPTkndRr3U/s320/Android.png" alt="" id="BLOGGER_PHOTO_ID_5527786803861989970" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;check &lt;a href="http://developer.android.com/sdk/installing.html"&gt;http://developer.android.com/sdk/installing.html&lt;/a&gt; for detailed installation instructions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. make a Fennec build that will run on the emulator&lt;br /&gt;&lt;br /&gt;currently available Fennec nightlies wont run on the emulator so you need to build a version that will, by using the correct build instructions in the .mozconfig file. Here's how..&lt;br /&gt;&lt;br /&gt;- First download the Android NDK and unzip it in the same location you unzipped the SDK.&lt;br /&gt;&lt;pre&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/mobile/source/android-ndk-r4c-0moz3.tar.bz2" class="external free" rel="nofollow"&gt;http://ftp.mozilla.org/pub/mozilla.org/mobile/source/android-ndk-r4c-0moz3.tar.bz2&lt;/a&gt; &lt;/pre&gt;&lt;br /&gt;- Clone the Fennec repository inside your mozilla-central repo ( cd to mozilla code folder and run&lt;br /&gt;&lt;br /&gt;hg clone &lt;a href="http://hg.mozilla.org/mobile-browser" class="external free" rel="nofollow"&gt;http://hg.mozilla.org/mobile-browser&lt;/a&gt; mobile )&lt;br /&gt;&lt;br /&gt;If you  don't already have a mozilla-central code repository you will need to get it first and setup mozilla build requirements on your system. See &lt;a href="https://developer.mozilla.org/En/Simple_Firefox_build"&gt;https://developer.mozilla.org/En/Simple_Firefox_build&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;- Create the following .mozconfig file inside your mozilla-central code directory&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.mozilla.org/816511"&gt;http://pastebin.mozilla.org/1158636&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;( make sure to set the correct paths for the Android SDK, NDK and tools directories)&lt;br /&gt;&lt;br /&gt;- run sudo make -f client.mk inside your mozilla-central repo.&lt;br /&gt;&lt;br /&gt;(Fennec took about an hour and a half to build:I)&lt;br /&gt;&lt;br /&gt;- When build is complete cd into the newly created objdir-android folder and run sudo make package. This will create a fenneck.apk file inside the objdir-android/embedding/android folder.&lt;br /&gt;&lt;br /&gt;-Now copy the fennec.apk file into the android-sdk-linux_x86/tools folder and run&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt;emulator -avd name_of_your_avd&lt;/tt&gt;&lt;tt&gt;&lt;span style="font-family:Georgia,serif;"&gt; &lt;/span&gt;-partition-size 256 -memory 512&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;-While the emulator is running, in a new terminal install the fennec.apk in the emulator using&lt;br /&gt;&lt;br /&gt;android-sdk-linux_x86/tools/adb install fennec.apk&lt;br /&gt;&lt;br /&gt;The installation will print 'Success' confirming Fennec has been installed on your emulator!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_g29oT-WNvEQ/TLalIEoZXvI/AAAAAAAAAN4/bPFreTrhRoI/s1600/fennec1.png"&gt;&lt;img style="cursor: pointer; width: 216px; height: 320px;" src="http://2.bp.blogspot.com/_g29oT-WNvEQ/TLalIEoZXvI/AAAAAAAAAN4/bPFreTrhRoI/s320/fennec1.png" alt="" id="BLOGGER_PHOTO_ID_5527787150744575730" border="0" /&gt;&lt;/a&gt;  &lt;a href="http://4.bp.blogspot.com/_g29oT-WNvEQ/TLanl6ycwgI/AAAAAAAAAOA/T5lXIOTyIQU/s1600/fennec3.png"&gt;&lt;img style="cursor: pointer; width: 214px; height: 320px;" src="http://4.bp.blogspot.com/_g29oT-WNvEQ/TLanl6ycwgI/AAAAAAAAAOA/T5lXIOTyIQU/s320/fennec3.png" alt="" id="BLOGGER_PHOTO_ID_5527789862521717250" 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/5124271008464716872-749362017745590598?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/749362017745590598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/10/running-fennec-on-android-emulator.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/749362017745590598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/749362017745590598'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/10/running-fennec-on-android-emulator.html' title='Run Fennec on the Android Emulator'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_g29oT-WNvEQ/TLakz4ZJKlI/AAAAAAAAANw/5JPTkndRr3U/s72-c/Android.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-16306244640448321</id><published>2010-09-20T08:39:00.000-07:00</published><updated>2010-09-22T23:35:59.517-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mercurial'/><category scheme='http://www.blogger.com/atom/ns#' term='Bugzilla'/><category scheme='http://www.blogger.com/atom/ns#' term='qimportbz'/><title type='text'>Testing patches from Bugzilla</title><content type='html'>I just started using MQ (Mercurial Queues). Now that I've tried it I can't imagine ever using a mercurial repo without it! I know that sounds a bit cliche, like something out of a commercial, but it's true!&lt;br /&gt;&lt;br /&gt;Here's how to test patches from bugzilla. With MQ you can apply the patches, test them and then remove them with ease if you want to revert back to trunk code. Well the main purpose of MQ is to help with code development so that you can write new patches, edit, update, and remove when needed. But there is also times you want to test someone else's patches, for example from a bug on Bugzilla, in this case too MQ can help.&lt;br /&gt;&lt;br /&gt;How to test patches using MQ.. (updated 23.09.2010)&lt;br /&gt;&lt;br /&gt;- First make sure you have MQ installed.  MQ is a Mercurial extension. Make sure you have MQ setup by following the Mozilla MQ guide ( &lt;a href="https://developer.mozilla.org/en/Mercurial_Queues"&gt;https://developer.mozilla.org/en/Mercurial_Queues&lt;/a&gt; ).&lt;br /&gt;&lt;br /&gt;- Now you can use either method 1 or method 2 below to import the patches to MQ..&lt;br /&gt;&lt;br /&gt;Mtd 1:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;hg qimport -n name-of-patch patch-url &lt;/span&gt;&lt;br /&gt;(patch-url will be the atachment url from bugzilla)&lt;br /&gt;&lt;patchname&gt;&lt;br /&gt;Mtd2:&lt;br /&gt;&lt;br /&gt;A more convenient method is to use the qimportbz extension which will allow you to import patches directly from the Bug# &lt;a href="http://robarnold.org/hg-qimport-my-bugzilla-patch-redux/"&gt;http://robarnold.org/hg-qimport-my-bugzilla-patch-redux/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After setting up qimportbz extension do:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;hg qimport bz://xxxxxx&lt;/span&gt;&lt;br /&gt;(xxxxxx is the bug number on bugzilla)&lt;br /&gt;&lt;br /&gt;When a list of patches is displayed enter the numbers of the patches you want with a space in between. The first patch applied will be named with the bugnumber (you can rename this later in the .hg/patches folder). The qimport extension will attempt to name all the following patches with the same name and give the error..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A patch file named 'bug-xxxxxx.diff' already exists in your patch directory. Rename patch 'abcdef' (yyyyyy) (r)/overwrite (o)?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hit enter and give a new name for the patch. Continue for all the remaining patches until importing is complete.&lt;br /&gt;&lt;br /&gt;-After importing the patch(es)..&lt;br /&gt;&lt;br /&gt;&lt;/patchname&gt;&lt;span style="font-weight: bold;"&gt;hg qpush name-of-patch&lt;/span&gt;&lt;br /&gt;(apply the patch to MQ. you can use -a option to apply all the patches at once)&lt;br /&gt;&lt;br /&gt;Test the patch(es)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;hg qpop&lt;/span&gt;&lt;br /&gt;(removes patches from the top of the queue)&lt;br /&gt;&lt;patchname&gt;&lt;br /&gt;For a quick lookat MQ commands see &lt;a href="http://mercurial.selenic.com/wiki/MqExtension"&gt;http://mercurial.selenic.com/wiki/MqExtension&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/patchname&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-16306244640448321?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/16306244640448321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/09/testing-patches-from-bugzilla.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/16306244640448321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/16306244640448321'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/09/testing-patches-from-bugzilla.html' title='Testing patches from Bugzilla'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-8418737330011889258</id><published>2010-08-24T03:29:00.000-07:00</published><updated>2010-09-14T04:21:08.366-07:00</updated><title type='text'>Talking  to your browser</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://addons.mozilla.org/img/uploads/previews/thumbs/48/48065.png?modified=1281379226"&gt;&lt;img style="cursor: pointer; width: 200px; height: 74px;" src="https://addons.mozilla.org/img/uploads/previews/thumbs/48/48065.png?modified=1281379226" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;I stumbled upon a really interesting firefox addon recently called 'Firesay'. The 'Firesay' addon is a first step towards enabling voice commands in the Firefox browser. It has a limited set of voice commands. What worked for me were 'Switch' (to switch to left or right tab), 'Close Tab', 'Multi-task' ( to open a website in the background - worked for me for CNN and Facebook), 'Page Up/Down' and 'Scroll Up/Down'.&lt;br /&gt;&lt;br /&gt;I was curious to see if it would work in SeaMonkey too so I tweaked the extension which I downloaded from here &lt;a href="http://bit.ly/bv0e2r"&gt;http://bit.ly/bv0e2r&lt;/a&gt; and tried it in SeaMonkey. Only Scroll and Page Up/Down worked for me in SM and the response was bit slower than on Firefox. Still it seemed like something really exciting to experiment with. What I really want in SM is voice commands to switch between each of the apps in the SM suite. So that for example when I'm browsing the Internet I could simply say 'Chatzilla' and switch to Chatzilla and then say 'Browser' to switch back to the browser or 'Mail' to switch to Mail. Right now I'm planning on using the Firesay addon as a guide towards achieving that.&lt;br /&gt;&lt;br /&gt;Firesay pluses&lt;br /&gt;&lt;br /&gt;- It doesn't need training. It has a few standard commands built in. This is the concept of Voice Browsing where you have multiple users and a limited vocabulary.&lt;br /&gt;&lt;br /&gt;- It works in the presence of noise even. I used the headset microphone for testing with my favorite radio station (http://www.tnlrocks.com/listen_live/player.html) playing in the browser and still it picked up my commands without any mistakes.&lt;br /&gt;&lt;br /&gt;Firesay minuses&lt;br /&gt;&lt;br /&gt;- It only works in Windows because it utilizes the built in Speech recognition software of Windows.&lt;br /&gt;&lt;br /&gt;I'm bit surprised Mozilla hasn't made more progress in Voice Browsing though. Seems Opera is ahead in the game with Opera Voice but unlike Firesay you need to press a button to activate the listening every time you use it. Opera also has gesture recognition for browsing which may be intended to provide easy access to the handicapped. Voice commands seems the more natural way of communicating with a computer to me though. I'll let you be the judge of that &lt;a href="http://www.youtube.com/watch?v=kkNxbyp6thM"&gt;http://www.youtube.com/watch?v=kkNxbyp6thM&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-8418737330011889258?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/8418737330011889258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/08/talking-to-your-browser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8418737330011889258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8418737330011889258'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/08/talking-to-your-browser.html' title='Talking  to your browser'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-4970760710329912373</id><published>2010-08-10T12:13:00.000-07:00</published><updated>2010-08-15T11:26:28.498-07:00</updated><title type='text'>MailNews Sync 0.3.5 - Sync feed and newsgroup headers in Seamonkey</title><content type='html'>It's pencils down week in GSoC 2010 and MailNews Sync for Seamonkey has reached version 0.3.5 on AMO.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MailNews Sync 0.3.5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-Setting up MailNews Sync&lt;br /&gt;&lt;br /&gt;You can install MailNews Sync 0.3.5 from &lt;a href="https://addons.mozilla.org/en-US/seamonkey/addon/207601/"&gt;here&lt;/a&gt;. It requires Firefox Sync addon which you can get from &lt;a href="https://addons.mozilla.org/en-US/seamonkey/addon/10868/"&gt;here&lt;/a&gt; (or you can get the development version I used for testing from &lt;a href="http://code.google.com/p/weave-mailnews-sync/downloads/detail?name=weave-1.5a1pre-dev.xpi&amp;amp;can=2&amp;amp;q="&gt;here&lt;/a&gt;).&lt;br /&gt;MailNews Sync engine has been set to true by default.&lt;br /&gt;&lt;br /&gt;-Initial Sync&lt;br /&gt;&lt;br /&gt;MailNews sync engine will sync all feed headers on first sync. However for syncing newsgroup headers there is a UI option 'Sync Message Headers' which can be selected from the right click menu of any newsgroup (please see image below).  I have included this UI option because newsgroups may contains tens of thousands of messages and having all their headers synced up on initial sync will take a very long time. When sync option is selected for a newsgroup a preference 'mailnews.sync.accounts.fullupload' will be set with the newsgroup's name so that its headers will be synced up at next sync. At the same time another Boolean preference 'mailnews.sync.account.nntp.newsgroup_name' will be set to indicate that sync should be done for that newsgroup.&lt;br /&gt;&lt;br /&gt;If sync doesn't run immediately as expected (the sync scheduler runs periodically depending on the amount of items that are in the queue waiting to be synced to the server) you may force sync to run immediately by clicking on the sync icon in the statusbar or by selecting the 'Sync Now' option in 'Tools' -&gt;'Sync' menu.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_g29oT-WNvEQ/TGL06iuADlI/AAAAAAAAAMc/ni3kv5NOQkc/s1600/newsgp.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 291px;" src="http://3.bp.blogspot.com/_g29oT-WNvEQ/TGL06iuADlI/AAAAAAAAAMc/ni3kv5NOQkc/s320/newsgp.png" alt="" id="BLOGGER_PHOTO_ID_5504230981189504594" border="0" /&gt;  &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_g29oT-WNvEQ/TGL06iuADlI/AAAAAAAAAMc/ni3kv5NOQkc/s1600/newsgp.png"&gt;  &lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_g29oT-WNvEQ/TGL1o_JG9sI/AAAAAAAAAM0/wwfMW11yJ4o/s1600/feeds.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 286px;" src="http://2.bp.blogspot.com/_g29oT-WNvEQ/TGL1o_JG9sI/AAAAAAAAAM0/wwfMW11yJ4o/s320/feeds.png" alt="" id="BLOGGER_PHOTO_ID_5504231779093378754" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If stop-script warning is encountered during sync  please accept continue for now, until this is fixed in a future version.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Up sync&lt;br /&gt;&lt;br /&gt;Up sync happens in batches of 100 records at a time and can take sometime depending on the number of header records you are going to sync. In sync activity log (about:sync-log) a changed header item is indicated as follows,&lt;br /&gt;&lt;pre&gt;Tracker.MailNews     DEBUG Changed item,&lt;br /&gt;ID: 4AF3E769.60505@hfigge.myfqdn.de ,&lt;br /&gt;FLAGGED: true , READ: false , TAG: $label2&lt;br /&gt;&lt;/pre&gt;This will be upsynced to server depending on whether or not duplicate  record is present.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Down Sync (includes caching)&lt;br /&gt;&lt;br /&gt;Down will be indicated by a log record as follows,&lt;br /&gt;&lt;pre&gt;Store.MailNews       DEBUG (10468)Down sync of mailnews header,&lt;br /&gt;ID: 9pqdnYvr3Nr2GYLWnZ2dnUVZ_q1i4p2d@mozilla.org ,&lt;br /&gt;URL: mozilla.support.seamonkey , FLAGGED: true , READ: true ,&lt;br /&gt;TAG: [{"tagId":"$label2","tagName":"Work","tagColor":"#FF9900"}]&lt;br /&gt;&lt;br /&gt;Store.MailNews       DEBUG (10469)Down sync of mailnews header,&lt;br /&gt;ID: 3IadnWFGE7zk_GrXnZ2dnUVZ_vSdnZ2d@mozilla.org ,&lt;br /&gt;URL: mozilla.support.seamonkey , FLAGGED: true , READ: true ,&lt;br /&gt;TAG: [{"tagId":"$label2","tagName":"Work","tagColor":"#FF9900"}]&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;If the feed of newsgroup of that header record is not available on the other pc, the header record will be cached in a file /weave/mailnews/mailnewsReSync.json. On every SM start-up it the MailNews Sync engine will search for those header feed/newsgroup subscriptions and apply them if available. Caching can be turned off using preference 'mailnews.sync.caching.enabled'&lt;br /&gt;&lt;br /&gt;-Syncing Flags, Tags and Read status&lt;br /&gt;&lt;br /&gt;MailNews Sync also supports syncing of custom tags and sync multiple tags applied for a message.&lt;br /&gt;&lt;br /&gt;I also started work on feed and newsgroup subscription sync but since this was not origianlly planned for the project I will work on it later. There is also the possibility of extending MailNews Sync for syncing email headers. More details about the project can be found &lt;a href="http://code.google.com/p/weave-mailnews-sync/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Working with Seamonkey community has been really great so far. It's just a great developer community and #seamonkey is definitely one of the most funny and interesting IRC channels on moznet!:D Seamonkey developers work really hard but they really enjoy the work they do and they are very supportive of newcomers. I am especially thankful to KaiRo (Robert Kaiser) and Iav (Igor Velkov) for mentoring this project and also to everyone in the SM developer community who have promptly responded to my queries and helped me correct my coding errors etc. Hope to write another post about my full GSoC experience later on! There is still 5 days left for firm pencils down date and I hope to get some more testing and bug fixing done before that, then i'll be taking a 3 week break for my end semester exams. Afterward I will get back to SM to work on integrating MailNews Sync into comm-central along with the rest of sync code and to try out some C++ work for a change:)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-4970760710329912373?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/4970760710329912373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/08/mailnews-sync-035-sync-feeds-and.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4970760710329912373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4970760710329912373'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/08/mailnews-sync-035-sync-feeds-and.html' title='MailNews Sync 0.3.5 - Sync feed and newsgroup headers in Seamonkey'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_g29oT-WNvEQ/TGL06iuADlI/AAAAAAAAAMc/ni3kv5NOQkc/s72-c/newsgp.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-5083894764279103307</id><published>2010-07-19T05:06:00.000-07:00</published><updated>2010-07-23T00:36:31.050-07:00</updated><title type='text'>Testing and QA</title><content type='html'>I have updated my previous blogpost with links to the project testing plan, but I thought it would be better to have a separate blogpost to keep track of the testing and QA work.&lt;br /&gt;&lt;br /&gt;For the detailed Testing plan please see (&lt;a href="http://code.google.com/p/weave-mailnews-sync/wiki/TestPlan?ts=1279537331&amp;amp;updated=TestPlan"&gt;http://code.google.com/p/weave-mailnews-sync/wiki/TestPlan?ts=1279537331&amp;amp;updated=TestPlan&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;QA Day 1 (19th July):&lt;br /&gt;&lt;br /&gt;Completed testing with Config 01. None of the tests failed but 5 issues were reported that need fixing.&lt;br /&gt;&lt;br /&gt;QA Day 2 (23rd July):&lt;br /&gt;&lt;br /&gt;Completed testing with Config 02. No new issues reported. Custom tag sync (&lt;a href="http://bit.ly/cayX3L"&gt;http://bit.ly/cayX3L&lt;/a&gt;) was also tested between the Windows 7 and Ubuntu 9.04 machines.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-5083894764279103307?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/5083894764279103307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/07/testing-and-qa.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/5083894764279103307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/5083894764279103307'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/07/testing-and-qa.html' title='Testing and QA'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-7772398302960873640</id><published>2010-07-15T06:27:00.000-07:00</published><updated>2010-07-18T20:43:45.817-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seamonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='GSoC 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='MailNews Sync'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox Sync'/><title type='text'>GSoC 2010 Mid term evaluations</title><content type='html'>Mid term evaluations are here and I hope to have a progress meeting with my mentor to get his detailed feedback on the project.&lt;br /&gt;&lt;br /&gt;I have packaged the MailNews sync engine into an xpi file and uploaded it to the mailnews sync project site (&lt;a href="http://code.google.com/p/weave-mailnews-sync/downloads/list"&gt;http://code.google.com/p/weave-mailnews-sync/downloads/list&lt;/a&gt;). It requires Firefox 1.4 (&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/10868/"&gt;https://addons.mozilla.org/en-US/firefox/addon/10868/&lt;/a&gt;) to work (it is basically an extension of an extension!). The MailNews Sync extension currently syncs status, flag and tag data of Feed and Newsgroup items between different Seamonkey instances. I tested it on Seamonkey 2.0. I couldn't test it on Seamonkey trunk 2.1 yet but I'm hoping that everything will work smoothly there as well. Since comm-central build is not working (sm tinderbox is having a few hot days..) I will test with currently available nightly build.&lt;br /&gt;&lt;br /&gt;Few things left to be done this week:&lt;br /&gt;&lt;br /&gt;- Decide on a solid test plan for MailNews sync engine&lt;br /&gt;- Start testing and bug fixing for mailnews engine&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Update!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have posted the MailNews engine test plan to the project site (&lt;a href="http://code.google.com/p/weave-mailnews-sync/wiki/TestPlan?ts=1279510088&amp;amp;updated=TestPlan"&gt; http://code.google.com/p/weave-mailnews-sync/wiki/TestPlan?ts=1279510088&amp;amp;updated=TestPlan&lt;/a&gt; ).  Testing will be done using 4 configurations.&lt;br /&gt;&lt;br /&gt;Week 1 (18th to 24th July) :Config 01&amp;amp;02&lt;br /&gt;Week 2 (25th to 31st July) : Config 03&amp;amp;04&lt;br /&gt;&lt;br /&gt;All issues will be reported and tracked on &lt;a href="http://code.google.com/p/weave-mailnews-sync/issues/list"&gt;http://code.google.com/p/weave-mailnews-sync/issues/list&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Testing begin today!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-7772398302960873640?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/7772398302960873640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/07/gsoc-2010-mid-term-evaluations.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7772398302960873640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7772398302960873640'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/07/gsoc-2010-mid-term-evaluations.html' title='GSoC 2010 Mid term evaluations'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-7234193262408936838</id><published>2010-07-08T11:24:00.000-07:00</published><updated>2010-07-08T21:27:01.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mercurial'/><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><title type='text'>Sync services become part of the mozilla platform</title><content type='html'>With &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=571902"&gt;&lt;b&gt;Bug 571902&lt;/b&gt;&lt;/a&gt; the weave sync services have now been integrated into the mozilla platform by the weave developer team. The sync code can now be found in the &lt;a href="http://hg.mozilla.org/mozilla-central/"&gt;mozilla-central repo&lt;/a&gt; under services/. Look forward to seeing Seamonkey include sync as a service in a future release. My GSoC project mentor KaiRo has reported &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=576970"&gt;&lt;b&gt;Bug 576970&lt;/b&gt;&lt;/a&gt; to get the sync UI ported into Seamonkey (comm-central repo). Although landing sync code in mozilla platform means the application specific code has been separated (mainly ui code) there is still app-specific code in the services/sync which is why I still need my tabs sync patch for Seamonkey to be approved by the Weave team.&lt;br /&gt;&lt;br /&gt;Work done last week:&lt;br /&gt;&lt;br /&gt;1. Updated my patch for getting tabs sync to work in Seamonkey to include new weave code changes.&lt;br /&gt;&lt;br /&gt;2. Started a new mercurial repo to track changes I make to the weave code.&lt;br /&gt;&lt;a href="https://bitbucket.org/hariniachala/sm-weave"&gt;&lt;span style="text-decoration: underline;"&gt;https://bitbucket.org/hariniachala/sm-weave&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Learned a lot about mercurial in the process.&lt;br /&gt;&lt;br /&gt;3. Changed mailnews extension code to sync both feed and newsgroup mailheaders (status and tags). I am using a svn repo for the mailnews extension.&lt;br /&gt;&lt;a href="http://code.google.com/p/weave-mailnews-sync/"&gt;http://code.google.com/p/weave-mailnews-sync/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Work to be done:&lt;br /&gt;&lt;br /&gt;1. Sync mailnews engine by default on application startup.&lt;br /&gt;2. Create a testing plan for testing new mailnews engine in Seamonkey &amp;amp; Thunderbird.&lt;br /&gt;3. Update mercurial repo with mailnews code.&lt;br /&gt;4. Track &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=576970"&gt;&lt;b&gt;Bug  576970&lt;/b&gt;&lt;/a&gt; and see how sync can be ported into Seamonkey!:)&lt;br /&gt;&lt;br /&gt;During this time I discussed with KaiRo on some aspects of the project. It was decided that all weave development for Seamonkey should be tested with Seamonkey trunk code. It was also decided to continue development of mailnews engines as a separate extension.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-7234193262408936838?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/7234193262408936838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/07/sync-services-become-part-of-mozilla.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7234193262408936838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7234193262408936838'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/07/sync-services-become-part-of-mozilla.html' title='Sync services become part of the mozilla platform'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-3074697616786280103</id><published>2010-06-30T10:19:00.000-07:00</published><updated>2010-06-30T10:51:23.444-07:00</updated><title type='text'>MailNews read status and tag name sync</title><content type='html'>I didn't post my GSoC project weekly update last week because I couldn't do any of the project work last week because we had our final year project evaluations that week. This week however I was able to get back to work on the project:)&lt;br /&gt;&lt;br /&gt;I am happy to finally have feed status and tag name up and down sync working in my MailNews engine. But I cannot celebrate yet because I have some tasks to clear yet. I am listing them below so I can track my progress on these tasks in future.&lt;br /&gt;&lt;br /&gt;1. Weave have changed their code structure and shifted their code repository from  &lt;a href="http://hg.mozilla.org/labs/weave"&gt;http://hg.mozilla.org/labs/weave&lt;/a&gt; to &lt;a href="http://hg.mozilla.org/services/fx-sync"&gt;http://hg.mozilla.org/services/fx-sync&lt;/a&gt;. The engine code API is still is pretty much the same but I have to test my MailNews Engine with the new weave code and especially look how changes made with &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=572436"&gt;&lt;b&gt;Bug 572436&lt;/b&gt;&lt;/a&gt;  will affect it.&lt;br /&gt;&lt;br /&gt;2. Generalize the MailNews Engine status and tag name sync so that it will work for both feeds and newsgroups. (avoiding email for now because differences in protocols such as POP and IMAP result in new complications to sync).&lt;br /&gt;&lt;br /&gt;3. Do complete testing for MailNews Engine in Seamonkey and TB (must decide which version to do the testing for?).&lt;br /&gt;&lt;br /&gt;4. File new bug to include MailNews Engine in Weave and followup on old Tabs for Seamonkey bug.&lt;br /&gt;&lt;br /&gt;Project mid evaluations will be held 12th-16th July and project closing will be 9th-14th August. So I have about 6weeks to finish all the work. I will have to speed up my work a bit but hope to get everything done on schedule:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-3074697616786280103?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/3074697616786280103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/06/mailnews-read-status-and-tag-name-sync.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3074697616786280103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3074697616786280103'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/06/mailnews-read-status-and-tag-name-sync.html' title='MailNews read status and tag name sync'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-7825794823351142467</id><published>2010-06-19T08:04:00.000-07:00</published><updated>2010-07-08T21:36:20.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seamonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='Thunderbird'/><category scheme='http://www.blogger.com/atom/ns#' term='GSoC 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lightning'/><category scheme='http://www.blogger.com/atom/ns#' term='Weave Sync'/><title type='text'>Adding thunderbird support to mail news extension</title><content type='html'>&lt;div style="text-align: justify;"&gt;Writing the new mailnews engines into a separate extension somehow made it easier for me to keep track of my own code. Of course writing the code directly inside the weave extension was easier but I found keeping track of my code to be a bit messy process. So the plan is to to now continue development in the separate extension and submit the patches to weave once the code is tested and fully functional.&lt;br /&gt;&lt;br /&gt;This week I added thunderbird support to the mailnews-sync extension. I used weave-ext.xpi and weaver.xpi made to add weave functionality to thunderbird by Shane Caraveo (aka. mixedpuppy). The xpis can be found on his blog here: &lt;a href="http://shane.caraveo.com/2010/05/28/addon-roundup/"&gt;http://shane.caraveo.com/2010/05/28/addon-roundup/&lt;/a&gt;. I have updated the svn with the tb support code (&lt;a href="http://svn2.xp-dev.com/svn/mailnews-sync/trunk/"&gt;http://svn2.xp-dev.com/svn/mailnews-sync/trunk/&lt;/a&gt;). The extension works on current thunderbird build (3.2a1pre which is ominously named as the 'Shredder').&lt;br /&gt;&lt;br /&gt;Next week is going to be busy with final year project presentations and demos but I plan to test and complete the mailnews read status up&amp;amp;down sync within the week. I also need to follow up with the tabs sync patch on bugzilla.&lt;br /&gt;&lt;br /&gt;Other news:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Lightning in Seamonkey&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I recently tried out the lightning extension in Seamonkey and it seems to me to be the perfect calendar app. I used to be a fan of Google Calendar but I needed to be online and logged into Gmail to view it so I stopped using it after awhile. Lighting seems just super for me. There is another student from the junior batch in my university who is working on Lighting for his GSoC project this year. More details can be found on his blog here: &lt;a href="http://meharuban.blogspot.com/"&gt;http://meharuban.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Got my GSoC 2010 package today!&lt;br /&gt;&lt;br /&gt;Was very happy to receive my GSoC package today. I am now the proud owner of a  Google pen, 2 GSoC 2010 laptop stickers, a GSoC 2010 notepad and my very first visa card! I haven't planned what I will do with the money although I have a general idea of saving up for my masters studies which will either be on business or IT, i still have to decide..&lt;br /&gt;&lt;br /&gt;Seamonkey &amp;amp; me..&lt;br /&gt;&lt;br /&gt;This week I had a chat with my mentor Robert Kaiser and he gave me some insights into the history of Seamonkey and the way forward for the project. Here is the link to the Seamonkey 2.0 &amp;amp; the Vision beyond article :&lt;a href="http://home.kairo.at/blog/2009-02/the_draft_new_seamonkey_vision"&gt;http://home.kairo.at/blog/2009-02/the_draft_new_seamonkey_vision&lt;/a&gt;. I am really interested in having the 'all is a tab' option in Seamonkey and hope to contribute to making that vision a reality soon after my GSoC work:)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-7825794823351142467?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/7825794823351142467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/06/adding-thunderbird-support-to-new-mail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7825794823351142467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7825794823351142467'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/06/adding-thunderbird-support-to-new-mail.html' title='Adding thunderbird support to mail news extension'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-216108752572906027</id><published>2010-06-10T04:19:00.001-07:00</published><updated>2010-06-30T10:53:51.834-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seamonkey'/><title type='text'>So suite!</title><content type='html'>I took a bit of a break from work today afternoon to design my very own Seamonkey tee.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_g29oT-WNvEQ/TBDNftnGwWI/AAAAAAAAAME/da8glu3cX2Q/s1600/seamonkey-t.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_g29oT-WNvEQ/TBDNftnGwWI/AAAAAAAAAME/da8glu3cX2Q/s200/seamonkey-t.jpg" alt="" id="BLOGGER_PHOTO_ID_5481106691213148514" style="cursor: pointer; width: 166px; height: 200px;" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_g29oT-WNvEQ/TCuEa-MBlwI/AAAAAAAAAMM/Aecn5NXogw8/s1600/sea-mokey.jpg"&gt;&lt;img style="cursor: pointer; width: 166px; height: 200px;" src="http://2.bp.blogspot.com/_g29oT-WNvEQ/TCuEa-MBlwI/AAAAAAAAAMM/Aecn5NXogw8/s200/sea-mokey.jpg" alt="" id="BLOGGER_PHOTO_ID_5488626169785980674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-216108752572906027?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/216108752572906027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/06/so-suite.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/216108752572906027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/216108752572906027'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/06/so-suite.html' title='So suite!'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_g29oT-WNvEQ/TBDNftnGwWI/AAAAAAAAAME/da8glu3cX2Q/s72-c/seamonkey-t.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-5370882479866717790</id><published>2010-06-09T10:28:00.000-07:00</published><updated>2010-06-15T08:21:49.911-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seamonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Weave'/><category scheme='http://www.blogger.com/atom/ns#' term='Add-on'/><category scheme='http://www.blogger.com/atom/ns#' term='Weave Sync Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox Sync'/><title type='text'>Writing the new mailnews sync engine as a separate extension</title><content type='html'>&lt;div style="text-align: justify;"&gt;I have shifted the mailnews sync engine into a separate extension so that it can be used with existing weave extension. You can find the code here.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://svn2.xp-dev.com/svn/mailnews-sync/trunk/"&gt;http://svn2.xp-dev.com/svn/mailnews-sync/trunk/&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I am currently working on this repository but the basic engine functionality is already implemented. This extension should be used along with latest Firefox Sync version(1.4a1pre). New mailnews engine however will not show up in the Sync preferences pane unless a slight code change is made in weave(&lt;i&gt;&lt;a href="http://pastebin.mozilla.org/733149"&gt;http://pastebin.mozilla.org/733149&lt;/a&gt;&lt;/i&gt;). However the mailnews engine is set to be active by default.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;                &lt;checkbox label="&amp;amp;syncItem.bookmarks.label;"&gt;&lt;/checkbox&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I will start submitting the mailnews engine patches to Weave as well soon. Since Weave is due to be a part of the central mozilla code i need to have the new engine code integrated into Weave.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-5370882479866717790?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/5370882479866717790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/06/writing-new-mailnews-sync-engine-as.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/5370882479866717790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/5370882479866717790'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/06/writing-new-mailnews-sync-engine-as.html' title='Writing the new mailnews sync engine as a separate extension'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-487870900686864003</id><published>2010-06-02T00:03:00.000-07:00</published><updated>2010-06-02T00:18:09.626-07:00</updated><title type='text'>The Downfall of Agile Hitler</title><content type='html'>Got a link to this video from Igor Velkov, one of my GSoC project mentors. Thought it really funny to see Hitler's character talking about Agile development so sharing it here..&lt;div&gt;&lt;br /&gt;&lt;object width="450" height="300"&gt;&lt;param name="movie" value="http://www.youtube.com/v/l1wKO3rID9g&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xd0d0d0&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/l1wKO3rID9g&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xd0d0d0&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="350" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Of course the English subtitles are fake!:D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-487870900686864003?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/487870900686864003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/06/downfall-of-agile-hitler.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/487870900686864003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/487870900686864003'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/06/downfall-of-agile-hitler.html' title='The Downfall of Agile Hitler'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-7588738325506831351</id><published>2010-06-01T23:27:00.000-07:00</published><updated>2010-06-02T00:03:08.360-07:00</updated><title type='text'>New MailNews Engine for Weave and other news..</title><content type='html'>Weave MailNews Engine&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I finally have my new MailNews Engine running on Weave. The Weave API is a bit complex and so it took me some time to understand it and use it correctly. Right now I simply have the new engine registering on Weave and the engine tracker running. The tracker is my first step towards creating new records for keeping track of mailnews message property changes (read/unread status, flagging, tagging etc.). Next steps are to get upsync and down working for these records. Will upload the new engine code to svn and post a link here soon..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My First Weave patch review&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Got my first weave patch reviewed (&lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=567583"&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=567583&lt;/a&gt;). I need to make the changes mentioned by mconnor and resubmit the patch. Learnt that I especially need to pay more attention to code styles in future. Followed &lt;a href="https://developer.mozilla.org/En/Developer_Guide/Coding_Style"&gt;https://developer.mozilla.org/En/Developer_Guide/Coding_Style&lt;/a&gt; to learn the correct code styles used in Mozilla code.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The 3 week holiday&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;University if closed for 3 weeks because some guys picked a fight and the VC thought it best to punish all 2000+ students instead of just punishing the people who were actually in the fight. Our final year project evaluations have been postponed because of this and this means we will have to start on our jobs soon after finishing university in September. I don't mind though because this holiday gives me time to work on my GSoC project. Also university work was getting hectic with project evaluations and mid semester exams coming up so the break is much appreciated (thank you Mr. VC!).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-7588738325506831351?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/7588738325506831351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/06/new-mailnews-engine-for-weave-and-other.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7588738325506831351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7588738325506831351'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/06/new-mailnews-engine-for-weave-and-other.html' title='New MailNews Engine for Weave and other news..'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-3506457430788764328</id><published>2010-05-24T07:43:00.000-07:00</published><updated>2010-07-08T21:30:00.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GSoC 2010'/><title type='text'>Official start of Google Summer of Code is today..</title><content type='html'>&lt;div&gt;It's May 24th! Official date to begin coding for Google Summer of Code. Of course I already started coding before the official start date because I have to manage the summer of code work with my final semester of study in university.&lt;/div&gt;&lt;div&gt;What I have done so far&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Submitted a patch to get Tabs sync working on weave (see: &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=567583"&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=567583&lt;/a&gt;) &lt;/div&gt;&lt;div&gt;-Wrote a separate extension to get/set read/unread status of mailnews (working on feeds currently) messages&lt;/div&gt;&lt;div&gt;(see: &lt;a href="http://svn2.xp-dev.com/svn/smread/trunk/"&gt;http://svn2.xp-dev.com/svn/smread/trunk/&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;-Started work on weave engine for mailnews sync (however I still haven't managed to install the engine into weave so that still has to be done)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mid term evaluations are due July 12 by which time I should have the new mailnews engine functional for both upsync and down sync. I will be posting weekly updates on this blog so stay tuned:)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://code.google.com/images/2010soclogo.jpg"&gt;&lt;img src="http://code.google.com/images/2010soclogo.jpg" alt="" style="cursor: pointer; width: 300px; height: 267px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-3506457430788764328?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/3506457430788764328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/05/official-start-of-google-summer-of-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3506457430788764328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3506457430788764328'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/05/official-start-of-google-summer-of-code.html' title='Official start of Google Summer of Code is today..'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-1647546854405580265</id><published>2010-05-22T13:37:00.000-07:00</published><updated>2010-05-24T07:42:40.849-07:00</updated><title type='text'>Getting Weave (Firefox) Sync to work on Seamonkey (and maybe Thunderbird too!)</title><content type='html'>&lt;div&gt;This post is about the development environment I am using to get the weave sync (more about the new name change later!) addon to work for Seamonkey. I have setup the development environment so that I can code the extension from one central location (my eclipse IDE) and test any changes made immediately in Firefox, Seamonkey and Thunderbird all at once. Before doing this, making sure the code worked for all three applications was a nightmare, but I finally figured out the right way to do it.&lt;/div&gt;&lt;br /&gt;I am doing all the development from ubuntu (jaunty) and using eclipse as my IDE. I have xulrunner installed on ubuntu and xulbooster plugin installed in eclipse. I also have the jsEclipse plugin installed in eclipse for easy editing of javascript files. I followed the build instructions for weave available at &lt;a href="https://wiki.mozilla.org/Labs/Weave/Building"&gt;https://wiki.mozilla.org/Labs/Weave/Building&lt;/a&gt; to get the latest weave source and build it. Build didn't work the first time around though, and I had to tweak the Makefile a bit to get it to work. Getting the code to install in all Firefox, Seamonkey and Thunderbird applications was done by creating extension proxies (&lt;a href="https://developer.mozilla.org/en/Setting_up_extension_development_environment#Firefox_extension_proxy_file"&gt;https://developer.mozilla.org/en/Setting_up_extension_development_environment#Firefox_extension_proxy_file&lt;/a&gt;). Once all that was done I only had to restart each application to view the changes I had made in the code. If any changes are made to the .in files (install.rdf.in and chrome.manifest.in) however I had to run make again.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Name Change&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;For marketing reasons Weave Sync will soon be renamed as Firefox Sync (from version 1.3 onwards). This will make things very confusing when the addon is adopted to Seamonkey and Thunderbird. Users will then have Firefox Sync installed as an addon on Seamonkey or Thunderbird and that just doesn't make much sense namewise. The name change has not been  officially announced yet. I got to know about it from my project mentor's blog( &lt;a href="http://home.kairo.at/blog/2010-05/weave_is_firefox_is_seamonkey_is_confusi"&gt;http://home.kairo.at/blog/2010-05/weave_is_firefox_is_seamonkey_is_confusi&lt;/a&gt; ). Regardless of the name change however I will continue my project to get tabs and mailnews sync functionality working for Seamonkey. There are plans to integrate Weave to the Mozilla platform soon (like Personas) so all naming issues will disappear once that is done.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-1647546854405580265?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/1647546854405580265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/05/getting-weave-firefox-sync-to-work-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1647546854405580265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1647546854405580265'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/05/getting-weave-firefox-sync-to-work-on.html' title='Getting Weave (Firefox) Sync to work on Seamonkey (and maybe Thunderbird too!)'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-7734423894414028515</id><published>2010-05-18T12:49:00.000-07:00</published><updated>2010-05-19T10:38:11.681-07:00</updated><title type='text'>Tabs sync for Seamonkey with Weave Sync add-on</title><content type='html'>&lt;div style="text-align: justify;"&gt;Oops, I'm late in submitting my weekly report! Things didn't go as planned for this week. I found that the tabs sync engine of weave that previously worked on SM in weave version 1.1 no longer worked for SM in weave 1.2.3. This is due to the changes brought on to weave in version 1.2 along with the new overlay which included the about:weave-tabs page for viewing 'Tabs From Other Computers'. The syncing functionality stopped working because now tabs were being accessed from the browser session instead of using gBrowser global variable. The browser session is accessed using the nsISessionStore interface. The XPCOM url for accessing nsISessionStore in SM is different from that of FX (SM: "@mozilla.org/suite/sessionstore;1" , FX: "@mozilla.org/browser/sessionstore;1"). Therefore the util.js file in weave modules had to be changed to get tabs sync working again in weave for version 1.2.3. Some other javascript files also required changes (FX specific code like gBrowser.loadOneTab and gBrowser.loadTabs had to be replaced.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Once the url was resolved tab sync was again fuctional in SM. The next task was to get the 'Tabs from other computers' menu displayed with a proper overlay and have the about: weave-tabs page correctly display the list of tabs from other computers.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I have written an experimental xpi for testing weave tabs sync on SM. I just tested this on the new Seamonkey 2.1 Alpha 1 which has just been released (&lt;a href="http://www.seamonkey-project.org/releases/seamonkey2.1a1/"&gt;http://www.seamonkey-project.org/releases/seamonkey2.1a1/&lt;/a&gt;). The xpi can be downloaded from here &lt;a href="https://sourceforge.net/projects/tabs-for-sm-wv/files/"&gt;https://sourceforge.net/projects/tabs-for-sm-wv/files/&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This xpi has tabs sync working for SM. Next step is to report a bug in BMO and submit my patch to it. I still have one issue left to resolve though. It appears the code only syncs tabs between different SM instances. FX tabs for example do not show up on SM. This needs fixing.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It seems the biggest issue in getting weave sync to work on SM is that every time weave code is changed it is written specifically for FX so there is a chance SM fucntionality will be affected.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-7734423894414028515?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/7734423894414028515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/05/tabs-sync-for-seamonkey-with-weave-sync.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7734423894414028515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7734423894414028515'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/05/tabs-sync-for-seamonkey-with-weave-sync.html' title='Tabs sync for Seamonkey with Weave Sync add-on'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-6253085117351477772</id><published>2010-05-09T18:11:00.000-07:00</published><updated>2010-05-09T22:35:48.077-07:00</updated><title type='text'>Listening to mailnews property changes</title><content type='html'>Last week was bit busy with job interviews and completing final year project work so I had to limit the time I had to work on my SM-Weave project. Hope to catch up on more work this week.&lt;br /&gt;&lt;br /&gt;Here's what I did last week..&lt;br /&gt;&lt;br /&gt;I setup a listener for mail/news item property changes. Now I can capture any read/unread status changes made in the UI as well as other property changes such as tagging a mailnews item. I will use this listener in the Tracker class of my weavesync engine which I have just started work on.&lt;br /&gt;&lt;br /&gt;The updated code with the listener is in the &lt;a href="http://svn2.xp-dev.com/svn/smread/trunk/"&gt;svn&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The same listener code also works in Thunderbird and I will continue testing in both SM and TB to try to have the final sync engine working on both apps.&lt;br /&gt;&lt;br /&gt;For this week I need to somehow catch NeilAway (who is always away;) )  on SM IRC and discuss the best place to put the weave menu item 'Tabs From Other Computers'. Then get it approved by KaiRo (IRC nick of my project mentor) and write the overlay and possibly have it submitted as a patch for weave.&lt;br /&gt;&lt;br /&gt;Also hope to get my first experimental weave engine working before next week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-6253085117351477772?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/6253085117351477772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/05/listening-to-mailnews-property-changes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/6253085117351477772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/6253085117351477772'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/05/listening-to-mailnews-property-changes.html' title='Listening to mailnews property changes'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-8527621852994095058</id><published>2010-04-29T12:51:00.000-07:00</published><updated>2010-07-08T21:32:23.295-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Weave'/><title type='text'>Setup WeaveSync test server on localhost</title><content type='html'>&lt;div style="text-align: justify;"&gt;Google requires us to keep track of our GSoC project work, therefore I decided to use my dear old (or maybe not so old..) blog to report my weekly work :) This is my first report..&lt;br /&gt;&lt;br /&gt;GSoC work : Week 1 (26th Apr to 2nd May)&lt;br /&gt;&lt;br /&gt;I had two options for a test server for Weave. The Weave 1.0 full server, which comes in two parts (sync server and registration server) or the Weave Minimal server. Since the Weave wiki itself mentions that the full server is complicated to setup and advises people to try the minimal server instead, I decided to setup the minimal server first and then try my luck with the full server.&lt;br /&gt;&lt;br /&gt;The full server can be setup with a MySQL database, however the minimal server requires SQLite. Both servers require SSL setup on the webserver (i am using Apache2).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;How to setup SSL on Apache2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;SSL (new version is TLS) is a cryptographic protocol for providing end-to-end security for communication over the Internet. While looking for a tutorial to setup SSL I came across this article &lt;a href="http://www.symantec.com/connect/articles/apache-2-ssltls-step-step-part-1"&gt;http://www.symantec.com/connect/articles/apache-2-ssltls-step-step-part-1&lt;/a&gt; which gives a good explanation of how SSL works.&lt;br /&gt;&lt;br /&gt;For setting up SSL I referred the tutorials  &lt;a href="http://beeznest.wordpress.com/2008/04/25/how-to-configure-https-on-apache-2/"&gt;http://beeznest.wordpress.com/2008/04/25/how-to-configure-https-on-apache-2/&lt;/a&gt;  &amp;amp; &lt;a href="http://www.debian-administration.org/article/Setting_up_an_SSL_server_with_Apache2"&gt;http://www.debian-administration.org/article/Setting_up_an_SSL_server_with_Apache2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The steps were:&lt;br /&gt;&lt;br /&gt;1. Enable SSL on apache2&lt;br /&gt;2. Generate key and certificate&lt;br /&gt;3. Edit my virtual hosts configuration file ( /etc/apache2/sites-available/default ).&lt;br /&gt;&lt;br /&gt;This gave me the following configuration: &lt;a href="http://pastebin.mozilla.org/720065"&gt;http://pastebin.mozilla.org/720065&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I can access https://localhost from the browser (first time you do this you get a security warning, then you need to add an exception and save the server certificate).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Setup Weave Minimal Server on localhost&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I got the server from here : &lt;a href="http://tobyelliott.wordpress.com/2009/09/11/weave-minimal-server/"&gt;http://tobyelliott.wordpress.com/2009/09/11/weave-minimal-server/&lt;/a&gt; and setup after following the instructions in the ReadMe file. I had to install SQLite3 which I did by using 'apt-get install sqlite3'.&lt;br /&gt;&lt;br /&gt;Now I could run weave extension using my custom test server. For the server URL i specified https://localhost/weave_minimal/  and everything worked (well not the first time, because I hadn't added an exception for https://localhost the first time!) just as if I were using the Mozilla server.&lt;br /&gt;&lt;br /&gt;The SQLite database is the weave_db file and to view the data I used the SQlite database browser application.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Setup Weave 1.0 full server&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;I setup the full server on locahost as well in case I require it for future testing. This was harder to setup than the minimal server.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;I setup the database with MySQL and followed the installation guides &lt;a href="https://wiki.mozilla.org/Labs/Weave/Sync/1.0/Setup"&gt;https://wiki.mozilla.org/Labs/Weave/Sync/1.0/Setup&lt;/a&gt; (for sync server) &amp;amp; &lt;a href="https://wiki.mozilla.org/Labs/Weave/User/1.0/Setup"&gt;https://wiki.mozilla.org/Labs/Weave/User/1.0/Setup&lt;/a&gt; (for registration server). The server requires php to support both PDO &amp;amp; JSON. I had to add PDO support to my existing php5 installation to get the server working.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;To run weavesync addon with full server, I specified the server URL as https://localhost/ (end '/' is always required).&lt;br /&gt;&lt;br /&gt;I could browse the sync data using the MySQL Query Browser program.&lt;br /&gt;&lt;br /&gt;Right now I'm using the minimal server, because there is still an error with the sync server of the full server installation (the sync server test doesn't run - it gives Authentication error and although syncing happens with the extension  there is  an error in the 'id' field that specifies the type of payload (history, tabs, prefs etc.) being synchronized. I hope to fix this problem soon.&lt;br /&gt;&lt;br /&gt;This week I also got to know some of the Seamonkey developers and  how they communicate over IRC:) I also had my first official meeting with my mentor, Robert Kaiser to discuss the project. During this meeting it was decided to complete feed status syncing first before working on mail status  syncing due to the problems that will arise in mail status sync especially for POP3 mail downloads. Since tab sync is already functional, it was decided have a suitable overlay for 'Tabs from other computers' and test the functionality with it. I will be working on this next week.&lt;br /&gt;&lt;br /&gt;So how was my first week as a GSoC student? Definitely exciting!:) It's my first time working with the opensource community and the Seamonkey community was  very kind and welcoming:) I also had the opportunity to reply to some Seamonkey user  queries this week and try out some IRC commands like /me !:D&lt;br /&gt;&lt;br /&gt;That's it for week no. 1 but hope to have much more to report in the coming weeks (15 more to go!):)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-8527621852994095058?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/8527621852994095058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/04/setup-weavesync-test-server-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8527621852994095058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8527621852994095058'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/04/setup-weavesync-test-server-on.html' title='Setup WeaveSync test server on localhost'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-5651044102354057109</id><published>2010-04-26T13:55:00.000-07:00</published><updated>2010-07-08T21:27:40.703-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seamonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='GSoC 2010'/><title type='text'>Google Summer Of Code 2010!</title><content type='html'>Wow. I'm selected to Google Summer Of Code 2010! This is my first time applying and since its my final year in university, i thought it would probably be my last chance too! So I was so afraid to check results and see a rejection. I didn't check email until 12.30am (the time of announcement in local time), and I couldn't believe it when i saw the Congratulations email! I checked on the gsoc site as well just to make sure the Google mail program hadn't got it wrong smehw!:D&lt;br /&gt;&lt;br /&gt;Then I did a quick chat with my other friends who got selected and thanked my mentor(Robert Kaiser) for selecting me and also thanked Igor Velkov(my assistant mentor of sorts:)). I still have a long list of people to thank though! Everyone who has encouraged me in anyway to enroll for Google Summer Of Code!&lt;br /&gt;&lt;br /&gt;GSoC is a big step for me, because I hope to learn all about Opensource programming from it and hopefully it will help me achieve my long term goals and ambitions in life:)&lt;br /&gt;&lt;br /&gt;The project I am selected to participate in is a Mozilla project for the Seamonkey internet application suite, which is a browser and email and news all rolled into one. It's just like using Firefox with Email and News built in. And even better the project is an addon and still better its about data synchronization! This is so relevant to my final year project in university that it seems like just the perfect project for me!:)&lt;br /&gt;&lt;br /&gt;The project is about implementing tabs and mailnews status sync engines for WeaveSync addon for Seamonkey. I have already started up some work on this and hosted it here (&lt;a href="http://svn2.xp-dev.com/svn/smread/trunk/"&gt;http://svn2.xp-dev.com/svn/smread/trunk/&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;So what is a Seamonkey? This is one of the first questions I had when deciding to apply for this project. Seamonkey is a kind of shrimp and it was a code name for the original Mozilla Netscape suite. This later became Seamonkey. There are pics of seamonkeys on wikipedia but I prefer the Seamonkey icon which is quite lovely:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.apfelwiki.de/briefkasten/Main/SeaMonkey.png"&gt;&lt;img style="cursor: pointer; width: 128px; height: 128px;" src="http://www.apfelwiki.de/briefkasten/Main/SeaMonkey.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you haven't tried Seamonkey yet I suggest you check it out now. You can download it here. &lt;a href="http://www.seamonkey-project.org/"&gt;http://www.seamonkey-project.org/&lt;/a&gt;. It's the perfect solution for keeping track of all the blogs and new sites you follow and keeping track of your email properly:) And with the WeaveSync addon for tabs and mailnews sync coming up soon its gonna get a whole lot better!;)&lt;br /&gt;&lt;br /&gt;Thank you to the Seamonkey, Mozilla and Google opensource communities for giving me this wonderful opportunity!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-5651044102354057109?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/5651044102354057109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/04/google-summer-of-code-2010.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/5651044102354057109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/5651044102354057109'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/04/google-summer-of-code-2010.html' title='Google Summer Of Code 2010!'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-333330340284964839</id><published>2010-04-17T21:57:00.000-07:00</published><updated>2010-04-17T22:45:31.292-07:00</updated><title type='text'>Turn your laptop into a wireless router in Ubuntu</title><content type='html'>It is easy to setup an ad-hoc wireless network on Windows (&lt;a href="http://www.kombitz.com/2009/02/09/windows-7-how-to-create-an-ad-hoc-network/"&gt;http://www.kombitz.com/2009/02/09/windows-7-how-to-create-an-ad-hoc-network/&lt;/a&gt;) to share your internet connection with another pc over a wireless connection but doing the same on Ubuntu is complicated. No wizards here, just plain old terminal commands.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Converting your laptop into a wireless router is an easy way to share your internet connection (broadband) with another laptop without requiring a multi port router or a wirless router or any cable connections. See diagram below..&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_g29oT-WNvEQ/S8qXdkXWUTI/AAAAAAAAALs/hrG2kH_uphg/s1600/ICS2.jpeg"&gt;&lt;img src="http://1.bp.blogspot.com/_g29oT-WNvEQ/S8qXdkXWUTI/AAAAAAAAALs/hrG2kH_uphg/s320/ICS2.jpeg" border="0" alt="" id="BLOGGER_PHOTO_ID_5461344032373756210" style="cursor: pointer; width: 320px; height: 179px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's how I did it on Ubuntu 9.04. Took a lot of experimenting to find the right method but the following steps finally got it working. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;-First, install the packages dnsmasq, ipmasq, and dhcp3-server&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;sudo apt-get install dnsmasq&lt;/div&gt;&lt;div&gt;sudo apt-get install ipmasq&lt;/div&gt;&lt;div&gt;sudo apt-get install dhcp3-server&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Assign a static IP address for the wireless card on the desktop machine by editing the file /etc/network/interfaces. Add these lines to the end of the file (if you already see wlan0 somewhere else, delete that first):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;auto wlan0&lt;/div&gt;&lt;div&gt;iface wlan0 inet static&lt;/div&gt;&lt;div&gt;address 192.168.0.1&lt;/div&gt;&lt;div&gt;netmask 255.255.255.0&lt;/div&gt;&lt;div&gt;broadcast 192.168.0.255&lt;/div&gt;&lt;div&gt;wireless-mode ad-hoc&lt;/div&gt;&lt;div&gt;wireless-essid YOUR-NETWORK-SSID-HERE&lt;/div&gt;&lt;div&gt;wireless-key YOUR-NETWORK-KEY&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Next edit the file /etc/default/dhcp3-server by finding the line with INTERFACES="" and replacing it with&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;INTERFACES="wlan0"&lt;/div&gt;&lt;div&gt;(This tells the DHCP server to listen on the local network for connections)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Now open the file /etc/dhcp3/dhcpd.conf. Find the following lines:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;option domain-name "example.org";&lt;/div&gt;&lt;div&gt;option domain-name-servers ns1.example.org, ns2.example.org;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;default-lease-time 600;&lt;/div&gt;&lt;div&gt;max-lease-time 7200;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and replace them with:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;#option domain-name "example.org";&lt;/div&gt;&lt;div&gt;#option domain-name-servers ns1.example.org, ns2.example.org;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;#default-lease-time 600;&lt;/div&gt;&lt;div&gt;#max-lease-time 7200;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then paste this at the end of the file:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;subnet 192.168.0.0 netmask 255.255.255.0 {&lt;/div&gt;&lt;div&gt;range 192.168.0.100 192.168.0.200;&lt;/div&gt;&lt;div&gt;option domain-name-servers 192.168.0.1;&lt;/div&gt;&lt;div&gt;# option domain-name "internal.example.org";&lt;/div&gt;&lt;div&gt;option routers 192.168.0.1;&lt;/div&gt;&lt;div&gt;option broadcast-address 192.168.0.255;&lt;/div&gt;&lt;div&gt;default-lease-time 600;&lt;/div&gt;&lt;div&gt;max-lease-time 7200;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Set up IP masquerading and forwarding:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;/div&gt;&lt;div&gt;sudo sh -c "echo 1 &gt; /proc/sys/net/ipv4/ip_forward"&lt;/div&gt;&lt;div&gt;sudo dpkg-reconfigure ipmasq&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The default answers should be fine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Set up DNS masquerading:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;sudo dpkg-reconfigure dnsmasq&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Now start everything up!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;sudo ifdown wlan0&lt;/div&gt;&lt;div&gt;sudo ifup wlan0&lt;/div&gt;&lt;div&gt;sudo /etc/init.d/dnsmasq restart&lt;/div&gt;&lt;div&gt;sudo /etc/init.d/dhcp3-server restart&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now if everything went well you would be able to see the newly setup netowrk in the list of wireless networks of your other pc and you can connect to it:)&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However when running sudo ifdown wlan0 I got the error..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Error for wireless request "Set Mode" (8B06) :    SET failed on device wlan0 ; Invalid argument.Error for wireless request "Set ESSID" (8B1A) :    SET failed on device wlan0 ; Invalid argument.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;sudo modprobe ndiswrapper&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think this is because my wireless network card did not have a native Linux driver. I fixed this by running..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;sudo modprobe ndiswrapper&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Ndiswrapper is a Linux module which allows Ubuntu to use the Windows driver for wireless cards (in most cases).&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Everything is working fine now and I'm sharing my broadband internet connection with another laptop via a wireless connection now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;References:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://ubuntuforums.org/archive/index.php/t-335465.html"&gt;http://ubuntuforums.org/archive/index.php/t-335465.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-333330340284964839?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/333330340284964839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/04/turn-your-laptop-into-wireless-router.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/333330340284964839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/333330340284964839'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/04/turn-your-laptop-into-wireless-router.html' title='Turn your laptop into a wireless router in Ubuntu'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_g29oT-WNvEQ/S8qXdkXWUTI/AAAAAAAAALs/hrG2kH_uphg/s72-c/ICS2.jpeg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-520262425730394731</id><published>2010-04-13T01:05:00.000-07:00</published><updated>2010-04-13T04:44:24.430-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='Wallpaper'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>How to show/hide desktop icons on ubuntu.</title><content type='html'>If your desktop ever looks as cluttered as the 'Before' pic below you will definitely find this method useful!&lt;br /&gt;&lt;br /&gt;Sometime back I wrote a blog post on how to do the same thing for windows &lt;a href="http://hariniachala.blogspot.com/2009/11/hide-messy-looking-desktop-icons-with.html"&gt;http://hariniachala.blogspot.com/2009/11/hide-messy-looking-desktop-icons-with.html&lt;/a&gt;. When looking for a similar method for my ubuntu desktop i came across this..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bayu.freelancer.web.id/2009/05/03/showhide-desktop-icon-on-ubuntu/"&gt;http://bayu.freelancer.web.id/2009/05/03/showhide-desktop-icon-on-ubuntu/&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Follow the instructions in the link and soon your desktop will be magically free of all clutter!&lt;br /&gt;&lt;br /&gt;Before&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_g29oT-WNvEQ/S8RYeEEqRAI/AAAAAAAAALk/c1DU9HaJSMk/s1600/Screenshot-9-scaled.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 194px;" src="http://1.bp.blogspot.com/_g29oT-WNvEQ/S8RYeEEqRAI/AAAAAAAAALk/c1DU9HaJSMk/s320/Screenshot-9-scaled.png" alt="" id="BLOGGER_PHOTO_ID_5459585921792492546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_g29oT-WNvEQ/S8Qo-MQFzXI/AAAAAAAAALU/CNCO0xoeNMw/s1600/Screenshot-8.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 194px;" src="http://4.bp.blogspot.com/_g29oT-WNvEQ/S8Qo-MQFzXI/AAAAAAAAALU/CNCO0xoeNMw/s320/Screenshot-8.png" alt="" id="BLOGGER_PHOTO_ID_5459533697185598834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you like my wallpaper you can get it here (&lt;a href="http://bit.ly/35rzNB"&gt;http://bit.ly/35rzNB&lt;/a&gt;). The word at the bottom means 'Spring'. I've put it in Greek to add a touch of mystery to the wallpaper:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-520262425730394731?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/520262425730394731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/04/how-to-showhide-desktop-icons-on-ubuntu.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/520262425730394731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/520262425730394731'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/04/how-to-showhide-desktop-icons-on-ubuntu.html' title='How to show/hide desktop icons on ubuntu.'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_g29oT-WNvEQ/S8RYeEEqRAI/AAAAAAAAALk/c1DU9HaJSMk/s72-c/Screenshot-9-scaled.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-3180433767165277547</id><published>2010-03-16T10:24:00.000-07:00</published><updated>2010-03-21T02:50:40.821-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache2'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Running apache2 server on ubuntu and tracking its activity..</title><content type='html'>This is a simple guide to install and run apache2 server on ubuntu and track the server activity while it is running.&lt;br /&gt;&lt;br /&gt;Install apache2 server on ubuntu through terminal..&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;sudo apt-get install apache2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;directory var="" www="" html="" bugzilla=""&gt;&lt;/directory&gt;Track server by running following command in a separate terminal&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;tail -f /var/log/apache2/error.log&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;now you can see the server activity being logged in this terminal.&lt;br /&gt;&lt;br /&gt;Start apache2 server&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;cd /etc/init.d&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo ./apache2 start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can also do&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo ./apache2 --help&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to view all available commands.&lt;br /&gt;&lt;br /&gt;Now go to http://localhost in your browser&lt;br /&gt;&lt;br /&gt;The message 'It works!' will be displayed. (the file displayed is index.html in /var/www folder)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-3180433767165277547?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/3180433767165277547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/03/running-apache2-server-on-ubuntu-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3180433767165277547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3180433767165277547'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/03/running-apache2-server-on-ubuntu-and.html' title='Running apache2 server on ubuntu and tracking its activity..'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-8168686017271568955</id><published>2010-02-28T09:17:00.000-08:00</published><updated>2010-02-28T17:25:53.385-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='USB flash drive'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Running Ubuntu inside Windows</title><content type='html'>Love this! No more rebooting for windows or ubuntu. No need for a separate VM. I am running ubuntu inside windows and can access both ubuntu and windows programs at the same time. Right now I am running IE on windows while downloading packages on Synaptic Package Manager on ubuntu.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am running Vista with 3GB RAM and core 2 duo processor and things run pretty much normal without slowing down. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Totally recommend this for anyone using Windows and Ubuntu on dual boot. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://portableubuntu.demonccc.com.ar/en/download"&gt;http://portableubuntu.demonccc.com.ar/en/download&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's a screenshot of what ubuntu inside windows looks like on my machine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_g29oT-WNvEQ/S4q4tXVlh5I/AAAAAAAAAKU/oocJ67vVpCc/s1600-h/Capture.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_g29oT-WNvEQ/S4q4tXVlh5I/AAAAAAAAAKU/oocJ67vVpCc/s320/Capture.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5443366189128845202" style="cursor: pointer; width: 320px; height: 200px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div class="zemanta-pixie" style="margin-top:10px;height:15px"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/6bb48e4c-babb-4875-865e-1861e13ca61c/" title="Reblog this post [with Zemanta]"&gt;&lt;img class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=6bb48e4c-babb-4875-865e-1861e13ca61c" alt="Reblog this post [with Zemanta]" style="border:none;float:right" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-8168686017271568955?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/8168686017271568955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/02/running-ubuntu-inside-windows-from-usb.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8168686017271568955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8168686017271568955'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/02/running-ubuntu-inside-windows-from-usb.html' title='Running Ubuntu inside Windows'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_g29oT-WNvEQ/S4q4tXVlh5I/AAAAAAAAAKU/oocJ67vVpCc/s72-c/Capture.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-7734414737234053622</id><published>2010-02-09T21:12:00.000-08:00</published><updated>2010-04-13T04:45:49.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Dialog'/><title type='text'>Send SMS for free to dialog Sri Lanka numbers from your email</title><content type='html'>This is not an ideal way to send SMS but it works, its easy and its free! Well not 100% free because to activate it the SMS receiver must dial 711. That will cost around Rs 3/-.&lt;br /&gt;&lt;br /&gt;next go to your email program and create a new message.&lt;br /&gt;in the 'To' field put the email address(es) in the following format&lt;br /&gt;&lt;br /&gt;77xxxxxxx@dialog.lk&lt;br /&gt;&lt;br /&gt;(this is the dialog number of the receiver followed by '@dialog.lk')&lt;br /&gt;&lt;br /&gt;in the 'Subject' field put your message (this should be less than 120 characters)&lt;br /&gt;leave message body blank&lt;br /&gt;send the message&lt;br /&gt;the receiver will get the message immediately.&lt;br /&gt;&lt;br /&gt;This is an easy way to send short SMS alerts for free to a group of people. I found this method out while referring to the 'Pocket Office' service offered by dialog.&lt;br /&gt;&lt;br /&gt;http://www.dialog.lk/personal/mobile/features-and-vas/messaging/pocket-office/&lt;br /&gt;&lt;br /&gt;If anyone knows of a better way to send SMS for free to dialog please let me know. I tried out different services available online but none of them worked.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-7734414737234053622?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/7734414737234053622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/02/send-sms-for-free-to-dialog-sri-lanka.html#comment-form' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7734414737234053622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7734414737234053622'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/02/send-sms-for-free-to-dialog-sri-lanka.html' title='Send SMS for free to dialog Sri Lanka numbers from your email'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-6220582343661552494</id><published>2010-01-29T06:46:00.000-08:00</published><updated>2010-04-13T04:46:47.881-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wallpaper'/><category scheme='http://www.blogger.com/atom/ns#' term='Avatar'/><title type='text'>Avatar Craze!</title><content type='html'>Okay I'm a huge fan of the movie and I'm deeply dissapointed I can't watch it in 3D! Just thought I'd post some of my favourite Avatar pics/wallpapers here in my blog.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_g29oT-WNvEQ/S2L3U29JjyI/AAAAAAAAAIw/2GXTTd1YiEk/s1600-h/Avatar_1001.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_g29oT-WNvEQ/S2L3U29JjyI/AAAAAAAAAIw/2GXTTd1YiEk/s320/Avatar_1001.jpg" alt="" id="BLOGGER_PHOTO_ID_5432176038283677474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_g29oT-WNvEQ/S2L3W4fYFBI/AAAAAAAAAJI/7vKHIG088us/s1600-h/Avatar_1013.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_g29oT-WNvEQ/S2L3W4fYFBI/AAAAAAAAAJI/7vKHIG088us/s320/Avatar_1013.jpg" alt="" id="BLOGGER_PHOTO_ID_5432176073055409170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_g29oT-WNvEQ/S2L3WL_czqI/AAAAAAAAAJA/Iws3hChhsDE/s1600-h/Avatar_1012.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_g29oT-WNvEQ/S2L3WL_czqI/AAAAAAAAAJA/Iws3hChhsDE/s320/Avatar_1012.jpg" alt="" id="BLOGGER_PHOTO_ID_5432176061110341282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_g29oT-WNvEQ/S2L3Vi3bkCI/AAAAAAAAAI4/wiHX4myQ4_w/s1600-h/Avatar_1002.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_g29oT-WNvEQ/S2L3Vi3bkCI/AAAAAAAAAI4/wiHX4myQ4_w/s320/Avatar_1002.jpg" alt="" id="BLOGGER_PHOTO_ID_5432176050070851618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_g29oT-WNvEQ/S2L3Xe8WO8I/AAAAAAAAAJQ/0eFv6TGNmaI/s1600-h/Avatar_1019.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_g29oT-WNvEQ/S2L3Xe8WO8I/AAAAAAAAAJQ/0eFv6TGNmaI/s320/Avatar_1019.jpg" alt="" id="BLOGGER_PHOTO_ID_5432176083377470402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_g29oT-WNvEQ/S2L4hnHOG3I/AAAAAAAAAJY/PZsxhsN37pg/s1600-h/Avatar_2006.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_g29oT-WNvEQ/S2L4hnHOG3I/AAAAAAAAAJY/PZsxhsN37pg/s320/Avatar_2006.jpg" alt="" id="BLOGGER_PHOTO_ID_5432177356880878450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_g29oT-WNvEQ/S2L4iLg9VqI/AAAAAAAAAJg/r9X58do33jg/s1600-h/Avatar_2012.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_g29oT-WNvEQ/S2L4iLg9VqI/AAAAAAAAAJg/r9X58do33jg/s320/Avatar_2012.jpg" alt="" id="BLOGGER_PHOTO_ID_5432177366652507810" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-6220582343661552494?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/6220582343661552494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2010/01/avatar-craze.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/6220582343661552494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/6220582343661552494'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2010/01/avatar-craze.html' title='Avatar Craze!'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_g29oT-WNvEQ/S2L3U29JjyI/AAAAAAAAAIw/2GXTTd1YiEk/s72-c/Avatar_1001.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-8883666102177994839</id><published>2009-12-23T21:32:00.000-08:00</published><updated>2010-04-13T04:47:44.855-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Easy guide on how to setup a C++ project from existing source</title><content type='html'>&lt;div style="text-align: justify;"&gt;I am not a fan of C and C++, mainly because i could never quite work with pointers easily. Therefore I always try to use C# or Java instead in applications I write. But I just got a tough assignment on data mining and because the only example project that I could find which fits my requirements was in C++ I had to try and remember what I learnt in level 2 and setup a C++ project with the example source code.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;My preferred IDE is Eclipse (mainly for Java) but when I tried configuring Eclipse for C++ I found the process to be extremely tedious. I just wanted to test the example C++ code so I didn't want to waste time configuring Eclipse just to do that. So instead I downloaded Visual Studio C++ and I had the example C++ code running within minutes.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Here's the step by step guide for setting up a C++ project.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Download and install Visual Studio C++ if you don't have it already. (you can get the Express Edition on a 30day free trial from here &lt;a href="http://www.microsoft.com/Express/VC/"&gt;http://www.microsoft.com/Express/VC/&lt;/a&gt; )&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Run the IDE and go to File -&gt; New -&gt; Project from Existing code.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. You will get the following screens. Simply follow the instructions given under each screen image.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_g29oT-WNvEQ/SzMKhDT0AlI/AAAAAAAAAIM/EubmY9cs3uo/s1600-h/1.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_g29oT-WNvEQ/SzMKhDT0AlI/AAAAAAAAAIM/EubmY9cs3uo/s320/1.JPG" alt="" id="BLOGGER_PHOTO_ID_5418686339597206098" style="cursor: pointer; width: 320px; height: 282px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;this is the first screen you get. select the folder that contains the C++ source code as the 'Project File Location'. Give a name to the project and click next.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_g29oT-WNvEQ/SzMKEHbwkOI/AAAAAAAAAH8/m6QVoh4GkKw/s1600-h/2.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_g29oT-WNvEQ/SzMKEHbwkOI/AAAAAAAAAH8/m6QVoh4GkKw/s320/2.JPG" alt="" id="BLOGGER_PHOTO_ID_5418685842488070370" style="cursor: pointer; width: 320px; height: 283px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this screen make sure you set the correct 'Project Type' (eg: Windows Application or Console Application). Click next.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_g29oT-WNvEQ/SzMKTidxkgI/AAAAAAAAAIE/jKDZldoIZj0/s1600-h/3.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_g29oT-WNvEQ/SzMKTidxkgI/AAAAAAAAAIE/jKDZldoIZj0/s320/3.JPG" alt="" id="BLOGGER_PHOTO_ID_5418686107442319874" style="cursor: pointer; width: 320px; height: 282px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you get this screen just keep on clicking on next to setup the project with the default configurations. Finish when its done.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And thats it!:)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-8883666102177994839?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/8883666102177994839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2009/12/idiots-guide-on-how-to-setup-c-project.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8883666102177994839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8883666102177994839'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2009/12/idiots-guide-on-how-to-setup-c-project.html' title='Easy guide on how to setup a C++ project from existing source'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_g29oT-WNvEQ/SzMKhDT0AlI/AAAAAAAAAIM/EubmY9cs3uo/s72-c/1.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-7346138385240229359</id><published>2009-11-29T04:48:00.000-08:00</published><updated>2010-04-13T04:52:49.842-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Hide messy looking desktop icons with one click!</title><content type='html'>Just gave my pc desktop a facelift:D  Was looking for a way to hide my messy desktop icons so that my seasonal wallpaper will show nice and clear and stumbled across this article.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.howtogeek.com/howto/windows-vista/create-a-shortcut-or-hotkey-to-turn-the-desktop-icons-on-or-off/"&gt;http://www.howtogeek.com/howto/windows-vista/create-a-shortcut-or-hotkey-to-turn-the-desktop-icons-on-or-off/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It gives a link to a program you can add to your quick launch bar to show/hide desktop icons with just one mouse click (similar to show/hide desktop )&lt;br /&gt;&lt;br /&gt;Here's a before and after view of my desktop:)&lt;br /&gt;&lt;br /&gt;Before&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_g29oT-WNvEQ/SxJv3wENOUI/AAAAAAAAAHI/ochj0Mm4nHw/s1600/1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 120px;" src="http://1.bp.blogspot.com/_g29oT-WNvEQ/SxJv3wENOUI/AAAAAAAAAHI/ochj0Mm4nHw/s200/1.jpg" alt="" id="BLOGGER_PHOTO_ID_5409509106011420994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_g29oT-WNvEQ/SxJwFxcRgcI/AAAAAAAAAHQ/WO6VPuQnSuo/s1600/2.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 120px;" src="http://1.bp.blogspot.com/_g29oT-WNvEQ/SxJwFxcRgcI/AAAAAAAAAHQ/WO6VPuQnSuo/s200/2.jpg" alt="" id="BLOGGER_PHOTO_ID_5409509346898969026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In case you like my wallpaper you can get it here!:)&lt;br /&gt;&lt;a href="http://www.themillionphotohomepage.com/wp-content/uploads/2008/12/happy_snowman_1280-x-1024.jpg"&gt;http://www.themillionphotohomepage.com/wp-content/uploads/2008/12/happy_snowman_1280-x-1024.jpg&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-7346138385240229359?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/7346138385240229359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2009/11/hide-messy-looking-desktop-icons-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7346138385240229359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7346138385240229359'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2009/11/hide-messy-looking-desktop-icons-with.html' title='Hide messy looking desktop icons with one click!'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_g29oT-WNvEQ/SxJv3wENOUI/AAAAAAAAAHI/ochj0Mm4nHw/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-3031902349277456915</id><published>2009-10-04T01:25:00.000-07:00</published><updated>2010-04-13T04:52:20.520-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dialog Buddy Tracker'/><category scheme='http://www.blogger.com/atom/ns#' term='Dialog'/><title type='text'>Dialog Buddy Tracker</title><content type='html'>&lt;a&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;a&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:11px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;a&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;a&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Just found out about the &lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;a href="http://twitter.com/dialogtelekom/statuses/4435792787"&gt;dialog buddy tracker&lt;/a&gt;. Since I'm a fan of Google Latitude and wished i had an iPhone on which i can use it i thought dialog's new service might be worth checking out. As always I googled it first but since there were no useful posts on it thought i will try it out myself and see. Now im putting up a post about it as a guide for anyone interested in checking it out themselves.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;- First activate the service by SMSing the word REG to 779&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;- U will then receive an SMS with instructions on how to use the service ( in fact through-out the use of the service you will receive many SMS from dialog with lots of instructions - i found this a tad bit annoying)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;- To track a buddy u must first add him/her to ur buddy list. SMS the words ADD [friend's number] [friend's nickname] [a group name] to 779 ( don't forget to remove the [] marks)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;- Now your friend would receive an SMS asking him/her to accept your request. Once he/she accepts you will get an SMS confirming this.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;- Now you can find out your friends' location whenever you want by SMSing the words TRACK [friend's number] to 779 or SMSing the words TRACK [friend's nickname] to 779&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;- Soon you will receive an SMS with your friend’s location. At the same time your friend will receive an SMS notifying about the tracking and giving them the option to stop this person from tracking him/her.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;The service also includes functions to find friends in the vicinity and to send secret messages(?) I didn't check those functions out yet.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Overall I think dialog's buddy tracking service is smethng new and interesting but it has some flaws..&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;1. It’s difficult to use. You have to send many SMSs with correct format in order to receive the service properly.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;2. Dialog floods you with sometimes unnecessary SMSs when u use this service ( which is not harmful but can be pretty annoying)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;3. Privacy issues are controlled well but it doesn't allow friends to mislead each other by pretending to be somewhere else. Its great to be honest with your friends but sometimes you don't want them to know where you are ALL THE TIME.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;I think dialog should modify this service by giving user's the option to set their location in addition to allowing dialog to detect it automatically ( just like in iGoogle).&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Finally i think it's cool that dialog will take the effort to provide new and interesting applications to users even if they are probably only doing it to make more money:D&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;If you have comments about this please post them here:)&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&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/5124271008464716872-3031902349277456915?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/3031902349277456915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2009/10/dialog-buddy-tracker.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3031902349277456915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/3031902349277456915'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2009/10/dialog-buddy-tracker.html' title='Dialog Buddy Tracker'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-5383872649097488715</id><published>2009-07-23T23:11:00.000-07:00</published><updated>2010-04-13T04:51:49.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wubi'/><category scheme='http://www.blogger.com/atom/ns#' term='dual boot'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Setup Vista and Ubuntu Dual Boot on Lenovo notebook</title><content type='html'>Yesterday I setup ubuntu on my lenovo y330 notebook which originally had windows vista installed. I had to try different setup methods before finally getting the ubuntu installation to work, but the method i used in the end was the simplest and it worked superbly!&lt;br /&gt;&lt;br /&gt;First step - backup your current system. I already had windows vista installed on my laptop and wanted to make sure that if the ubuntu installation process messed up my system somehow i could easily return it to previous state. Luckily lenovo notebooks generally come with a 'One Key Recovery' system that you can easily use for this purpose. I used the 'One Key Recovery' software to make an ISO image of my current system and write it to a dvd ( i needed 2 dvds for this). Now i had nothing to fear!:D&lt;br /&gt;&lt;br /&gt;Next ubuntu installation&lt;br /&gt;&lt;br /&gt;method 1 - tried to install from CD. Didn't work:( The machine booted from the CD woth no problems but when i selected the option 'install' from the menu nothing happend! none of the menu options worked. Thought perhaps the CD i used was faulty so downloaded ubuntu ISO image from www.ubuntu.com and wrote to another CD. Had same problem with CD no. 2 so gave up on this method!&lt;br /&gt;&lt;br /&gt;method 2 - tried to install using wubi installer for windows ( &lt;a href="http://www.wubi-installer.org/"&gt;www.wubi-installer.org&lt;/a&gt;). downloaded the installer and ran it. installer ran with no problems. i could select the partition on which i wanted to install with ease. next the installer started downloading the ubuntu iso image, the program showed 3 hrs 17min to download! this frustrated me becoz i had already downloaded the ISO image to write the ubuntu CDs! luckily on the wubi installer page i found an option for install with previously downloaded ISO image. this lead to method 3!:D&lt;br /&gt;&lt;br /&gt;method 3 - copied wubi installer .exe file and the ubuntu ISO image i had downloaded to a folder on my hard drive and ran the installer from there. first the installer kept asking for ubuntu cd, but after cancelling this message (which annoyingly popped up several times!!) it finally started installing from the ISO image in the folder. From then on it was smooth sailing!:)&lt;br /&gt;&lt;br /&gt;Now im running a windows dual boot system on my laptop with Windows Vista and Ubuntu 9.04. I'm using ubuntu more frequently than vista because i love the way the OS works!,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-5383872649097488715?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/5383872649097488715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2009/07/setup-vista-and-ubuntu-dual-boot-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/5383872649097488715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/5383872649097488715'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2009/07/setup-vista-and-ubuntu-dual-boot-on.html' title='Setup Vista and Ubuntu Dual Boot on Lenovo notebook'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-8131450612274280820</id><published>2009-07-21T23:32:00.000-07:00</published><updated>2010-04-13T04:51:03.270-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lenovo'/><category scheme='http://www.blogger.com/atom/ns#' term='Lenovo Y330'/><title type='text'>Lenovo Y330 review</title><content type='html'>I just purchased my very first laptop. Its a Lenovo Y330. There were 3 factors I was looking for in a laptop, price, performance and portability ( da 3 Ps!:D ). I found the best compromise for all these in the lenovo y330. Although weight wise it could have been leighter esp since its screen size is just 13.3". The final choice before purchase lay between the lenovo y330 and y410 [14.1"]. In the end i chose the y330 because it had better specs.&lt;br /&gt;&lt;br /&gt;specs..&lt;br /&gt;&lt;br /&gt;processor : intel centrino core 2 duo T6400 @ 2.00GHz ( i will be doing programming on this machine so needed a core 2 duo processor)&lt;br /&gt;ram: 3GB&lt;br /&gt;hdd: 320GB&lt;br /&gt;screen: 13.3"WXGA&lt;br /&gt;battery: 6 cell li-ion batteries ( on power saver mode with wifi turned off i get about 3.5-4hrs battery life)&lt;br /&gt;dvd slot drive ( took some getting used to but seems to work fine)&lt;br /&gt;2 usb ports&lt;br /&gt;headset and mic in ports ( this is in addition to the built in sound and mic which have excellent performance)&lt;br /&gt;BT/wifi/ CR&lt;br /&gt;vga connector&lt;br /&gt;&lt;br /&gt;I purchased the laptop for little under Rs. 100K from TechnoCity Unity Plaza, Colombo, Sri Lanka. I checked the online reviews for this product before purchasing and found them pretty compelling.&lt;br /&gt;&lt;br /&gt;The vendor installed Windows Vista Ultimate for me and some additional programs as well. I'm just about to install Ubuntu and set it up for dual booting. Before that i plan to use the One Key Recovery program of lenovo to backup my current system. Will give details of this in another post:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-8131450612274280820?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/8131450612274280820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2009/07/lenovo-y330-review.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8131450612274280820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8131450612274280820'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2009/07/lenovo-y330-review.html' title='Lenovo Y330 review'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-1896345366032962915</id><published>2009-07-05T02:04:00.000-07:00</published><updated>2010-04-13T04:50:41.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Wave'/><title type='text'>Google wave looks to be the centre of all communication on the internet..</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://s3.amazonaws.com/twitter_production/profile_images/237486286/google_wave_logo_normal.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 48px; height: 48px;" src="http://s3.amazonaws.com/twitter_production/profile_images/237486286/google_wave_logo_normal.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After spending hours online to watch the official video on Google Wave (&lt;a href="http://wave.google.com/"&gt;http://wave.google.com&lt;/a&gt;) i've gotta admit it was fully worth it. Google Wave unveils the miraculous possibilities for (internet) communication for the next few years.&lt;br /&gt;&lt;br /&gt;I can't wait for Google Wave to replace Gmail and GoogleApps.  Read more here..&lt;br /&gt;&lt;br /&gt;Google Wave - will it replace Gmail?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://venturebeat.com/2009/05/28/does-google-wave-mean-the-death-of-gmail-and-google-docs/"&gt;http://venturebeat.com/2009/05/28/does-google-wave-mean-the-death-of-gmail-and-google-docs/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google Wave features&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.cnet.com/8301-17939_109-10250742-2.html"&gt;http://news.cnet.com/8301-17939_109-10250742-2.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are a techy i will definitely advice watching the official video. Its 1.5hrs long but worth it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-1896345366032962915?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/1896345366032962915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2009/07/google-wave-looks-to-be-centre-of-all.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1896345366032962915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1896345366032962915'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2009/07/google-wave-looks-to-be-centre-of-all.html' title='Google wave looks to be the centre of all communication on the internet..'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-56581145424984242</id><published>2009-06-25T08:24:00.000-07:00</published><updated>2010-04-13T04:50:13.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Imagine Cup 2009'/><title type='text'>Imagine Cup 2009</title><content type='html'>This post shares my experience in competing in Imagine Cup 2009 by Microsoft.&lt;br /&gt;&lt;br /&gt;My friend Bhagya (from the IT Faculty of the University of Moratuwa ) and I signed up for this competition in the Mashup category. We made it to the semi finals from among 259 teams worldwide. We did not however make it to the finals in Cairo ( big sigh...). Only 6 teams got selected out of the 16 that were in the semi finals. However competing was a great experience and i learned a lot.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_g29oT-WNvEQ/Sksdgo2i4bI/AAAAAAAAAGY/bZTocp-7Xtc/s1600-h/imagine.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 130px;" src="http://2.bp.blogspot.com/_g29oT-WNvEQ/Sksdgo2i4bI/AAAAAAAAAGY/bZTocp-7Xtc/s200/imagine.JPG" alt="" id="BLOGGER_PHOTO_ID_5353405028619182514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;The mashup we created was based on the UN Millenium Development Goal of Universal Education. The idea was to mashup Facebook and Google Calendar to recruit volunteers to run virtual  sessions on education and  host discussions to raise awareness  on issues related to the MDGs.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;The project proposals we submitted for the Rounds 1 &amp;amp; 2 can be found here..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/250593125/Team_Diversity_-_Imagine_Cup_2009.doc.html"&gt;Round 1&lt;/a&gt;&lt;a href="http://rapidshare.com/files/250593125/Team_Diversity_-_Imagine_Cup_2009.doc.html"&gt;&lt;br /&gt;Round 2&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_g29oT-WNvEQ/SksclHRWt7I/AAAAAAAAAGQ/1p9a8QNJ9V4/s1600-h/ic2009.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-56581145424984242?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/56581145424984242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2009/06/imagine-cup-2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/56581145424984242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/56581145424984242'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2009/06/imagine-cup-2009.html' title='Imagine Cup 2009'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_g29oT-WNvEQ/Sksdgo2i4bI/AAAAAAAAAGY/bZTocp-7Xtc/s72-c/imagine.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-8939419344474309245</id><published>2009-06-08T05:32:00.000-07:00</published><updated>2009-06-08T05:41:14.767-07:00</updated><title type='text'>Why I hate the internet!:D</title><content type='html'>I love the internet so i cannot explain how i came across this article but i thought it really funny so posting it here. This is an article from 1995 , i guess the internet was not too popular back then and facebook and twitter and gmail and blogs and all those things were never heard of. Perhaps years from now people will laugh at what we wrote in blogs because its so primitive.. Who knows..:)&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;center&gt;&lt;br /&gt;WHY I HATE THE INTERNET&lt;/center&gt;&lt;/h1&gt;  &lt;center&gt;&lt;br /&gt;&lt;img src="http://www.tgmag.ca/tgo.v2/v2_images/antinet.gif" naturalsizeflag="3" width="150" align="bottom" height="156" /&gt;&lt;br /&gt;&lt;b&gt;by Kim Bond, TG co-op student&lt;/b&gt;&lt;/center&gt;  &lt;blockquote&gt;The central evil in the universe today is people's obsession with the internet. Or at least, I think so. Everywhere I go it seems that people are falling all over themselves, drooling at the new technology that lights up like magic before their eyes. I can imagine the scene in the corporate men's washroom, with all those technology freaks standing around comparing the size of their hard drives. But no matter how many people tell me that the internet is the information highway to heaven, I can't help but wonder, why?&lt;br /&gt;&lt;br /&gt;Now, before I go any further I guess I'd better explain what the heck I'm doing writing an anti-internet article to be posted on the internet. Yes, it is hypocritical and no, it doesn't make any sense. Maybe deep down my Catholic roots are trying to vent themselves by subconsciously driving me to try to secretly convert all of you internet junkies. Maybe I just feel sorry for all those readers who are being forced to log on for some assignment or work requirement (actually that - unfortunately - is my real reason for doing this. By some insane twist of fate this ranting and raving is actually a part of my job here).&lt;br /&gt;&lt;br /&gt;Every argument I hear in favor of this seemingly amazing technology fails to convince me of it's worth. Of course, I'm just like everyone else in that if something comes along that can make my life more enriched, interesting, and above all easier, I'm going to appreciate it. But I'm just not sure that the internet offers any of these things.&lt;br /&gt;&lt;br /&gt;Let me point out, for example, one of what I consider to be the most misleading pro-internet arguments, namely that the internet is the key to free information for everyone. Excuse me, but the last time I checked nothing about the whole set-up was free. The internet, like any communication tool, is a service provided by a reasonably limited number of companies which charge users according to the amount of time they spend worshipping this lovely invention. And that's for those of us who are fortunate enough to be able to shell out the three thousand bucks to get a computer in the first place. More than any other technology before it, the internet allows only the upper class of society to participate, making the whole "free information" spiel seem more than a little flawed.&lt;br /&gt;&lt;br /&gt;Equally ridiculous is the idea that the future of education will involve link-ups from home computers with which students will communicate with teachers via the internet. How brilliant. The one thing that keeps most teenagers in school to begin with is the opportunity for daily social interaction with their peers. Ask any red-blooded teenager what it is they like about school and they will undoubtedly list friends, gym or art class, school clubs or teams, driver's ed., or other such aspects of high school life which could never be delivered direct-to-you through the internet. Surely stripping school down to the barest, driest facts will lead to a sudden surge of interest in lessons by teenager around the world (I know I'm planning on joining this trend right after that date I have lined up with Brad Pitt).&lt;br /&gt;&lt;br /&gt;The one convincing argument I've heard in favor of the internet claims that the internet will make those long frustrating trips to the library a thing of the past. The idea is that with millions of articles on everything from Moroccan snail population trends to the history of beets, future research will simply be a matter of searching the internet for facts, all from the comfort of your own living room. But even this argument can be easily shot down, as the information posted on the internet has virtually no proof of reliability. Any knucklehead with a computer and half a brain can write anything he or she wants on the internet.&lt;br /&gt;&lt;br /&gt;Wait a minute. Any knucklehead with a computer and half a brain can write anything he or she wants on the internet. Maybe that's the point, after all.&lt;/blockquote&gt;  &lt;center&gt;Copyright © 1995 TG Magazine/The Students Commission&lt;br /&gt;&lt;a href="mailto:tgmag@tgmag.ca"&gt;&lt;b&gt;tgmag@tgmag.ca&lt;/b&gt;&lt;/a&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-8939419344474309245?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/8939419344474309245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2009/06/why-i-hate-internetd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8939419344474309245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/8939419344474309245'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2009/06/why-i-hate-internetd.html' title='Why I hate the internet!:D'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-2056359101575760177</id><published>2008-12-31T05:47:00.000-08:00</published><updated>2008-12-31T06:17:18.023-08:00</updated><title type='text'>New Beginnings</title><content type='html'>Can't believe its 1st Jan 2009 tomorrow! I really don't want 2008 to end because it has been a fantastic year. Both ups and downs of course but the highs are much more memorable than the lows. The most important thing i learnt in 2008 is to 'Never Let an Opportunity Slip Away'. Making a note of it here so that i'll remember it in 2009.&lt;br /&gt;&lt;br /&gt;Most memorable highlights for 2008&lt;br /&gt;&lt;br /&gt;- Getting selected as National Information Systems Manager of AIESEC in Sri Lanka&lt;br /&gt;- Attending AIESEC Evolve conference in Singapore&lt;br /&gt;- Starting my internship at IFS - Colombo&lt;br /&gt;&lt;br /&gt;The purpose of this post however is to record my New Year's Resolutions. I've come up with just 1 for 2009 and have my heart set on sticking to it.&lt;br /&gt;&lt;br /&gt;New Year's Resolution: Will plan everything ahead and use a weekly planner and stick to schedule as much as possible!&lt;br /&gt;&lt;br /&gt;Oh, and I've finally managed to change my blog template. Not sure how long i'll keep this one but I just love the short haired girl in pants idea because that's so me!&lt;br /&gt;&lt;br /&gt;Also on my NewYear's ToDo list is to make more frequent blog postings. Still have to make one about my internship at IFS - Colombo. It's been great so far and i've got loads to say about it. Hope to make that posting soon.&lt;br /&gt;&lt;br /&gt;Goodbye to 2008 and Hello 2009! Have a great New Year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-2056359101575760177?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/2056359101575760177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/12/new-beginnings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/2056359101575760177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/2056359101575760177'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/12/new-beginnings.html' title='New Beginnings'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-6191572215206374257</id><published>2008-12-15T08:13:00.000-08:00</published><updated>2008-12-31T05:47:01.037-08:00</updated><title type='text'>Movie Review - Sisterhood of the Travelling Pants</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_g29oT-WNvEQ/SUaCkhOkwrI/AAAAAAAAAE4/3wkk7VY7n5c/s1600-h/The+Sisterhood+of+the+Traveling+Pants+2%5BDvD+cover%5D.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_g29oT-WNvEQ/SUaCkhOkwrI/AAAAAAAAAE4/3wkk7VY7n5c/s200/The+Sisterhood+of+the+Traveling+Pants+2%5BDvD+cover%5D.jpg" alt="" id="BLOGGER_PHOTO_ID_5280051177044886194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Great movies! Loved both parts 1 &amp;amp; 2. Made me realize how great it is to have girlfriends you can really depend on.  Its more of a what i'd call a 'girly movie' but some guys i know liked the movie too. Wish they'd have a part 3. Gonna get all my friends to watch this!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-6191572215206374257?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/6191572215206374257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/12/movie-review-sisterhood-of-travelling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/6191572215206374257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/6191572215206374257'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/12/movie-review-sisterhood-of-travelling.html' title='Movie Review - Sisterhood of the Travelling Pants'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_g29oT-WNvEQ/SUaCkhOkwrI/AAAAAAAAAE4/3wkk7VY7n5c/s72-c/The+Sisterhood+of+the+Traveling+Pants+2%5BDvD+cover%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-1273123373069658701</id><published>2008-11-22T09:28:00.000-08:00</published><updated>2008-11-22T10:38:33.238-08:00</updated><title type='text'>Turn your speakers on!</title><content type='html'>&lt;center&gt;&lt;p style="visibility: visible;"&gt;&lt;/p&gt;&lt;embed src="http://assets.myflashfetish.com/swf/mp3/mff-mpodmin.swf?myid=15364064&amp;amp;path=2008/11/22" quality="high" wmode="transparent" flashvars="mycolor=6E31C4&amp;amp;mycolor2=BD409B&amp;amp;mycolor3=C24040&amp;amp;autoplay=true&amp;amp;rand=0&amp;amp;f=4&amp;amp;vol=100&amp;amp;pat=4&amp;amp;grad=true" name="myflashfetish" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" style="visibility: visible; width: 158px; height: 208px;" align="middle" border="0" height="208" width="158"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;a href="http://www.myflashfetish.com/playlist/15364064" target="_blank"&gt;&lt;img src="http://assets.myflashfetish.com/images/get-tracks.gif" title="Get Music Tracks!" style="border-style: none;" alt="Music" /&gt;&lt;/a&gt;&lt;a href="http://www.mixpod.com/" target="_blank"&gt;&lt;img src="http://assets.myflashfetish.com/images/make-own.gif" title="Create A Playlist!" style="border-style: none;" alt="Playlist" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mixpod.com/"&gt;Music Playlist&lt;/a&gt; at &lt;a href="http://mixpod.com/"&gt;MixPod.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;This is da coolest widget i've seen so far! If you know of anything better do let me know:)&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/center&gt;&lt;img style="visibility: hidden; width: 0px; height: 0px;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyMjczNzU*NjYwOTMmcHQ9MTIyNzM3NTQ4MzA5MyZwPTE4MDMxJmQ9Jmc9MSZ*PSZvPTA1YjkwMWY4MzcyZDQ1ZWI5MjhjNTc5ZTRjZTc4Mjcx.gif" border="0" height="0" width="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-1273123373069658701?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/1273123373069658701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/11/turn-your-speakers-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1273123373069658701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1273123373069658701'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/11/turn-your-speakers-on.html' title='Turn your speakers on!'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-7453315844594720291</id><published>2008-10-20T02:42:00.000-07:00</published><updated>2010-04-13T04:49:37.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIESEC'/><title type='text'>AIESEC Alumnus Wins 2008 Nobel Peace Prize</title><content type='html'>One of the things that drew me to AIESEC was its vision of peace. To hear that a former AIESECer was awarded the 2008 Nobel Peace Prize just goes on to confirm how powerful AIESEC is in creating change agents!&lt;br /&gt;&lt;br /&gt;Here is the article posted on www.aiesecalum.org about Martti Ahtisaari the 2008 winner of the Nobel Peace Prize.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aiesecalum.org/news.asp?newsid=63"&gt;http://aiesecalum.org/news.asp?newsid=63&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In Sri Lanka AIESEC is only little over a decade old and we are still growing as an organisation. To find out more about current happenings in AIESEC Sri Lanka please see our website &lt;a href="http://www.aiesec.org.lk/"&gt;http://www.aiesec.org.lk&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-7453315844594720291?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/7453315844594720291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/10/aiesec-alumnus-wins-2008-nobel-peace.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7453315844594720291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/7453315844594720291'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/10/aiesec-alumnus-wins-2008-nobel-peace.html' title='AIESEC Alumnus Wins 2008 Nobel Peace Prize'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-6467351413733395296</id><published>2008-09-07T02:36:00.000-07:00</published><updated>2010-04-13T04:49:06.087-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Apps'/><title type='text'>Problem with Google Apps...</title><content type='html'>AIESEC in Sri Lanka is currently using google apps email service which allows our members to have our own emails with our own domain name [ aiesec.org.lk].&lt;br /&gt;&lt;br /&gt;Google apps email works excellently [ js like in gmail]. The pluses are we get our own domain name in the email address and all members using the same domain in their email automatically appear in the shared Contact List [can see all the emails of all our members in ur contacts whithout having to add them manually]. All this for free if you use the 'Std version'of google apps.&lt;br /&gt;&lt;br /&gt;Only I have a small problem as admin that when I delete a user[ std version allows only 200 users, that is 200 email address for your domain] that user doesn't get deleted from the shared contact list. So every time I delete a user from google apps I have to inform all other users on my domain to delete that user from their contact list. Quite problematic actually.&lt;br /&gt;&lt;br /&gt;Since google apps automatically adds all newly created users to the shared 'Contact List' if they would also automatically remove all deleted users from the shared contact list life would be swell!&lt;br /&gt;&lt;br /&gt;I did however report this in the google apps discussion forum. Have to wait and see if I get a reply...&lt;br /&gt;&lt;br /&gt;Anyways having harini@aiesec.org.lk email is great for me becoz harini is a very common name and i can't get a harini@domain for any other free email service!&lt;br /&gt;&lt;br /&gt;So id give google apps 9/10 inspite of the above problem!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-6467351413733395296?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/6467351413733395296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/09/problem-with-google-apps.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/6467351413733395296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/6467351413733395296'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/09/problem-with-google-apps.html' title='Problem with Google Apps...'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-1581539731711253733</id><published>2008-08-07T03:48:00.000-07:00</published><updated>2008-08-07T05:02:28.120-07:00</updated><title type='text'>Natasha's story..</title><content type='html'>Natasha is a nangi I spoke to in the bus today. It was the usual 255 bus ride for me from Galkissa [ a.k.a. Mt. Lavinia] to university. I rarely speak with anyone in the bus unless I meet someone I know from uni but this nangi who I sat next to suddenly started talking to me and within the span of 30 minutes of the bus ride she told me a touching story. I have some doubts about it.. Still whether it is true or not it is a sad story and I pray she has a better life..&lt;br /&gt;&lt;br /&gt;Natasha said she was studying in year 10 at a school in galkissa [ i don't quite remember the name but she said it was a mixed school]. Her ambition is to be a doctor. She was impressed to learn that I was studying engineering [ and i thought i saw a flash of envy in her eyes, but that could've been my imagination]. She has 3 younger brothers and in the course of the conversation she indirectly revealed that her father passed away in the 255 bus bomb about 2 months back [ i did not know what to say at this point..]. She said she wanted to enter university to show off to her relatives who had made fun of her..&lt;br /&gt;&lt;br /&gt;But I am not quite sure of her story, for one thing although she said she was returning from school she was not in uniform and she was not carrying any books, just a transparent file with the chemical table visible on top [ she did say chemistry was her favourite subject though but do they teach chemistry in grade 10??]. She asked me when I will be coming again in the bus [ was this because she wanted to collect money from me?]. &lt;br /&gt;&lt;br /&gt;But she didn't ask me for any money. She even changed 5 rupees for me so that I can collect my change from the bus conductor without any trouble. She seemed genuinely happy to have someone to talk to and genuinely determined about her ambition of becoming a doctor. &lt;br /&gt;&lt;br /&gt;In the end I did give her my home phone number though, in case she wanted help with her studies. Was that a wise thing to do? I dont know..&lt;br /&gt;&lt;br /&gt;Anyways whether Natasha's story is all true or not I wish her good luck and hope she finds a happier life..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-1581539731711253733?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/1581539731711253733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/08/natashas-story.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1581539731711253733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1581539731711253733'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/08/natashas-story.html' title='Natasha&apos;s story..'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-250929560157424282</id><published>2008-06-16T05:07:00.000-07:00</published><updated>2008-08-07T05:04:03.727-07:00</updated><title type='text'>Hardware Engineering for Girls - part I</title><content type='html'>Why is it that boys are generally better at hardware engineering than girls? Well in my university very few of the girls studying computer engineering have a good knowledge in dealing with computer hardware. Why? Maybe becoz girls are generally not expected to get down and dirty with machines.. Well whatever, bottomline anyone studying computer engineering should have some basic knowledge about maintaining the h/w too. And this is how i set out to be a h/w expert:)&lt;br /&gt;&lt;br /&gt;First I browsed YouTube for video tutorials on h/w. This what i found. It's a complete guide for anyone learning about setting up h/w for the first time..&lt;br /&gt;&lt;br /&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8hXX4f-2tHA&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8hXX4f-2tHA&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ifdWCZb0Y8c&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ifdWCZb0Y8c&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/G8dJzLouvEI&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/G8dJzLouvEI&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/a2RWbyusuWs&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/a2RWbyusuWs&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-vhrbDlxLGw&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-vhrbDlxLGw&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/z9vp8uMVuoM&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/z9vp8uMVuoM&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/m7PDCVYVW-o&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/m7PDCVYVW-o&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2Ba-H-JHH1I&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2Ba-H-JHH1I&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/peWUwzgRHmM&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/peWUwzgRHmM&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;object width="200" height="200"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bmJ9J2jxK6s&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/bmJ9J2jxK6s&amp;hl=en" type="application/x-shockwave-flash" width="200" height="200"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Next I opened up the my PC and did a bit of exploring. Although I have opened my PC before to change the RAM or clock battery, i never opened it up just for taking a look around and figuring things out. My usual policy is, as long as it works don't mess with it. &lt;br /&gt;&lt;br /&gt;After my exploring was done I fitted everything back and switched on the PC. Omg, i got a error message saying "Looking for IDE channels..." and then "Please insert Boot CD and press enter". Looked like my policy was right! &lt;br /&gt;&lt;br /&gt;Now I had a real reason to open up the PC [its not working, lol!]. So went and opened it up again and realized I hadn't fitted back the power supply cable going to the DVD ROM [ i had pulled this out during my exploring]. So fitted it back and rebooted. Worked just fine. &lt;br /&gt;&lt;br /&gt;So it really doesn't hurt to do a bit of exploring after all..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-250929560157424282?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/250929560157424282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/06/computer-engineering-for-girls-part-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/250929560157424282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/250929560157424282'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/06/computer-engineering-for-girls-part-i.html' title='Hardware Engineering for Girls - part I'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-607966629195322274</id><published>2008-05-31T08:16:00.000-07:00</published><updated>2008-05-31T11:39:28.808-07:00</updated><title type='text'>AIESEC Evolve conference in Singapore</title><content type='html'>Wow, where do I start. This is gonna be a very long post. So here goes..&lt;br /&gt;&lt;br /&gt;Well I thought I won't be able to attend the conference because my university didn't approve my leave at first [ well it was the holidays but there were still other issues..]. Then just days before the conference I got the approval, with the help of my friends in university, tnx loads to them:) &lt;br /&gt;I already had a ticket due to leave early morning on the 6th. I got the approval on the 5th morning, packed my bags in the afternoon and was out of the country the very next morning! Wouldn't have made it without the help of my family of course.. especially mom! tnx mom:)&lt;br /&gt;&lt;br /&gt;When I arrived in Singapore I joined the rest of the Sri Lankan delegation who were also from the University of Moratuwa[Colombo South Local Committee]and had a wonderful time for the 5 days of the conference!&lt;br /&gt;&lt;br /&gt;The theme of the conference was 'From Social Entrepreneurship to Social Intrapreneurship'. I learned a lot at the conference and it did help me evolve:)But most of all I met AIESECers from 14 different countries and made loads of new friends.&lt;br /&gt;&lt;br /&gt;I had just one day left after the conference for sightseeing and shopping. In the end  I spent most of that day at sentosa island. I was a bit dissapointed they didn't have bunjee jumping[that's definitely on my 'to do some day' list] but i got to ride on a sky tram which was quite exciting.. I also got to see the pink dolphins who were really cute.&lt;br /&gt;&lt;br /&gt;All in all it was a fascinating experience. AIESEC in Singapore did an amazing job organizing the conference, hats off to them:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_g29oT-WNvEQ/SEGbEiPQgwI/AAAAAAAAACg/kSD8BybV-HQ/s1600-h/Pic.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_g29oT-WNvEQ/SEGbEiPQgwI/AAAAAAAAACg/kSD8BybV-HQ/s400/Pic.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5206613146429588226" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-607966629195322274?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/607966629195322274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/05/aiesec-evolve-conference-in-singapore.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/607966629195322274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/607966629195322274'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/05/aiesec-evolve-conference-in-singapore.html' title='AIESEC Evolve conference in Singapore'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_g29oT-WNvEQ/SEGbEiPQgwI/AAAAAAAAACg/kSD8BybV-HQ/s72-c/Pic.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-9194745157677541666</id><published>2008-05-02T03:56:00.000-07:00</published><updated>2008-05-02T04:34:21.468-07:00</updated><title type='text'>Free stuff over the internet</title><content type='html'>As someone who recently converted from a slow dial-up connection (52kbps at max)to a broadband connection I am just beginning to discover the 'so far undiscovered treasures of the internet'. &lt;br /&gt;&lt;br /&gt;My current favorite treasures are You Tube [ its fantastic to finally be able to watch streaming videos in real time over the net] and LimeWire. Of the 2 i guess LimeWire is the real treasure coz its become my doorway to free stuff over the internet!&lt;br /&gt;&lt;br /&gt;LimeWire &lt;a href="http://www.limewire.com"&gt;http://www.limewire.com&lt;/a&gt; is a software that enables P2P file sharing. You can use it to search for music, videos, ebooks or software that you are looking for. The program searches if any of its other users have what you are looking for on their pcs. If yes they will download it directly from their pc to yours! Its absolutely free! I am not sure to what extent copyright laws are broken but im not too bothered.. Anyways I am a big supporter of having free stuff over the net. Id very much like to see the internet becoming an equalizer in that way..&lt;br /&gt;&lt;br /&gt;As all things LimeWire has both good and bad...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Good:)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Free!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Choice&lt;/span&gt; [when there are multiple files with same content u can decide which file to download depending on the file rating]&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Pause &lt;/span&gt;[ U can always run the download in the background while doing another task and u can always pause it and shut down the program and come back whenever..]&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Bad:(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Virus &lt;/span&gt;[ u might come across viruses disguized as other content. how well u ellude these depends on wit and the strenght of ur anti virus]&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Limited &lt;/span&gt;[ Dont expect to find evrything u r looking for.. Availability depends on popularity and how lucky u r!]&lt;br /&gt;&lt;br /&gt;LimeWire is opensource and absolutely free. Really worth trying out...&lt;br /&gt;&lt;br /&gt;No more googling evry damn thing im looking for.. A good thing, especially since google is becoming more and more copyright conscious and hiding away free content sites where u can't find them...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-9194745157677541666?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/9194745157677541666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/05/free-stuff-over-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/9194745157677541666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/9194745157677541666'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/05/free-stuff-over-internet.html' title='Free stuff over the internet'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-4544043949225716287</id><published>2008-04-21T05:32:00.000-07:00</published><updated>2008-06-16T06:02:45.237-07:00</updated><title type='text'>This is the International Year of the Potato</title><content type='html'>No, I'm not joking. Find out why the UN thinks potatoes are so important..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.potato2008.org/"&gt;http://www.potato2008.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-4544043949225716287?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/4544043949225716287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/04/international-year-of-potato.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4544043949225716287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4544043949225716287'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/04/international-year-of-potato.html' title='This is the International Year of the Potato'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-4215552250233892605</id><published>2008-04-21T04:24:00.000-07:00</published><updated>2008-04-21T05:22:24.977-07:00</updated><title type='text'>Negotiating</title><content type='html'>Let's say there is a problem between you and another person. What do you do if the other person simply refuses to discuss the problem with you? Refuses to even listen? I faced such a situation today and I admit I was deeply hurt and stunned because this person is someone I respected and looked up to.&lt;br /&gt;&lt;br /&gt;I am a strong believer in the power of negotiation, especially in conflict resolution.&lt;br /&gt;&lt;br /&gt;My country, Sri Lanka, is suffering under the burden of over 2 decades of conflict between the government and the L.T.T.E. The L.T.T.E. leader Velupillai Prabhakaran refuses to come to the negotiating table with the current government.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hindu.com/fline/fl2313/stories/20060714005300500.htm"&gt;http://www.hindu.com/fline/fl2313/stories/20060714005300500.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Because the L.T.T.E. is unwilling to compromise and to even discuss matters with the government the war continues in the north and the death toll rises, hundreds of thousands of people are internally displaced and people of Sri Lanka live their lives under the continuous sufferings of WAR.&lt;br /&gt;&lt;br /&gt;How can 2 parties solve their differences if one party refuses to talk with the other? Most of us must know at least one such conflict where one person stubbornly refuses to talk to the other and as a result the problem between them festers. Whether the matter is related to work, relationships or any other matter the final result will be the same, aggravating the problem instead of solving it.&lt;br /&gt;&lt;br /&gt;In the end all I can say is that I have totally lost the respect I had for this person..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-4215552250233892605?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/4215552250233892605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/04/negotiating.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4215552250233892605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/4215552250233892605'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/04/negotiating.html' title='Negotiating'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5124271008464716872.post-1669292108057732019</id><published>2008-04-18T22:32:00.000-07:00</published><updated>2008-04-18T23:01:52.104-07:00</updated><title type='text'>About me..</title><content type='html'>I am Harini Sirisena. A 3rd year undergraduate in computer science &amp;amp; engineering at the   University of Moratuwa, Sri Lanka. I am also a member of AIESEC, the world's largest university students' organization. Outside of university and AIESEC I am currently following a diploma in business management. If not for engineering I would have preferred to study law, but fortunately for my friends and family I got into engineering instead:)&lt;br /&gt;&lt;br /&gt;My aspiration is to become a social entrepreneur/intrapreneur and to use technology to aid the development of my country.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;I saw many problems...I asked, why somebody didn't do anything about them.Then I realized, I WAS SOMEBODY. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5124271008464716872-1669292108057732019?l=hariniachala.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hariniachala.blogspot.com/feeds/1669292108057732019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hariniachala.blogspot.com/2008/04/about-me.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1669292108057732019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5124271008464716872/posts/default/1669292108057732019'/><link rel='alternate' type='text/html' href='http://hariniachala.blogspot.com/2008/04/about-me.html' title='About me..'/><author><name>Harini Sirisena</name><uri>http://www.blogger.com/profile/01012707618736540899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
