tag:blogger.com,1999:blog-141891292024-03-13T01:46:29.482-07:00sp2hari@web log :)Real programmers don't comment their code. If it was hard to write, it should be hard to understand.Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.comBlogger66125tag:blogger.com,1999:blog-14189129.post-56115126740156993452007-11-05T03:40:00.000-08:002007-11-05T04:26:42.700-08:00Home... Sweet Home...Finally got a new home for myself. Many many thanks to manas for this nice gift. :-)<br /><br />URL: <a href="http://sp2hari.com/">http://sp2hari.com/</a><br /><br />Feed URL: <a href="http://sp2hari.com/feed/">http://sp2hari.com/feed/</a><br /><br />Update your links and feed url.Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com1tag:blogger.com,1999:blog-14189129.post-86296611502557393702007-10-15T03:32:00.000-07:002007-10-15T04:25:07.229-07:00Blue... ;-) ;-)Wikipedia says<br /><span style="font-style: italic;">"The term blue may refer to any of a number of similar colors. The sensation of blue is made by light having a spectrum dominated by energy in the wavelength range of about 440–490 nm.</span><br /><span style="font-style: italic;">Blue is considered to be one of the three primary additive colors in the RGB system; blue light has the shortest wavelength range of the three additive primary colors. The English language commonly uses "blue" to refer to any color from navy blue to cyan."</span><br /><br />Some strange facts ( of course i googled for them :P )<br /><ul style="text-align: justify;"><li>Blue eyes are the most sensitive to light, brown eyes the least sensitive!</li><li>Owls are the only birds who can see the color blue!</li><li>80 percent of Americans love blue color!</li><li>Blue and white are the most common school colors!</li><li>Animal breeders in Russia once claimed to have bred sheep with blue wool!</li><li>A scallop has 35 blue eyes!</li><li>Mosquitoes are attracted to the color blue twice as much as any other!</li><li>Maine produces about 98-99% of all wild blueberries in the US!</li><li>The red traffic light contains some orange color and the green traffic light contains some blue color making it easier for people with red-green color blindness!</li><li>More people use blue toothbrushes, than red ones!</li><li>Other than humans, black lemurs are the only primates that may have blue eyes!</li><li>There are only two animals with blue tongues, the Black Bear and the Chow dog!</li><li>The blue whale can produce sounds up to about 188 decibels!</li><li>A blue whales heart beats nine times per minute!</li><li>Most elephants weigh less than the tongue of the blue whale!</li><li>Blue whales weigh as much as 30 elephants and are as long as 3 Greyhound buses!</li><li>The blood vessels of a blue whale are wide enough for an adult trout to swim through!</li></ul>Well enough of facts, I'll tell you some more nice facts :P :P<br /><ul style="text-align: justify;"><li>Sudden change to blue color makes people shout "Blue Blue Blue" all the time. This syndrome can be observed around one week even before the color change occurs.</li><li>Any girl who works in front of computer most of the time loves blue color than anything else.</li><li>Though blue color wavelength is 440-490 nm, the lower bound for blue color is 1200 and the upper bound is 1500.</li><li>Though the hexadecimal triplet for blue is #0000FF, the actual blue you see in the websites is #6666FF. This can be checked in the css file. For example</li>/* Blue */<br /><pre>.coderTextBlue, .coderTextBlue:link, .coderTextBlue:visited, .coderTextBlue:hover, .coderTextBlue:active <br />{ color: #6666FF; }<br /></pre></ul>Hmmmm, i wish i could write more but have to stop here :-) :-)Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com3tag:blogger.com,1999:blog-14189129.post-34466285995285083092007-09-20T01:42:00.000-07:002007-09-20T05:10:31.046-07:00Slice...<div style="text-align: justify;">Slice notation is one of the powerful feature in python using which can be used for operations like substr, str_reverse etc etc.<br /></div><br /><div style="text-align: justify;">The slice notation is really powerful for strings. I'm not very sure whether it can be used for other data types.<br /><br />For a string, it can be used as variable_name[start:end:step]<br /></div><br /><div style="text-align: justify;">If the start and end are equal, then a null string is returned.<br />If step is positive and start is greater than the end, then a null string is returned.<br />If step is negative and start is lesser than the end, then a null string is returned.<br /></div><br /><div style="text-align: justify;">Ok. If you are confused about start, end, step, equal, greater. lesser, positive and negative, don't worry. Things are explained very clearly after this. :-)<br /><br /><div style="text-align: justify;">First few lines about the step. If the step is positive, then the direction in which the input string is scanned is forward direction. If the step is negative, then the string is scanned in reverse direction. So now i hope you understand why start must be less than end if step is positive. For the same reason, start must be less than end if the step is negative.<br /></div></div><br />Let us see a simple slice example.<br /><br /><span style="font-family:courier new;">>>> i = "Hello World"<br /></span><span style="font-family:courier new;">>>> i[2:10:1]<br /></span><span style="font-family:courier new;">'llo Worl'</span><br /><br /><div style="text-align: justify;">So it's very clear that the basic action of the slice notation is to return a sub string.<br />In the above example, it returns the characters from the string whose position are equal to and greater than start and less than end.<br /></div><br /><div style="text-align: justify;">Note :: The character at position end is not returned.<br />In the above example i[10] = "d" is not returned.<br /></div><br />If the start is not specified and step is positive, then the default value is 0<br />If the end is not specified and step is positive, then the default value is len(string).<br />If the start is not specified and step is negative then the default value is len(string).<br />If the end is not specified and step is negative, then the default value is NOT 0, coz in this case even 0th character is returned.<br />If the step is not specified, then the default value is 1<br /><br /><br />So i[::] prints the entire string. In fact, in most cases the step is not specified. So i[:] returns the entire string.<br /><br /><span style="font-family:courier new;">>>> i = "Hello World"<br /></span><span style="font-family:courier new;">>>> i[::]<br /></span><span style="font-family:courier new;">'Hello World'<br /></span><span style="font-family:courier new;">>>> i[:]<br /></span><span style="font-family:courier new;">'Hello World'<br /></span><span style="font-family:courier new;">>>><br /></span><br />Slice notation can also take negative values.<br />If the start value is negative, then the last start characters are returned.<br />If the end value is negative, then the last end characters are not returned.<br /><br /><div style="text-align: justify;">So if both start and end values are negative, then the absolute value of start must be greater than the absolute value of end. Else a null string will be returned.<br /></div><br /><span style="font-family:courier new;">>>> i = "Hello World"<br /></span><span style="font-family:courier new;">>>> i[-5:] #Start is -ve. So last 5 characters<br /></span><span style="font-family:courier new;">'World'<br /></span><span style="font-family:courier new;">>>> i[:-5] #End is -ve. So everything except last 5 characters</span><br /><span style="font-family:courier new;">'Hello '</span><br /><span style="font-family:courier new;">>>> i[-8:-3] #Start is -8. =>"lo World". In this don't include last 3 characters => "lo Wo"<br /></span><span style="font-family:courier new;">'lo Wo'</span><br /><span style="font-family:courier new;">>>><br /></span><br /><div style="text-align: justify;">The real fun is when even step is negative.<br />If the start is greater than the end, then the step must be -ve, which makes the string to be returned as reverse.<br /></div><br />So consider this example.<br /><span style="font-family:courier new;">>>> i = "Hello World"<br /></span><span style="font-family:courier new;">>>> i[8:4:-1]<br /></span><span style="font-family:courier new;">'roW '<br /></span><span style="font-family:courier new;">>>> </span><br /><br /><div style="text-align: justify;">In the above example, i[8:4] part refers to i[8] and i[4] positions and since the step is negative, now it returns characters at i[8], i[7], i[6], i[5]. Note that even here i[4] is not returned.<br /></div><br />Finally, if step is something other than 1, then every stepth character is returned. For example<br />>>> i = "Hello World"<br />>>> i[::2]<br />'HloWrd'<br />>>> i[::-2]<br />'drWolH'<br />>>><br /><br />Any idea why i wrote this post.<br /><br />Saw this small snippet for string reverse in python<br /><br /><span style="font-family:courier new;">>>> a = "Hello World"<br /></span><span style="font-family:courier new;">>>> print a[::-1]<br /></span><span style="font-family:courier new;">dlroW olleH<br /></span><span style="font-family:courier new;">>>><br /></span><br />Sweet and cute na. ;-)<br /><br />To know more about slice notation you refer to the python <a href="http://docs.python.org/tut/node5.html#SECTION005120000000000000000">python doc</a>.Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com6tag:blogger.com,1999:blog-14189129.post-20101507915117714752007-09-09T03:38:00.000-07:002008-12-11T04:05:51.904-08:00Potato Guy ...<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTy60AbBR5GQPUr3az9U7IHu81djrsKnzK3Kn4uqmbAd-4dxTsTlK6IkSJe9kJk9UDs-92mbjSI1p065WoEuf3uDKV0C49xlz54bSH_5DOFWNJYTrg2cwLKIRbIfKXGP7bqVzdRg/s1600-h/potato.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTy60AbBR5GQPUr3az9U7IHu81djrsKnzK3Kn4uqmbAd-4dxTsTlK6IkSJe9kJk9UDs-92mbjSI1p065WoEuf3uDKV0C49xlz54bSH_5DOFWNJYTrg2cwLKIRbIfKXGP7bqVzdRg/s400/potato.jpg" alt="" id="BLOGGER_PHOTO_ID_5108152254485819842" border="0" /></a><br /><div style="text-align: justify;">I wasn't sure why people celebrate <a href="http://www.shutdownday.org/">shutdown day</a> and all. The whole idea looked stupid. :P But it was not so.<br /></div><br /><div style="text-align: justify;">Our college network was shutdown yesterday. No Gmail. No Orkut. No Spider. No Delta. Nothing :P<br />All i had was 2 or 3 computers with Linux and Windows :). Many many thanks to all the Gnome and KDE games, the day wasn't that boring. In fact, i don't mind having shutdown day once in a week :) :) :)<br /></div><div style="text-align: justify;">The good thing about shutdown day is that even if you want to work, you can't. :-). So you don't feel bad or guilty about not working for one whole day. :-) :-) :-)<br /></div><br />Some of the nice games which are worth playing are<br />1. Attax<br />2. KAtomic (Even those who don't like chemistry might end up playing this for hours :) )<br />3. Kolf<br />4. Potato Guy<br />5. IagnoHarishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com5tag:blogger.com,1999:blog-14189129.post-58965279079832392007-08-26T02:43:00.000-07:002008-12-11T04:05:53.707-08:00Firefox 3 is amazing :)Working on any product which is not yet released and developed by hackers all over the world ;) gives you sweet surprises every now and then ;).<br /><br />I have already mentioned how the form elements are made better in FF3.0 in <a href="http://sp2hari.blogspot.com/2007/06/firefox-3-ui-rocks.html">http://sp2hari.blogspot.com/2007/06/firefox-3-ui-rocks.html</a><br /><br />The next surprise is Bookmarks ,FTP browsing and Downloads window :-) :).<br /><br />Check out the screenshot for yourself<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAQC6yjOLOfoTmREM9If1IF4FYNnyz20za4WXFQm2Q6Nh0q812qqzBhUCBK03_FsF4gH-eOGmx33almfrY5C-kbYsPSr0cj6ng4ZjrbY_63gJWa_cqX1fIFJo4SJLq7qRBmQvSsg/s1600-h/Screenshot-4.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAQC6yjOLOfoTmREM9If1IF4FYNnyz20za4WXFQm2Q6Nh0q812qqzBhUCBK03_FsF4gH-eOGmx33almfrY5C-kbYsPSr0cj6ng4ZjrbY_63gJWa_cqX1fIFJo4SJLq7qRBmQvSsg/s400/Screenshot-4.jpg" alt="" id="BLOGGER_PHOTO_ID_5102944984596541714" border="0" /></a><br />The favicon for the ftp is cute :-).<br /><br />Next one is the way bookmarks are added. Just like starring a mail in Gmail.<br />Check this screenshot. You can see a star there right in the Location bar right?<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhllL1Hx9-80ALm1OwDSpAuP3chnNetmvjH36le1TxiVlfwXnuGdZ3yvgZ8xU_XbozgXm3H9rPhQESZZeF06SJXy0oiekZz5pyXlwj5LRq_XYP31YEKsN7PlNIC1B9mlU1cAVpFjA/s1600-h/bookmark1.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhllL1Hx9-80ALm1OwDSpAuP3chnNetmvjH36le1TxiVlfwXnuGdZ3yvgZ8xU_XbozgXm3H9rPhQESZZeF06SJXy0oiekZz5pyXlwj5LRq_XYP31YEKsN7PlNIC1B9mlU1cAVpFjA/s400/bookmark1.jpg" alt="" id="BLOGGER_PHOTO_ID_5102947699015872802" border="0" /></a><br />Click that once and the link is bookmarked :).<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEQW1Is1ivWCUoQuWCRvFkpq52nv3Bfqgi_KT9ick9WvJlrEbX6afXNWb_bsNf6poxGktLrTTbESMDUx5rYeo4blG7AEZkQQGzmu9Y1Kqo9drRbCvuAu2kEToIYBvYX6kBvIyuzw/s1600-h/bookmark2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEQW1Is1ivWCUoQuWCRvFkpq52nv3Bfqgi_KT9ick9WvJlrEbX6afXNWb_bsNf6poxGktLrTTbESMDUx5rYeo4blG7AEZkQQGzmu9Y1Kqo9drRbCvuAu2kEToIYBvYX6kBvIyuzw/s400/bookmark2.jpg" alt="" id="BLOGGER_PHOTO_ID_5102947699015872818" border="0" /></a><br />Next time you click it, you get bookmark options :)<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnTLP1G4cUoeHoDTlB8VkHAuQubb48aCPcxvQ8PaOxJTxFefNiOgS9c2RyeEEX5J8e7Sx8hD2RNTplMrIEYFTYE90UmcpUj1RGKfmZxU7ah_Vd8EKrzw8NgXdrlUTsHEmgaSto_Q/s1600-h/bookmark3.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnTLP1G4cUoeHoDTlB8VkHAuQubb48aCPcxvQ8PaOxJTxFefNiOgS9c2RyeEEX5J8e7Sx8hD2RNTplMrIEYFTYE90UmcpUj1RGKfmZxU7ah_Vd8EKrzw8NgXdrlUTsHEmgaSto_Q/s400/bookmark3.jpg" alt="" id="BLOGGER_PHOTO_ID_5102947707605807426" border="0" /></a><br />Finally, the downloads window is more colorful now, with some new images :)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDjDMvoXFsorcFFByC7x2WMcmf1__KvOjPQvqnFK2kW5mSme3xzQGtEpA8FchjG0Q45VuOKS0kg7kLcZlH8GAqiYBcaPTCo_vZETLZSvlIT8TtJegpDa1ZdOFAjzOmfH2NSzAc3A/s1600-h/downloads.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDjDMvoXFsorcFFByC7x2WMcmf1__KvOjPQvqnFK2kW5mSme3xzQGtEpA8FchjG0Q45VuOKS0kg7kLcZlH8GAqiYBcaPTCo_vZETLZSvlIT8TtJegpDa1ZdOFAjzOmfH2NSzAc3A/s400/downloads.jpg" alt="" id="BLOGGER_PHOTO_ID_5102949434182660434" border="0" /></a><br />The search in the downloads is a cool feature :)<br /><br />Hmmm, these are some of the features which i could notice while testing firefox. Not sure how much more is there :-). Really firefox 3 is going to rock :)Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com3tag:blogger.com,1999:blog-14189129.post-36367449967201592152007-08-25T13:30:00.000-07:002007-08-25T14:09:17.515-07:00Recording your screen in solaris :)Recording your screen in Solaris works right out of the box. All you need to install is vncserver and vnc2swf.<br /><br />A simple HOW TO about recording your screen in Solaris. :)<br /><br />First you need to install Vncserver. Solaris by default doesn't come with a VNC. The easiest way to install VNC is through pkg-get<br /><br /><span style="font-family:courier new;">root@home# pkg-get -i vncserver<br /><br /></span><div style="text-align: justify;"><span style="font-family:courier new;"><span style="font-family:georgia;">Before running that command, configure your pkg-get to get the packages from blastwave.org. Check </span><a style="font-family: georgia;" href="http://www.blastwave.org/howto.html">http://www.blastwave.org/howto.html</a><span style="font-family:georgia;"> to get more details about setting up the repo.</span></span><br /></div><span style="font-family:courier new;"><span style="font-family:georgia;"> </span><span style="font-family:georgia;">That should install vncserver. :)<br /><br /></span><span style="font-family:georgia;">Next step it to install vnc2swf.<br /></span> <span style="font-family:georgia;">Download the C version of vnc2swf from </span><a style="font-family: georgia;" href="http://www.unixuser.org/%7Eeuske/vnc2swf/index.html">http://www.unixuser.org/%7Eeuske/vnc2swf/index.html</a><span style="font-family:georgia;">.<br /></span> <span style="font-family:georgia;">Extract the tar ball<br /><br /></span>hari@home:~$cd vnc2swf<br />hari@home:~$./configure<br />hari@home:~$make<br />root@home#make install<br /><br /><span style="font-family:georgia;">The commands mentioned above will install vnc2swf . :)<br /><br /></span></span><div style="text-align: justify;"><span style="font-family:courier new;"><span style="font-family:georgia;">All you need to do to use vnc2swf is to start a vncserver. vnc2swf just needs the output file name to be passed as command line argument when started. Pressing F8 gives the options to start, stop, pause and clear the reocrding. </span></span><br /></div><span style="font-family:courier new;"><span style="font-family:georgia;"><br />Some of the issues i faced are :)<br /><br /></span></span><div style="text-align: justify;"><span style="font-family:courier new;"><span style="font-family:georgia;">1. When the same user tries to start a gnome-session in the vnc, an error message saying gnome-session is already running is given. So the best bet is to create a new user and start the vncserver of that user.</span></span><br /></div><span style="font-family:courier new;"><span style="font-family:georgia;"><br /></span></span><div style="text-align: justify;"><span style="font-family:courier new;"><span style="font-family:georgia;">2. The icons are not displayed properly if you login into the new user's account using GNOME. Use Common Desktop Environment (CDE) to login and start a vncserver. </span></span><br /></div><span style="font-family:courier new;"><span style="font-family:georgia;"><br />3. By default, the new user won't have a .vnc folder. So start a vnc and kill that. Now you will have .vnc folder with a xstartup file. Modify the file so that gnome-session runs in the vnc instead of the default twm. The xstartup file should look like<br /><br /><span style="font-family:courier new;">#!/bin/sh</span><br /><br /><span style="font-family:courier new;">/usr/openwin/bin/xrdb $HOME/.Xresources<br /></span><span style="font-family:courier new;">/usr/openwin/bin/xsetroot -solid grey<br /></span><span style="font-family:courier new;">/usr/openwin/bin/xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &<br /></span><span style="font-family:courier new;">#/usr/openwin/bin/twm &<br /></span><span style="font-family:courier new;">gnome-session &</span><br /><br /><br />And yeah, what i recorded can be viewed at <a href="http://download.freedesktop.org/ldtp/movies/screen2.html">http://download.freedesktop.org/ldtp/movies/screen2.html</a>. Nice right ;-)<br /><br /></span></span>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-51985061686460618952007-08-25T12:12:00.000-07:002007-08-25T13:23:21.523-07:00My Tinderbox is working...<div style="text-align: justify;">Yes, you heard it right. My tinderbox is working. Even now i don't know why i was trying to setup a tinderbox after both Emily and Nags asked me to concentrate on Firefox automation. I felt it was almost done and just few more steps, i will be able to set it up. And that's what finally happened :)<br /></div><br />So in this post, i am going to mention about all issues i faced in setting up a tinderbox and steps to fix them.<br /><br /><div style="text-align: justify;">Note :: If you are ever setting up a tinderbox, be prepared to see huge log files. Like once my compilation ran for few hours and produced a log file of size 15MB. And if you are stuck up, DON'T send the entire file. A tail of that file should do. In fact, you should be in a position to find out from while line the exact error starts.<br /></div><br />Yeah before you start reading this<br /><a href="http://sp2hari.blogspot.com/2007/06/conquered-solaris.html">http://sp2hari.blogspot.com/2007/06/conquered-solaris.html</a> and<br /><a href="http://sp2hari.blogspot.com/2007/06/tinderbox.html">http://sp2hari.blogspot.com/2007/06/tinderbox.html</a> has instructions about how to setup Tinderbox in Solaris environment.<br /><br />Ok the first error i got was<br /><br /><div style="text-align: left;"><span style="font-family:courier new;">Building deps for jsinterp.c</span><br /><span style="font-family:courier new;">cc -o jsinterp.o -c -DOSTYPE=\"SunOS5\" -DOSARCH=SunOS -DEXPORT_JS_API -DJS_USE_SAFE_ARENA -I../../dist/include -I../../dist/include/js -I../../dist/include/nspr -DMOZ_PNG_READ -DMOZ_PNG_WRITE -I../../dist/sdk/include -I. -KPIC -xlibmil -xstrconst -xbuiltin=%all -mt -DNDEBUG -DTRIMMED -xO4 -DMOZILLA_VERSION=\"1.9a7pre\" -DMOZILLA_VERSION_U=1.9a7pre -DSOLARIS=1 -DNSCAP_DISABLE_DEBUG_PTR_TYPES=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UINT_T=1 -DHAVE_UINT16_T=1 -DHAVE_DIRENT_H=1 -DHAVE_SYS_BYTEORDER_H=1 -DHAVE_GETOPT_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_LIBSOCKET=1 -DFUNCPROTO=15 -DHAVE_XSHM=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_I18N_LC_MESSAGES=1 -DMOZ_EMBEDDING_LEVEL_DEFAULT=1 -DMOZ_EMBEDDING_LEVEL_BASIC=1 -DMOZ_EMBEDDING_LEVEL_MINIMAL=1 -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_XUL_APP=1 -DMOZ_DEFAULT_TOOLKIT=\"cairo-gtk2\" -DMOZ_WIDGET_GTK2=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_THEBES=1 -DMOZ_CAIRO_GFX=1 -DMOZ_X11=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_ENABLE_XFT=1 -DMOZ_ENABLE_PANGO=1 -DMOZ_ENABLE_COREXFONTS=1 -DMOZ_ENABLE_GNOMEUI=1 -DMOZ_EXTRA_X11CONVERTERS=1 -DOJI=1 -DIBMBIDI=1 -DMOZ_VIEW_SOURCE=1 -DACCESSIBILITY=1 -DMOZ_XPINSTALL=1 -DMOZ_JSLOADER=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_NO_XPCOM_OBSOLETE=1 -DMOZ_XTF=1 -DMOZ_MATHML=1 -DMOZ_ENABLE_CANVAS=1 -DMOZ_SVG=1 -DMOZ_SVG_FOREIGNOBJECT=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_PLACES=1 -DMOZ_PLACES_BOOKMARKS=1 -DMOZ_FEEDS=1 -DMOZ_STORAGE=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_LOGGING=1 -DMOZ_USER_DIR=\".mozilla\" -DMOZ_ENABLE_LIBXUL=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_SYS_INT_TYPES_H=1 -DHAVE_UINT64_T=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1 -DMOZ_RDF=1 -DMOZ_MORKREADER=1 -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=1 -DATK_MINOR_VERSION=12 -DATK_REV_VERSION=3 -DMOZILLA_LOCALE_VERSION=\"1.9a1\" -DMOZILLA_REGION_VERSION=\"1.9a1\" -DMOZILLA_SKIN_VERSION=\"1.8\" -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT jsinterp.c</span><br /><span style="font-family:courier new;">ube: error: Assert has been violated at '/set/venus/builds.intel-S2/nightly.Thu/intel-S2/lang/ube/graphs/src/scregion.c 305'.</span><br /><span style="font-family:courier new;">cc: ube failed for jsinterp.c</span><br /><span style="font-family:courier new;">gmake[4]: *** [jsinterp.o] Error 2</span><br /></div><br /><div style="text-align: left;"><div style="text-align: justify;">Dave from Sun china asked me use a patch for Sun Studio 11 Compiler C. I don't have the link to the patch now but the patch id is 121016-05. I remember getting it from the sun website. So searching there should give you the link. The above patch was dependent on patch 120759-06. So installed patch 120759-06 first and then install the patch 121016-05.<br /></div><br />Steps to add a patch in Solaris are given below. The commands are for patch 121016-05. Change the id according to the patch you are installing.<br /><br />1. Download 121016-05.zip and extract the contents in your current directory<br />2. Login as root<br />3. <span style="font-family:courier new;">root@home# patchadd 121016-05 </span><br />Note :: If the above command doesn't work, then try <span style="font-family:courier new;"><br />root@home# patchadd . 121016-05</span><br /><br /><div style="text-align: justify;">The above steps should install the patch in your system. To check whether the patch is installed properly, check the folder /var/sadm/patch/. You should see seperate directories for each patch you have installed. In my system here, the /var/sdm/patch is like<br /></div><div style="text-align: left; font-family: courier new;"># cd /var/sadm/patch/<br /># ls<br />120759-06 121016-05<br /><br /></div>That fixed the above problem :).<br /><br />The next error i got was<br /><br /><span style="font-family:courier new;">jsinterp.c</span><br /><span style="font-family:courier new;">ir2hf: error: Ran out of memory</span><br /><span style="font-family:courier new;">cc: ir2hf failed for jsinterp.c</span><br /><br /></div><div style="text-align: justify;">Now this is a strange problem and which can be fixed without much issue. You need more RAM. My system had 768MB (512+256) RAM, but you need 1GB RAM to fix this issue. So next day i got 1GB RAM and never got this error back.<br /></div><br /><div style="text-align: justify;">After that, i got many compilation errors. This happened because of some issue in the mozilla code. This generally never happens. I got errors in lines having inline. Anyway now i am not getting the error anymore. So i think the mozilla code is fixed now. :)<br /></div><br />Finally i got an error saying,<br /><br /><span style="font-family:courier new;">gmake[3]: Leaving directory `/export/home/hari/tinderbox</span><div style="font-family: courier new;" id="mb_0"><wbr>/SunOS_5.11_Depend/mozilla'<br />gmake[2]: Leaving directory `/export/home/hari/tinderbox<wbr>/SunOS_5.11_Depend/mozilla'<br />make[1]: Leaving directory `/export/home/hari/tinderbox<wbr>/SunOS_5.11_Depend/mozilla'<br />firefox-bin built successfully.<br />firefox-bin built successfully.<br />firefox-bin binary exists, build successful.<br />Unable to find path to Talkback client. Proceeding as if Talkback was not installed.<br /><br /><br />Running regxpcom test ...<br />Timeout = 120 seconds.<br />Begin: Fri Aug 24 08:08:37 2007<br />cmd = /export/home/hari/tinderbox<wbr>/SunOS_5.11_Depend/mozilla/<wbr>/dist/bin/firefox-bin -register<br />End: Fri Aug 24 08:08:38 2007<br />----------- Output from regxpcom -------------<br />----------- End Output from regxpcom ---------<br />regxpcom: test failed<br />No profile found, creating profile.<br />Begin: Fri Aug 24 08:08:38 2007<br />cmd = /export/home/hari/tinderbox<wbr>/SunOS_5.11_Depend/mozilla/<wbr>/dist/bin/firefox-bin -CreateProfile default<br />End: Fri Aug 24 08:08:39 2007<br />----------- Output from Profile Creation -------------<br />Xlib: connection to ":0.0" refused by server<br />Xlib: No protocol specified<br /><br /><br />(firefox-bin:6432): Gtk-WARNING **: cannot open display:<br />----------- End Output from Profile Creation ---------<br />ERROR: profile /export/home/hari/tinderbox<wbr>/SunOS_5.11_Depend/.mozilla<wbr>/firefox/ does not exist<br />no pref file found</div><br /><div style="text-align: justify;">The solution for the above bug was to allow connections to X server. This is done by executing the following command before starting a tinderbox compilation. Remember the user who is running the tinderbox should execute the command.<br /></div><br /><span style="font-family:courier new;">hari@home:~$/usr/openwin/bin/xhost +<br />access control disabled, clients can connect from any host<br /></span><br />Few other things to note while trying to compile firefox under tinderbox are<br />1. Never ever run two instances of tinderbox at the same time. Make sure the first one is killed before starting a new one.<br />2. Delete the <span style="font-family:courier new;">SunOS_5.11_Depend <span style="font-family:georgia;">folder when you are facing any compilation errors.<br />3. Use -XO3 for CFLAGS and CXXFLAGS<br />4. Make sure your mozconfig file has these lines<br /><span style="font-family:courier new;">ac_add_options --disable-freetype2</span><br /><span style="font-family:courier new;">ac_add_options --disable-debug</span><br /><span style="font-family:courier new;">ac_add_options --disable-tests<br /><br /></span></span></span>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-67704975659452354172007-08-22T05:53:00.000-07:002007-08-24T19:51:52.179-07:00SOC ....Updates about SOC.<br />30 test scripts are working fine without any issue :). My target is to write 50 test cases and i will try to reach that this weekend :) :).<br /><br />The scripts can be downloaded from <a href="http://freeshells.ch/%7Esp2hari/soc/tinder2.tar.gz">here</a>.<br /><br />Things to be modified when you run your script in your environment are.<br />1. In the file firefox.xml, change the value of <filepath> for <filepath></filepath> so that it points the file called index.html in the folder called data in your scripts directory.<br /><br />Let me give a detailed HOW TO for running these scripts.<br /><br />1. First, LDTP must be installed in your system.<br />The <a href="http://ldtp.freedesktop.org/wiki/CVS">CVS</a> page in <a href="http://ldtp.freedesktop.org/">ldtp.freedesktop.org</a> provides the instructions for getting the LDTP code through CVS.<br /><br />Note : I had a small issue compiling the code which i got from CVS.<br />While using ./configure it gave me an error saying<br /><br />./configure: line 3998: syntax error near unexpected token `LIBXML2,'<br />./configure: line 3998: `PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.0.0)'<br /><br />The above error is because autoconf and pkg-conf are installed at two different locations. For more details check <a href="http://lists.freedesktop.org/pipermail/xserver/2003-December/000573.html">http://lists.freedesktop.org/pipermail/xserver/2003-December/000573.html</a><br /><br />So i used <a href="http://people.freedesktop.org/%7Enagappan/ldtp-0.8.0.tar.gz">this</a> package which compiled without any issue :).<br />For more details on how to install, check <a href="http://ldtp.freedesktop.org/wiki/GNU/Linux_environment">here</a>.<br /><br />2. Enable Accessibility from gnome-control-center<br /><br />3. Download and start Firefox3.0a*pre from <a href="ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk">here</a> ( Any FF3.0 alpha release should work, though with FF3.0a8pre, it is tested throughly.<br />Note :: When you start firefox, make sure you don't have any other instance of firefox running.<br /><br />4.Run the command<br /><br /><span style="font-style: italic;">hari@home:~/soc/tinderbox$ <span style="font-weight: bold;">ldtprunner run.xml</span></span><br /><br /><br />If you have set LDTP_DEBUG=1 in your shell, then it will show lots of output. Don't get scared. It only means things are working fine :)<br />Note :: You can also work with LDTP_DEBUG unset, if you want a "clean" output.<br /><br />Once that command is executed, then it will run the test cases provided in the run.xml.<br /><br />A file called log.xml gives the details about the test cases run. The last three lines in the log file should be like this if the test case ran properly for all the 30 test cases provided.<br /><br /><groupsstatus total="30" pass="30" fail="0"/><br /></group><br /></ldtp><br /><br />The screen record video on Solaris 11 is given can be viewed from here.<br /><a href="http://download.freedesktop.org/ldtp/movies/screen2.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://download.freedesktop<wbr>.org/ldtp/movies/screen2.html</a><br /><br />The current status of the test cases can be viewed from here.<br /><a href="http://ldtp.freedesktop.org/wiki/Firefox_Test_Cases"><span style="text-decoration: underline;">http://ldtp.freedesktop.org/wiki/Firefox_Test_Cases</span></a>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-67845653581414563812007-08-17T01:31:00.000-07:002007-08-24T19:53:40.906-07:00Solaris Firefox Automation :)<a href="http://freeshells.ch/%7Esp2hari/screen2.html">Check out this</a> for the video :). Nice right ;)Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-48425981543441226532007-08-03T04:29:00.000-07:002007-08-03T04:52:04.597-07:00Life is beautiful :)Sorry for not updating the blog for a long time :(. Even now i am not going to write much. Just a list of arbit words which comes to my mind :-). <br /><br />Helloooooooo<br />Delta Inductions <br />Spider Inductions<br />Idiot<br />Brave<br />Olarify<br />Promise<br />Psycho<br />***aloooooooooooooooo<br />Fli.......<br />mummyyyyyy<br />hmmmmmmmm<br /><br />If you have no clue what these mean, then just think that i was not sane while i was typing this. ;)<br />"Don't Panic". I am still sane. ;-)Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com10tag:blogger.com,1999:blog-14189129.post-59538946783889008352007-07-05T00:02:00.000-07:002007-07-05T09:13:11.975-07:00file-roller ...When i saw the mail from <a href="http://nagappanal.blogspot.com/">nags</a> saying<br /><span style="font-style: italic;">" Can somebody evaluate it and send me back the results. It was done by <a href="http://yazhini.wordpress.com/">Yazhini</a>, long time back, but I could not check them."<br /></span><div style="text-align: justify;">even i didn't think i will write the test cases for file-roller that night. I just wanted to see the code and maybe make a comment. After seeing the code, i felt really sorry for file-roller :P . Yeah now it looks crazy, but not at that time. When evolution, gedit and other applications have new new scripts, why should file-roller have the old test scripts. :-)<br /></div><br />So wrote the test cases for file-roller according to the new file-roller and new LDTP.<br /><br /><div style="text-align: justify;">I will write about what all changes should be made while changing the scripts, so that it will be useful for someone who might change the code for other applications like gcalctool, bugbuddy, gnome-font, gnome-search-tool, gdf etc.<br /></div><br /><div style="text-align: justify;">The files can be downloaded from <a href="http://freeshells.ch/%7Esp2hari/soc/fileroller.tar.gz">here.</a> Just take care that you don't have a file called ldtptestarchive.tar.gz in your home folder. Apart from that, you need to change the run.xml . I tried the scripts in solaris but setcontext didn't work properly there :(. Have to check that soon.<br /></div><br />1. Names of objects in applications.<br />This has changed a lot, especially in the frame names. In the old scripts for file roller, it will be like<br /><span style="font-style: italic;">selectmenuitem ('ArchiveManager','mnuHelp;mnuAbout')</span><br />But according to the new LDTP, it is better to have<br /><span style="font-style: italic;">selectmenuitem ('frmArchiveManager','mnuHelp;mnuAbout') </span><br /><br /><div style="text-align: justify;">Note the way the window name is mentioned in the new version. If has the prefix <span style="font-style: italic;">frm</span> in that. The older one might still work but it is better to change soon. The prefix for each and every object can be seen in a file called <a href="http://webcvs.freedesktop.org/ldtp/ldtp/src/remap.c?view=markup"><span style="font-style: italic;">remap.c</span></a> in src folder. The function <span style="font-style: italic;">get_object_info (Accessible *accessible) </span><span>in that file</span> is the one which can give information about the prefix for each object type.<br /></div><div style="text-align: justify;">Apart from this, a ldtp function called <a href="http://ldtp.freedesktop.org/user-doc/getobjectlist.html">getobjectlist ()</a> is also useful. Another utility called appmap is also useful in this case, but it is better not to use it, since the appmap is obsolete and latest changes are not incorporated into that. I think getobjectlist is the best solution. A tool called at-poke is also very useful to find the objects and object types inside an application.<br /></div><br />2. Runner XML.<br /><div style="text-align: justify;">In the old scripts a python file used to call each and every other test case files using exec(). In many cases this main python file will be the name of the application. For example, check the file-roller.py<br /></div><span style="font-style: italic;">#To create a new archive</span><br /><span style="font-style: italic;">log ('Create New Archive', 'teststart')</span><br /><span style="font-style: italic;">execfile ('create-archive.py')</span><br /><span style="font-style: italic;">log ('Create New Archive', 'testend')</span><br /><br /><span style="font-style: italic;">time.sleep(2)</span><br /><span style="font-style: italic;">#To open an existing archive and extracing them.</span><br /><span style="font-style: italic;">log ('Open Extract Archive ', 'teststart')</span><br /><span style="font-style: italic;">execfile ('open-extract.py')</span><br /><span style="font-style: italic;">log ('Open Extract Archive', 'testend')</span><br /><br /><div style="text-align: justify;">So this way many scripts are tested from the a single python file. In the new test files, the concept of <a href="http://ldtp.freedesktop.org/wiki/How_to_execute_scripts">ldtprunner</a> and <a href="http://ldtp.freedesktop.org/wiki/ldtprunner_XML">runner xml</a> is introduced. The links mentioned there are the best place to learn about runner XML. Just for the sake of completion let me add a sample runner xml for the above code here<br /><br /></div><span style="font-style: italic;"><ldtp></span><br /><span style="font-style: italic;"><logfileoverwrite>1</logfileoverwrite></span><br /><span style="font-style: italic;"><logfile>log.xml</logfile></span><br /><span style="font-style: italic;"><group></span><br /><span style="font-style: italic;"><script></span><br /><span style="font-style: italic;"><name>create-archive.py</name></span><br /><span style="font-style: italic;"><data>fileroller.xml</data></span><br /><span style="font-style: italic;"></script></span><br /><span style="font-style: italic;"><script></span><br /><span style="font-style: italic;"><name>open-extract.py</name></span><br /><span style="font-style: italic;"><data>fileroller.xml</data></span><br /><span style="font-style: italic;"></script></span><br /><span style="font-style: italic;"></group></span><br /><span style="font-style: italic;"></ldtp></span><br /><br />Scripts can be easily added, removed and grouped using the runner.xml .<br /><br />3. <a href="http://ldtp.freedesktop.org/user-doc/waittillguiexist.html">waittillguiexist()</a> and <a href="http://ldtp.freedesktop.org/user-doc/waittillguinotexist.html">waittillguinotexist()</a>.<br /><div style="text-align: justify;">The two functions are really useful if you want your code till an object appears or disappears. The docs for these two functions explains the usage clearly. The old test code will have an approximate time.sleep() in their code. A better and proper solution is to incorporate waittillguiexist() and waittillguinotexist() and remove the unwanted time.sleep()<br /></div><br />4. LDTPExecutionError :<br /><div style="text-align: justify;">The old code just has an except block which can catch any exception that occurs. It is better to handle the LDTPExecutionError separately and other errors in a different manner. A typical except block in the new script will be like<br /></div><br /><span style="font-style: italic;">except LdtpExecutionError, msg:</span><br /><span style="font-style: italic;"> msg = 'open-extract test case failed'</span><br /><span style="font-style: italic;"> log (msg, 'error')</span><br /><span style="font-style: italic;"> raise LdtpExecutionError (msg)</span><br /><br /><br />5. <a href="http://ldtp.freedesktop.org/wiki/Data_XML">Data XML</a>.<br /><div style="text-align: justify;">One of the most important thing in LDTP, which adds great flexibility to the test cases. The filenames and other variables need not be hard coded. <a href="http://ldtp.freedesktop.org/wiki/Sample_Data_XML">A single XML</a> (generally called the data XML) can have all the details like the filenames, paths used in a test case and these value can be extracted from the XML file. Thus even the arguments passed to the test cases can be changed using a data XML.<br /></div><br />6. <a href="http://ldtp.freedesktop.org/wiki/About_Appmap">Appmap file</a>.<br /><div style="text-align: justify;">Since now in LDTP , the remapping of the objects in application is done automatically, there is no need to use <a href="http://ldtp.freedesktop.org/user-doc/initappmap.html">initappmap()</a> or <a href="http://ldtp.freedesktop.org/user-doc/remap.html">remap()</a> anymore. So there is no need to have a default map file for each application.<br />Therefore you can remove the following piece of code if you find it in your test case.<br /></div><span style="font-style: italic;"><br />if len (sys.argv) == 1:<br /> if os.access ('./file-roller.map', os.F_OK | os.R_OK) == 0:<br /> print 'Appmap path missing'<br /> sys.exit(0);<br /> else:<br /> appmap_path = '.'<br />else:<br /> appmap_path = sys.argv[1]<br />initappmap (appmap_path + '/file-roller.map')<br /><br /><br /></span><span style="font-style: italic;"></span>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com4tag:blogger.com,1999:blog-14189129.post-80035084192667792122007-06-29T06:52:00.000-07:002008-12-11T04:05:53.997-08:00Tinderbox ....<div style="text-align: justify;">You never know when things will work and but if you believe that they will work ,they will. Ha, finally my own quote :P .<br /></div><br /><div style="text-align: justify;">The Solaris download which i asked my friend to do failed :-( . Crap . I waited for that for more than 2 days and finally it failed. Now i can't to afford to wait more. I have to proceed with Tinderbox, that too with real pace. With <a href="http://blogs.sun.com/roller/page/emily">Emily</a>'s trip to <a href="http://guadec.org">GUADEC</a> and college reopening soon, i really have to do some magic.<br /></div><br /><div style="text-align: justify;">Emily wanted me to update from Solaris Nevada snv_55 to Solaris Nevada snv_64. Even i wanted to see what's new in next version but looks like fate was against me.<br /></div><br /><div style="text-align: justify;">As such i had to reinstall my Solaris Nevada snv_55 because while installing i made a stupid mistake of selecting the default options. If you are ever planning to install Solaris, never ever do that. Do choose the custom install . After some two steps it will ask you which hard disk to choose and after that you can edit the partition size. If you fail to do this, Solaris by default allocates only required space to / and rest all to /export/home. For me it ended up having only 400MB free space in / while my /export/home had around 15GB free space :-(. I never wanted to try gparted and other things. A reinstall will fix all the problems and it did.<br /></div><br /><div style="text-align: justify;">So finally my partition size fixed and i am ready to start Tinderbox, when the postman gave a parcel for me. It was Solaris Nevada snv_64 from SUN, which i had registered few days back. I didn't know whether to cry or laugh. Felt like banging my head on the monitor. Murphy is GOD . :-)<br /></div><br /><div style="text-align: justify;">So made another install of Solaris Nevada snv_64 and finally was ready to start with Tinderbox. Now i had Solaris Nevada snv_64 and all the softwares required. A new and nice thing about this version is a Shutdown button in the start menu. I really missed that in the previous version.<br /><br /></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpb9TNbqGF1HuFgi8QPeE1Q_aE7tXE-b9sioY6bSKJseUgaCnaIPkS18H2YIm1GQE99BY9WrYwoFRJZL6ic68N27RLUWMLTzb0K8kusVwFAFc_pkU1iQIpMFbEK1NZgLkuMCJ34g/s1600-h/Screenshot.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpb9TNbqGF1HuFgi8QPeE1Q_aE7tXE-b9sioY6bSKJseUgaCnaIPkS18H2YIm1GQE99BY9WrYwoFRJZL6ic68N27RLUWMLTzb0K8kusVwFAFc_pkU1iQIpMFbEK1NZgLkuMCJ34g/s400/Screenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5081506613545210754" border="0" /></a><br /><div style="text-align: justify;">Another small thing about networking in Solaris. If you want your Solaris box to work with dns entries provided, then you should edit the /etc/nsswitch.conf as follows .<br /></div><br />A line in /etc/nsswitch.conf will be as follows<br /><span style="font-style: italic;">hosts: files </span><br />Change that line to<br /><span style="font-style: italic;">hosts: files dns<br /></span>This will make sure that first /etc/hosts and then dns entires are looked during networking. <span style="font-style: italic;"><br /></span><br />The mail from Emily had the following details with <a href="http://freeshells.ch/%7Esp2hari/soc/tinderbox-setup.tar.gz">this</a> attachment.<br /><br /><div style="direction: ltr;"><span style="font-style: italic;">Pre-steps</span><br /><span style="font-style: italic;">1. Install the latest Solaris Express(s11)</span><br /><span style="font-style: italic;">2. Install SunOne Studio compiler</span><br /><span style="font-style: italic;">3. Install JDS CBE</span><br /><br /><span style="font-style: italic;">1. Set up environment var. (See myenv.sh attached)</span><br /><span style="font-style: italic;">2. Check out tinderbox client from community</span><br /><span style="font-style: italic;"> $ . /path/to/myenv.sh</span><br /><span style="font-style: italic;"> $ cvs co -d tinderbox mozilla/tools/tinderbox</span><br /><span style="font-style: italic;">3. Some modification to be done in the tinderbox source code</span><br /><span style="font-style: italic;"> 1) post-mozilla.pl</span><br /><span style="font-style: italic;"> $ cd tinderbox; mv post-mozilla.pl post-mozilla.pl.bak</span><br /><span style="font-style: italic;"> 2) tinder-confg.pl (modify the one attached and use it)</span><br /><span style="font-style: italic;"> $BuildAdministrator = "%YOUR_ALIAS"</span><br /><span style="font-style: italic;"> $CVS = 'runsocks cvs -q': (only necessary if you use proxy to access Internet)</span><br /><span style="font-style: italic;"> 3) mozconfig (use the one attached)</span><br /><br /><span style="font-style: italic;">4, this step is necessary only if you access Internet via proxy</span><br /><span style="font-style: italic;"> 1) build-seamonkey-util.pl(see the patch file build-seamonkey-util.pl.diff)</span><br /><span style="font-style: italic;"> 2) set http_proxy and ftp_proxy in $HOME/.wgetrc since tinderbox client uses wget to send test result to server</span><br /><br /><span style="font-style: italic;">5, let's go -- start up your tinderbox client</span><br /><span style="font-style: italic;"> $ . /path/to/myenv.sh</span><br /><span style="font-style: italic;"> $ cd /path/to/tinderbox && ./build-firefox.pl --depend -t MozillaTest > ~/build-firefox.log 2>&1 &</span><br /><br />So things were really were clear in her mail.<br />As of now, i was in pre-steps with just Solaris 11 and neither a Solaris studio nor a CBE . So i started with Solaris studio.<br /><br /><div style="text-align: justify;">The nice thing about Solaris is that the installing a new software is a matter of few clicks. Almost all the installers in Solaris works right out of the box. So with a few seconds i had Solaris studio installed . I had to change my PATH variables like<br /></div><br /><span style="font-style: italic;">export PATH=/opt/SUNWspro/bin:$PATH</span><br /><span style="font-style: italic;">export MANPATH=/opt/SUNWspro/man:$MANPATH</span><br /><br /><div style="text-align: justify;">So after this, you will have to run sunstudio, but i got the following error saying "java 2 SDK not found"<br />Omg, so now i had to install j2sdk. Downloaded the file "j2sdk-1_4_2_15-solaris-i586.sh" and when i ran that shell script, it created a folder in the current directory with quite a few files.<br /></div><br /><div style="text-align: justify;">No i had no clue what to do that. Finally pinging a few of my friends, came to know that i had to set JAVA_HOME and change PATH variable again. I copied the folder that shell script created (<span>j2sdk1.4.2_15</span>) to /opt and had to modify the environment variables as shown below.<br /></div><br /><span style="font-style: italic;">export JAVA_HOME=/opt/j2sdk1.4.2_15</span><br /><span style="font-style: italic;">export PATH=/opt/j2sdk1.4.2_15/bin:$PATH</span><br /><br /><div style="text-align: justify;">Now if you run sunstudio, things work fine :-) . So now 2/3 pre-steps done. The only step remaining is Common Build Environment (CBE).<br /></div><div style="text-align: justify;">Now this again wasn't that difficult. The only catch is to give the proper C compiler. As such, i was supposed to use the Solaris compiler that comes along with Sun studio and not gcc. So first time i made a mistake of giving the path to gcc but next time did that fine.<br /></div><br /><div style="text-align: justify;">Phew, all pre-steps done. Now to setup tinderbox. All the steps mentioned there worked right out of box. In step 2, it needed the environment variable $CVSROOT. As such $CVS_ROOT was configured in Emily's script. So just changed that to $CVSROOT and things worked fine :-)<br /></div><br /><div style="text-align: justify;">Now finally i ran tinderbox and i am not quite sure about the ouput it produced . It surely generates a lot of output . I had no clue what the output meant and what i am supposed to do with that.<br /></div>The output i got was like<br /><br /><span style="font-style: italic;">Name "TreeSpecific::clobber_target" used only once: possible typo at ./build-firefox.pl line 33.</span><br /><span style="font-style: italic;">Name "TreeSpecific::build_target" used only once: possible typo at ./build-firefox.pl line 31.</span><br /><span style="font-style: italic;">Name "TreeSpecific::checkout_clobber_target" used only once: possible typo at ./build-firefox.pl line 13.</span><br /><span style="font-style: italic;">Name "TreeSpecific::extrafiles" used only once: possible typo at ./build-firefox.pl line 34.</span><br /><span style="font-style: italic;">Possible unintended interpolation of @gmail in string at (eval 318) line 23.</span><br /><span style="font-style: italic;">Starting dir is : /root/tinderbox/SunOS_5.11_Depend</span><br /><br /><span style="font-style: italic;">tinderbox: tree: MozillaTest</span><br /><span style="font-style: italic;">tinderbox: builddate: 1183129260</span><br /><span style="font-style: italic;">tinderbox: status: building</span><br /><span style="font-style: italic;">tinderbox: build: SunOS/i386 5.11 home Depend trunk</span><br /><span style="font-style: italic;">tinderbox: errorparser: unix</span><br /><span style="font-style: italic;">tinderbox: buildfamily: unix</span><br /><span style="font-style: italic;">tinderbox: version: $Revision: 1.1 $ </span><br /><span style="font-style: italic;">tinderbox: END</span><br /><br /><span style="font-style: italic;">Opening SunOS_5.11_Depend.log</span><br /><span style="font-style: italic;">current dir is -- home:/root/tinderbox/SunOS_5.11_Depend</span><br /><span style="font-style: italic;">Build Administrator is sp2hari.com</span><br /><span style="font-style: italic;">uname -a = SunOS home 5.11 snv_64a i86pc i386 i86pc</span><br /><span style="font-style: italic;">AB_CARDCATALOG=/usr/dt/share/answerbooks/C/ab_cardcatalog</span><br /><span style="font-style: italic;">ADDON_PATH=/root/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin:</span><br /><span style="font-style: italic;">COLORTERM=gnome-terminal</span><br /><span style="font-style: italic;">CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot</span><br /><span style="font-style: italic;">CVS_ROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot</span><br /><span style="font-style: italic;">DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/dbus-zAaS6sa66Z,guid=9c8119a191db027be12633004684e7cc</span><br /><span style="font-style: italic;">DESKTOP_STARTUP_ID=</span><br /><span style="font-style: italic;">DISPLAY=:0.0</span><br /><span style="font-style: italic;">DTAPPSEARCHPATH=/root/.dt/appmanager:/usr/dt/appconfig/appmanager/%L:/usr/dt/appconfig/appmanager/C</span><br /><span style="font-style: italic;">DTDATABASESEARCHPATH=/root/.dt/types,/usr/dt/appconfig/types/%L,/usr/dt/appconfig/types/C</span><br /><span style="font-style: italic;">DTDEVROOT=</span><br /><span style="font-style: italic;">DTHELPSEARCHPATH=/root/.dt/help/root-home-0/%H:/root/.dt/help/root-home-0/%H.sdl:/root/.dt/help/root-home-0/%H.hv:/root/.dt/help/%H:/root/.dt/help/%H.sdl:/root/.dt/help/%H.hv:/usr/dt/appconfig/help/%L/%H:/usr/dt/appconfig/help/%L/%H.sdl:/usr/dt/appconfig/help/%L/%H.hv:/usr/dt/appconfig/help/C/%H:/usr/dt/appconfig/help/C/%H.sdl:/usr/dt/appconfig/help/C/%H.hv</span><br /><span style="font-style: italic;">DTSCREENSAVERLIST=StartDtscreenSwarm StartDtscreenQix StartDtscreenFlame StartDtscreenHop StartDtscreenImage StartDtscreenLife StartDtscreenRotor StartDtscreenPyro StartDtscreenWorm StartDtscreenBlank</span><br /><span style="font-style: italic;">DTSOURCEPROFILE=true</span><br /><span style="font-style: italic;">DTUSERSESSION=root-home-0</span><br /><span style="font-style: italic;">DTXSERVERLOCATION=local</span><br /><span style="font-style: italic;">EDITOR=/usr/dt/bin/dtpad</span><br /><span style="font-style: italic;">GNOME_DESKTOP_SESSION_ID=Default</span><br /><span style="font-style: italic;">GNOME_KEYRING_SOCKET=/var/tmp/keyring-a1aGab/socket</span><br /><span style="font-style: italic;">GTK_RC_FILES=/etc/gtk/gtkrc:/root/.gtkrc-1.2-gnome2</span><br /><span style="font-style: italic;">G_BROKEN_FILENAMES=yes</span><br /><span style="font-style: italic;">G_FILENAME_ENCODING=@locale,UTF-8</span><br /><span style="font-style: italic;">HELPPATH=/usr/openwin/lib/locale:/usr/openwin/lib/help</span><br /><span style="font-style: italic;">HOME=/root</span><br /><span style="font-style: italic;">JAVA_HOME=/opt/j2sdk1.4.2_15</span><br /><span style="font-style: italic;">LANG=C</span><br /><span style="font-style: italic;">LC_ALL=C</span><br /><span style="font-style: italic;">LC_CTYPE=C</span><br /><span style="font-style: italic;">LD_LIBRARY_PATH=/root/tinderbox/SunOS_5.11_Depend/mozilla/dist/bin:</span><br /><span style="font-style: italic;">LIBPATH=/root/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin:</span><br /><span style="font-style: italic;">LIBRARY_PATH=/root/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin:/root/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin/components:</span><br /><span style="font-style: italic;">LOGNAME=root</span><br /><span style="font-style: italic;">MAIL=/var/mail/root</span><br /><span style="font-style: italic;">MANPATH=/opt/SUNWspro/man:/usr/dt/man:/usr/man:/usr/openwin/share/man</span><br /><span style="font-style: italic;">MOZCONFIG=/root/tinderbox/mozconfig</span><br /><span style="font-style: italic;">MOZILLA_FIVE_HOME=/root/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin</span><br /><span style="font-style: italic;">MOZ_BYPASS_PROFILE_AT_STARTUP=1</span><br /><span style="font-style: italic;">MOZ_CO_DATE=06/29/2007 15:01 +0000</span><br /><span style="font-style: italic;">MOZ_PACKAGE_MSI=0</span><br /><span style="font-style: italic;">MOZ_SYMBOLS_TRANSFER_TYPE=scp</span><br /><span style="font-style: italic;">NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat:/usr/dt/lib/nls/msg/C/%N.cat</span><br /><span style="font-style: italic;">NO_EM_RESTART=1</span><br /><span style="font-style: italic;">OLDPWD=/root</span><br /><span style="font-style: italic;">OPENWINHOME=/usr/openwin</span><br /><span style="font-style: italic;">PATH=/opt/csw/bin:/opt/SUNWspro/bin:/opt/SUNWspro/bin:/opt/j2sdk1.4.2_15/bin:/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ucb:/root/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin</span><br /><span style="font-style: italic;">PWD=/root/tinderbox</span><br /><span style="font-style: italic;">SDT_NO_DTDBCACHE=1</span><br /><span style="font-style: italic;">SDT_NO_TOOLTALK=1</span><br /><span style="font-style: italic;">SESSIONTYPE=altDt</span><br /><span style="font-style: italic;">SESSION_MANAGER=local/home:/tmp/.ICE-unix/316,inet6/home:35165,inet/home:60138</span><br /><span style="font-style: italic;">SESSION_SVR=home</span><br /><span style="font-style: italic;">SHELL=/bin/bash</span><br /><span style="font-style: italic;">SHLVL=2</span><br /><span style="font-style: italic;">SSH_AGENT_PID=321</span><br /><span style="font-style: italic;">SSH_AUTH_SOCK=/tmp/ssh-XXXAaGNa/agent.316</span><br /><span style="font-style: italic;">START_SPECKEYSD=no</span><br /><span style="font-style: italic;">TERM=xterm</span><br /><span style="font-style: italic;">TZ=Asia/Calcutta</span><br /><span style="font-style: italic;">USER=root</span><br /><span style="font-style: italic;">WINDOWID=41943093</span><br /><span style="font-style: italic;">XFILESEARCHPATH=/etc/dt/app-defaults/%L/%N:/etc/dt/app-defaults/C/%N:/usr/dt/app-defaults/%L/%N:/usr/dt/app-defaults/C/%N:/usr/openwin/lib/locale/%L/%T/%N%S:/usr/openwin/lib/%T/%N%S</span><br /><span style="font-style: italic;">XMBINDDIR=/usr/dt/lib/bindings</span><br /><span style="font-style: italic;">XMICONBMSEARCHPATH=/root/.dt/icons/%B%M.bm:/root/.dt/icons/%B%M.pm:/root/.dt/icons/%B:/usr/dt/appconfig/icons/%L/%B%M.bm:/usr/dt/appconfig/icons/%L/%B%M.pm:/usr/dt/appconfig/icons/%L/%B:/usr/dt/appconfig/icons/C/%B%M.bm:/usr/dt/appconfig/icons/C/%B%M.pm:/usr/dt/appconfig/icons/C/%B</span><br /><span style="font-style: italic;">XMICONSEARCHPATH=/root/.dt/icons/%B%M.pm:/root/.dt/icons/%B%M.bm:/root/.dt/icons/%B:/usr/dt/appconfig/icons/%L/%B%M.pm:/usr/dt/appconfig/icons/%L/%B%M.bm:/usr/dt/appconfig/icons/%L/%B:/usr/dt/appconfig/icons/C/%B%M.pm:/usr/dt/appconfig/icons/C/%B%M.bm:/usr/dt/appconfig/icons/C/%B</span><br /><span style="font-style: italic;">XPCOM_DEBUG_BREAK=warn</span><br /><span style="font-style: italic;">_=./build-firefox.pl</span><br /><span style="font-style: italic;">dtstart_sessionlogfile=/dev/null</span><br /><span style="font-style: italic;">-->mozconfig<----------------------------------------</span><br /><span style="font-style: italic;"># Make flags</span><br /><span style="font-style: italic;">mk_add_options MOZ_CO_PROJECT=browser</span><br /><span style="font-style: italic;">mk_add_options MOZ_CO_MODULE="mozilla/tools/codesighs"</span><br /><br /><span style="font-style: italic;"># Configure flags</span><br /><span style="font-style: italic;">ac_add_options --enable-application=browser</span><br /><span style="font-style: italic;">ac_add_options --enable-optimize</span><br /><span style="font-style: italic;">ac_add_options --enable-codesighs</span><br /><span style="font-style: italic;">ac_add_options --enable-crypto</span><br /><span style="font-style: italic;">ac_add_options --enable-xft</span><br /><span style="font-style: italic;">ac_add_options --enable-svg</span><br /><span style="font-style: italic;">ac_add_options --enable-canvas</span><br /><span style="font-style: italic;">ac_add_options --disable-freetype2</span><br /><span style="font-style: italic;">ac_add_options --disable-debug</span><br /><span style="font-style: italic;">ac_add_options --disable-tests</span><br /><span style="font-style: italic;">-->end mozconfig<----------------------------------------</span><br /><span style="font-style: italic;">Didn't find /root/tinderbox/post-mozilla.pl</span><br /><span style="font-style: italic;">===============================</span><br /><span style="font-style: italic;">Compiler is -- CC</span><br /><span style="font-style: italic;">===============================</span><br /><span style="font-style: italic;">Begin: Fri Jun 29 20:32:28 2007</span><br /><span style="font-style: italic;">cvs -q checkout -P -D "06/29/2007 15:01 +0000" mozilla/client.mk mozilla/browser/config</span><br /><span style="font-style: italic;">End: Fri Jun 29 20:32:31 2007</span><br /><span style="font-style: italic;">/root/tinderbox/SunOS_5.11_Depend/mozilla//dist/bin/firefox-bin does not exist.</span><br /><span style="font-style: italic;">No binary detected; none deleted.</span><br /><span style="font-style: italic;">Begin: Fri Jun 29 20:32:31 2007</span><br /><span style="font-style: italic;">make -f client.mk checkout</span><br /><span style="font-style: italic;">make: Fatal error in reader: client.mk, line 126: Unexpected end of line seen</span><br /><span style="font-style: italic;">End: Fri Jun 29 20:32:32 2007</span><br /><span style="font-style: italic; font-weight: bold;">Error: CVS checkout failed.</span><br /><br />The last line is scary :-(. Have to ask about that to emily or nags soon. And oh yeah, now that i have setup a Tinderbox in Solaris, i want to setup one in Linux. Just want to see whether it is so easy in Linux. ;). Now i got my confidence back :). I can now really finish lots in integration of Firefox Test cases into Tinderbox before i go back to college. And now i am no more scared of Solaris :-) .<br /><br />Have to figure out something about the Tinderbox log.<br />Bye for now. <br /></div>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com5tag:blogger.com,1999:blog-14189129.post-39772993106935267882007-06-21T16:03:00.000-07:002007-06-22T02:02:33.722-07:00Projects ...<div style="text-align: justify;">"<span style="font-style: italic;"></span><span style="font-style: italic;">The word "project" originally meant "something that comes before anything else is done". When the word was initially adopted, it referred to a plan of something, not to the act of actually carrying this plan out. Something performed in accordance with a project was called an </span><span style="font-style: italic;">object. This use of "project" changed in the 1950s </span><span style="font-style: italic;">when several techniques for project management </span><span style="font-style: italic;">were introduced" -- <a href="http://en.wikipedia.org/wiki/Project">Wikipedia</a></span><br /></div><br /><div style="text-align: justify;">Now that holidays are about to get over, now i realized :P a few strange things about projects. Most of them are from personal experiences.<br /></div><br />1. Whatever happens, you will finish the project on time. On time, meaning the last day when you have to submit your project (this includes quite a few a night outs before that day).<br /><br />2. If you finish the project one/two weeks before time, either the project is very very simple for you or you didn't do your project at all :P<br /><br />3. The first few weeks of the project will be really frustrating as you will be reading and chatting more than you code. Actually for the first few weeks, if your LOC is around 3-4 it is really great.<br /><br />4. The last two-three days of your project, the LOC will shoot up to few hundreds :-)<br /><br />5. Even if you chat 24*7 during the project time, somehow you will complete the project on time. You won't even realize how the code actually came there, but at the end of the day, it will be there.Though even if you work really hard 24*7, you will have the same output.<br /><br />6. If you are geek and you are doing a project in Bangalore, don't try to go to a pub.<br /><br />7. You will be really satisfied about completing the project on the last day.<br /><br />8. You will feel bad that you could have done lots more in the project only on the last day. You will realize you have taken more time to understand the old code :P Only on that day you will start loving your project and you will feel like working more on that.<br /><br />9. Only if you have project review, you will feel really really sleepy that you might end up not coming for the review.<br /><br />10 . Your friend's project will always look easier.<br /><br />11. The last three days, you will be cursing your project like anything. You will hate it to the core. But after that, you will think that your project is not so bad.<br /><br />12. Only for the first one week, you will report for your project work on time. After that it will be late from 2-4 hours. Though this will be compensated by the night outs you do for your project.Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com5tag:blogger.com,1999:blog-14189129.post-14616003842218589842007-06-21T05:16:00.000-07:002007-06-21T21:31:20.144-07:00Love story of a topper ...<div style="text-align: justify;">Well, i am kind of not sure whether i should write this or not. I have never written a blog describing about someone else ,his second girl friend and about their deep love and how she became my girl friend after that. But recently, the tech level of my blog has increased so much that my <span style="font-style: italic;">normal </span>friends don't even bother to read my blog. Looks like it is too techie for them. So this might be something for them. And yes, if i get a chance to shoot a movie, i will do this one.<br /></div><br /><div style="text-align: justify;">Ok , the hero (or rather the villain :P ) of the story of is <a href="http://manasgargspeaks.blogspot.com/">Manas Garg</a>. He is the topper of Computer Science Dept and now is happily working in M$.<br /></div><br /><div style="text-align: justify;">First i should tell you that all i am going to tell you is true and only true. I have not modified anything to make the story interesting. It's just plain facts. I have proof for that which i have added to this post. To make the story more interesting first the proof and then the story.<br /></div><br /><div style="text-align: justify;">The following is the chat log between me and manas garg. Not even a single word in that chat log is modified. To make things clear, i have removed what i spoke in between.<br /></div><br /><span style="font-style: italic;">Manas: that would be soo cool<br />i was crazy about her<br />spent nights with her</span><br /><br /><span style="font-style: italic;">Manas: took care of her more than myself then</span><br /><br /><span style="font-style: italic;">me: lol :-)</span><br /><br /><span style="font-style: italic;">Manas: i had to leave her gave her to others coz i had to go<br />i still love her</span><br /><br /><span style="font-style: italic;">Manas: i always will </span><br /><br /><span style="font-style: italic;">me: ha ha</span><br /><br /><span style="font-style: italic;">Manas: one day we will unite again and the world will salute our love</span><br /><br />So that's what he confessed to me today.<br /><br /><div style="text-align: justify;">Since that girl might feel bad if i tell her name ( actually too many people in our college love her. :P In fact i am one in the list . ) . So let us name her X. Hmmm no why X ?? X is for unknown values. I know her and you know her too. So let us name her S.<br /></div><br /><div style="text-align: justify;">Now our hero manas, met this girl in second year and he didn't like her much. She used to give boring work to our villain ( ???? ). So manas never liked her. In fact he hated her so much, that he never wanted seeing her again. But manas, when he first met that girl felt that he could change her and make her better. But this girl was so bad that manas had almost lost hopes :-(<br /></div>// If you want you add a sad song here where just the hero sings something in sad tone all alone. Like<br /><br /><span style="font-style: italic;">dil ke raste me aisi thokar maine khayi<br /></span><span style="font-style: italic;">tute khawab sare aisi mayusi hai chhayi</span><br /><span style="font-style: italic;">har khusi ko gaye,jindagi so gaye</span><br /><span style="font-style: italic;">tumko jo pyar kiya maine to saja me paye<br />tanhayee,tanhayee,tanhayee......<br /></span>from Dil Chahta Hai<br /><br />If you don't know Hindi, you can imagine this song<br /><br /><span style="font-style: italic;" chatdir="1"><span chatindex="2E801C02D5317E6D57">kaN paesum vaarthaigaL purivadhillai<br />kaathirundhaal peN kanivadhillai<br />oru mugam maRu mugam theriya<br />kaNNaadi idhayam illai, kadal kai koodi maRaivadhillai</span><br /></span>from 7G Rainbow colony<br /><br /><div style="text-align: justify;">Then suddenly S and manas met more often. Manas also got some people (including me) to help him. Soon he changed S. It was magic. This stupid girl who is not useful for anything suddenly became the hot topic in college.<br /></div>// A duet song here will be fine. Don't worry we will make manas dance when i shoot this movie ;) . Songs like the following will be fine<br /><br /><span style="font-style: italic;">jise dhundata hoon main har kahin</span><br /><span style="font-style: italic;">jo nahi mili mujhe thi kahin</span><br /><span style="font-style: italic;">mujhe jiske pyar par ho yakin</span><br /><span style="font-style: italic;">wo ladki hai kahan</span><br /><span style="font-style: italic;">jise sirf mujhse hi pyar ho</span><br /><span style="font-style: italic;">jo ye kehne ko bhi taiyaar ho</span><br /><span style="font-style: italic;">suno tumhi mere dildaar ho</span><br /><span style="font-style: italic;">wo ladki hai kahan</span><br />From Dil Chahta Hai<br /><span style="font-style: italic;" chatdir="1"><br />or<br /><br />Sutrum vizhi sudare<br />Sutrum vizhi sudare<br />En lagam unnai sutruthe<br />Sattai payyil un panam<br />Thottu thottu urasa<br />En idhayam patri kolluthey<br />Un vizhiyil vizhunden<br />Vinveliyil paranthen<br />Kanvizhithu soppanam kanden<br />Unnale kanvizhithu soppanam kanden</span><br />From Ghajini<br /><br /><br /><div style="text-align: justify;">After she changed, manas loved her more and more. He forgot about his studies. He forgot about his room, friends and almost everything. All cared only about her and sometimes was ready to do anything for her.<br /></div><br /><div style="text-align: justify;">But a sad thing happened. I was a good friend of both manas (thanks to Spider) and her. I knew manas was in love with her, but even i started liking her. So much that sometimes i was ready to give anything for her. :-). Now i don't know who loved her more since it is not possible to compare. Soon manas came to know that i had a crush over her. I though he will be angry with me :P but he didn't say anything.<br /></div><br /><div style="text-align: justify;">Though me and manas were good friends, last semester we were really fighting for her. We gave her so much importance but we forgot about everything else.<br /></div><br /><div style="text-align: justify;">And on Spider's Farewell day, just some few minutes before the end of the party, she proposed me :P . It was kind of strange, coz others started clapping and all when she did that. I was actually blushing. I knew that was going to happen but i never that it will happen during the farewell. And actually even manas was there when she proposed me. He was very sad that day. :P Anyway the party mood made him forget about that. :P<br /></div><br /><div style="text-align: justify;">Now that manas is gone, she is all mine.Unfortunately, now more and more people are getting really really interested in her, though as of now, i think i am the only person mad about her.<br /><br />Note ::<br />If you have found out who she is, just say that so. You need not tell her name. :P<br />Also there is another interesting story :P by <a href="http://suren4oss.blogspot.com/">suren</a> . Check it <a href="http://suren4oss.blogspot.com/2007/06/haris-love-story.html">here</a><br /></div>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com11tag:blogger.com,1999:blog-14189129.post-5687723541359080852007-06-21T04:42:00.000-07:002008-12-11T04:05:55.760-08:00I'm interested<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMBLGiFCGWC3e5MX4Hom5WM6dUSPJ4bVUBnNHf1BVNB89JRjqXDJvIPIE5bdMs4fKb0SFWDFzhuw5VLBQr8Lc6ZDbWeqP57Lygw3LimYjRrhlCcEBeRi5kkAIEMSpsOx5vIeP8hw/s1600-h/img.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 674px; height: 237px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMBLGiFCGWC3e5MX4Hom5WM6dUSPJ4bVUBnNHf1BVNB89JRjqXDJvIPIE5bdMs4fKb0SFWDFzhuw5VLBQr8Lc6ZDbWeqP57Lygw3LimYjRrhlCcEBeRi5kkAIEMSpsOx5vIeP8hw/s400/img.jpg" alt="" id="BLOGGER_PHOTO_ID_5078483657327596034" border="0" /></a><br /><br /><div style="text-align: justify;">Do you know that when you use caps or large font while chatting or in mail, it implies that you are shouting.<br /></div><br /><div style="text-align: justify;">I generally get irritated when people shout, but this one is an exception. I was really glad that he shouted. In fact, i was waiting for him to shout. Now that he is with us, nothing can stop us. :-)<br /></div><br /><div style="text-align: justify;">Disclaimer :: Sorry. This blog post is only for me. If you don't get anything, just forget about this and move to the next post.<br />If you are still curious about this post, hack my gmail ;-)<br /></div>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com7tag:blogger.com,1999:blog-14189129.post-5024263598718746962007-06-20T18:13:00.000-07:002007-06-21T01:49:37.896-07:00Conquered solaris ....Got up at 4 PM :-). Yes 4 PM. Yesterday after finding out that my Ethernet card had some arbit problem, planned to buy a new one. But felt like checking my Ethernet card for the last time. Went to my friend's place and checked my Ethernet and it worked there :-(. I was both happy and sad. Happy because my Ethernet is working, no need to buy another one and sad because now i don't even know what is the problem with my computer. Anyway i got another Ethernet card from my friend's computer (of course after promising her a treat).<br /><br /><div style="text-align: justify;">First checked the computer with her Ethernet card. Internet worked both in Solaris and Windows. WOW :) . Now again, i checked again with my Ethernet card and WOW WOW WOW, it connected to Internet from all three OS. Now what is happening here ??? Yesterday i spent more than 7 hours trying to make this card work and now this is working out of box within 5 mins. And as such i did the same thing what i did previous night. Looks like you can never try to reason out few things.<br /></div><br /><div style="text-align: justify;">Anyway now i am in Solaris and it is cool. First had to install new softwares. <a href="http://theyagar.info/">Taggy</a> gave me the <a href="http://blogs.sun.com/migi/entry/jpack_install_your_software_easily">this</a> link. And <a href="http://www.blastwave.org/howto.html">this</a> one was also very useful. So within a matter of 5 mins, i installed most of the softwares i might need.<br /></div><br />As such i had three main things to do in Solaris according to the mail <a href="http://blogs.sun.com/roller/page/emily">Emily Chen</a> sent me. They are<br /><br />1. Read about tinderbox setup from <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.mozilla.org/projects/tinderbox/" target="_blank"><span style="text-decoration: underline;">http://www.mozilla.org/projects/tinderbox/</span></a> .<br /><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.mozilla.org/projects/tinderbox/" target="_blank"></a><br />2. Sun Studio 11<br /><a href="http://developers.sun.com/sunstudio/products/previous/11/index.jsp">http://developers.sun.com/sunstudio/products/previous/11/index.jsp</a><br />On Solaris, Sun Studio is used to build Firefox, not gcc, so have to install Sun Studio.<br /><br />3. Set up CBE (Common Build Environment)<br /><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://opensolaris.org/os/project/jds/contributing/building/" target="_blank">http://opensolaris.org/os<wbr>/project/jds/contributing<wbr>/building/</a><br /><br /><div style="text-align: justify;">Now my goals were very clear. And internet from Solaris was working cool, just thought of downloading everything then, but Sun Studio was around 300 MB and already my internet bills have reached peak. So had to wait till 11 PM ( 11PM to 9 AM free internet :P) .<br /><br /></div><div style="text-align: justify;">Started downloading at 11. 15 . OMG. It started at 7KBs and said it is gonna take 24 hrs :-(. Now i can't do anything to this. Have to sit and wait :P . When i am writing this blog (ie 8 AM), it says only 5 hrs left.<br /></div><br /><div style="text-align: justify;">Still network configuration has few glitches. I have to enter the DNS entries every time i reboot the system. And even though i have configured it to activate on boot, the Ethernet card has to manually activated after every time. This is strange since, i have a file called hostname.rtls0 in / (which should activate the Ethernet card on boot )<br /><br />Yesterday Solaris had me. It made me frust to the core. It made me raise doubts about whether i will be able to finish SOC on time. But today is my day. I conquered :P solaris. In fact now that Solaris phobia is slowly disappearing. Now it is time to say Hello World to Tinderbox :P.<br /></div>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-48219147153756707962007-06-19T15:45:00.000-07:002007-06-20T10:51:11.195-07:00networking not working :P...I have got a new phobia. Solaris phobia :P. lol.<br />Well how easy solaris can ruin one whole night. Though i shouldn't blame Solaris completely but at least it deserves something for troubling me with DNS thing sometime back .<br /><br /><div style="text-align: justify;">Anyway here comes the story. After discussing with <a href="http://prashblog.com">Casanova</a> about tinderbox i realized that setting up tinderbox is an important issue. So i was all set to start with tinderbox setup. But looks like fate had other plans. Anyway after discussing with Casanova ( at around 10 pm ), soon started working into tinderbox.<br /></div><br /><div style="text-align: justify;">But once i booted into Solaris and went to Google.com, it said "Could Not Connect". Since i have seen this error many a times already, i just went to the network manager and found all my previous entries missing there :P. Nothing unusual actually. So entered the values again and restarted networking. Now again the same old error. Since i have already configured DNS once and connected to internet from solaris, i thought the same settings will work this time also.<br /></div><br /><div style="text-align: justify;">But noticed something strange. This time it won't even ping to my DNS or Gateway. Well this is certainly strange. I called <a href="http://theyagar.info/">taggy</a> (solaris club head :P) and explained him the situation. He gave a few solutions and i tried some other things which i found in internet. The bad part about networking not working is that even to Google or download something, you need to reboot :-( "Life is too short for reboots" they used to say.<br /></div><br /><div style="text-align: justify;">Anyway now the time was 12 . Shit. Two hours gone and still no progress. Had a idea of going back to Firefox test cases but NO. I have to work with Tinderbox and i will do it tonight. So read manuals from here and there about configuration and tried everything given there :(. No luck. Though internet seems to work from windows and Linux.<br /></div><br /><div style="text-align: justify;">Now one unfortunate thing is i have two Ethernet cards ( Realtek and VIA). Solaris detects only Realtek , so i use that for Solaris while i use VIA for Linux and Windows. Just then it realized. Is the Realtek Ethernet card working ??? What if that has the problem ??<br /></div><br /><div style="text-align: justify;">So one more reboot. Configured the Realtek card to connect to internet. Widows detected the card, LAN enabled but internet was not working. Same problem as i had in solaris. SHIT SHIT SHIT. So finally my Ethernet card has some problem :-(. The strange thing is, it detects my card and all, but just that it wont send/receive anything through the card. Strange problem, but why to me :-( :-(<br /></div><br /><div style="text-align: justify;">After realizing the problem (well time is 3 am now), i thought of finding the driver for the VIA Ethernet card, and managed to download a driver. A reboot back to Solaris, i realized that i don't even have a gcc to compile the driver. Downloaded gcc and finally now it is 5 am :-(<br /></div><br /><div style="text-align: justify;">I am NOT going to try installing the driver for VIA Ethernet card. I am getting frustrated , irritated and what not,when i see a reboot. A 60-75 reboots in a span of 7 hours is not something really exciting and motivating :(. So all i am gonna do is to check this Ethernet card in friends place and get a new one.<br /></div><br /><div style="text-align: justify;">Finally when i wrote this blog it is 5 AM. From 10 PM to 5 AM, no progress at all. All i found out is my Ethernet card might not be working :( :( . Not even a single line of Code in 7 hrs of real hard working :-(, actually not even a single word of code :P .<br />A nightout is nothing new for me, but this time i really felt the pain of one whole night completely wasted :(.<br /></div><br /><div style="text-align: justify;">Now all i hope is my Ethernet card should have a problem, so that i can get another one soon and start with my work. Only God can save me if it was not an Ethernet problem :P.</div>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com4tag:blogger.com,1999:blog-14189129.post-17158587877853681462007-06-17T18:58:00.000-07:002008-12-11T04:05:56.069-08:00Firefox 3 UI rocks...Really , the user interface of Firefox 3 rocks. Text boxes and other form fields have a nice smooth corners and select menu item is similar to the one you find in gnome :) .<br /><br />The old form elements are shown in this image.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMcYR0hWAZ221nUulLRR8q-NhfFZa7n7-3gk6NJAaNLFaCwWBzT-RzX5-QY9HTDKQtG-ffFjbW6JyCT40dwiE00LzN7g37lI2X4Vs0oB4ryl-SeYB1Zuc0Ma8FTtTEv-GlcXiGrA/s1600-h/old.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 599px; height: 258px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMcYR0hWAZ221nUulLRR8q-NhfFZa7n7-3gk6NJAaNLFaCwWBzT-RzX5-QY9HTDKQtG-ffFjbW6JyCT40dwiE00LzN7g37lI2X4Vs0oB4ryl-SeYB1Zuc0Ma8FTtTEv-GlcXiGrA/s400/old.jpg" alt="" id="BLOGGER_PHOTO_ID_5077219128761340370" border="0" /></a><span style="font-size:85%;">Click image for a clear view</span><br /><br />New here comes the new interface of the same webpage in Firefox 3 :-)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiBZ7eW1_hyqVhzL0108m0oEDwkHxhJEd_6ZnR4KtQkyTFLWVCGkJllc3_v-lw2nZiA5vumgWHIOS5hbIsJ6k5SMuQgTA2G4ghloIjFsWImDri4PcBhrkXNk1dBlVTSvy7xi6rXg/s1600-h/new.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 615px; height: 284px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiBZ7eW1_hyqVhzL0108m0oEDwkHxhJEd_6ZnR4KtQkyTFLWVCGkJllc3_v-lw2nZiA5vumgWHIOS5hbIsJ6k5SMuQgTA2G4ghloIjFsWImDri4PcBhrkXNk1dBlVTSvy7xi6rXg/s400/new.jpg" alt="" id="BLOGGER_PHOTO_ID_5077219257610359266" border="0" /></a><span style="font-size:85%;">Click image for a clear view</span><br /><br />Wow, looks like any web developer can make web pages which will look really cool in Firefox 3.Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com4tag:blogger.com,1999:blog-14189129.post-9049830673267866262007-06-17T14:56:00.000-07:002007-06-17T16:49:04.493-07:00Finally 10....Ok, i am certainly not talking anything about my GPA. After fighting (fighting is an understatement i suppose) with Firefox and LDTP for 3 hours (well this is actually few days), finally managed to get 10 test cases work properly.<br /><br />At least these 10 test cases will work properly for integration with Tinderbox. Have to send these test cases to <a href="http://blogs.sun.com/roller/page/emily">emily</a> soon and get them integrated with tinderbox.<br /><br />The output log is<br /><span style="font-style: italic;"><span style="font-style: italic;"><ldtp><br /><group name="group1"><br /><script name="verifyaddressfield.py"><br /><test name="address field and go button"><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifybackforward.py"><br /><test name="Back and Forward buttons"><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifyhome.py"><br /><test name="verify home button"><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifynewtab.py"><br /><test name="Open a new tab "><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifyyahoo.py"><br /><test name="topsite - yahoo"><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifymsn.py"><br /><test name="topsite - msn test"><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifyamazon.py"><br /><test name="topsite - amazon"><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifyftp.py"><br /><test name="navigate ftp"><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifysearch.py"><br /><test name="Open search by keyboard shortcuts"><br /><pass>1</pass><br /></test><br /></script><br /><script name="verifyfindinpage.py"><br /><test name="Find in Page"><br /><pass>1</pass><br /></test><br /></script><br /><timeinfo start="03:23:00 AM on 18-Jun-2007" elapsed="0:1:8"></timeinfo><br /><groupsstatus total="10" pass="10" fail="0"></groupsstatus><br /></group><br /></ldtp><br /><br /></span></span>Well looks like i have underestimated how bugs can trouble a poor coder like me :P.<br /><br />Each test case has its unique problem :P.<br />The major problem is the Firefox crash :(. Though the test case work individually, Firefox crashes if all the test cases were run under a single runner xml :-(. I have downloaded Firefox firefox-3.0a6pre now ( was using firefox-3.0a5pre all these days). Hopefully Firefox 6 is stable against the test cases :-).<br /><br />Anyway the 10 is not the final list. I am supposed to test 30 test cases properly for the Functionality subgroup of smoketests testgroup for Firefox 3.0. Not to mention about the lots and lots of test cases from other test groups.<br /><span style="font-style: italic;"><span style="font-style: italic;"><br /></span></span>Let me post the issues i am facing with the other test cases, so that it is easier for me to fix them later.<br /><br />Before that, the 10 test cases which worked in my favour are :)<br /><br /><a href="http://litmus.mozilla.org/show_test.cgi?id=3954">3954</a>: Address Field and Go button<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=4032">4032</a>: Back and Forward buttons<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=4031">4031</a>: Home button<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=4086">4086</a>: Open a new tab<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=3955">3955</a>: Top Site - Yahoo<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=3956">3956</a>: Top Site - MSN<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=3957">3957</a>: Top Site - Amazon<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=3959">3959</a>: Navigate FTP<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=4245">4245</a>: Open search by keyboard shortcuts<br /><a href="http://litmus.mozilla.org/show_test.cgi?id=3967">3967</a>: Find in Page<br /><br />The test cases having issues are<br />1. <a href="http://litmus.mozilla.org/show_test.cgi?id=4137">4137</a>: Add an RSS feed/Livemark<br />This is the strangest test case i have ever found :(. This doesn't work for the first time. Next time without any modification, if i run the test case it works like properly. Third time it is not working and fourth time it again works properly . Well, that is more than enough for me, i either end up banging the computer monitor or beating myself that there is no 5 th time :-(. Should check this test case properly.<br /><br />Looks like this is the only test case which troubles me as of now. Have the rest of the code ready but looks like new problems are starting soon. For the same runner xml, same files , same Firefox, test case 2 shows come error. Have to check that soon. Got firefox-3.0a6pre few mins back. Have to run the test cases with that.<br /><br />And yes, tried something with the list not getting selected problem. Even <a href="http://nagappanal.blogspot.com/">nags</a> confirmed this problem some time back and finally able to find out the exact line where the error occurs .<br /><br /><span style="font-style: italic;">if (AccessibleSelection_selectChild (selection, text_index)) { }<br /></span>That is line 110 from list.c. The if statement is returning false ending up in "LDTP_ERROR_UNABLE_TO_SELECT_CHILD" . Hoping to fix this soon. Will be really happy if i fix this one as i will be able to add something to the ldtp source code. Been a long time since my name appeared in the Changelog ;-) ;-)<span style="font-style: italic;"><br /><br /></span>Only thing i am happy about is both Ubuntu Linux and Solaris responds similarly for the test cases. So no separate Firefox issues and Solaris issues as of now. Let us see how this proceeds.<br /><br />Another small issue.<br />Whenever i get any error in any of the test cases, i get the following error<br /><script name="verifyamazon.py"><br /><test name="topsite - amazon"><br /><ERROR>Traceback (most recent call last):<br /> File "/usr/local/bin/ldtprunner", line 407, in executescript<br /> execfile (scriptname, scriptglobal)<br /> File "verifyamazon.py", line 52, in <module><br /> log (msg, 'error')<br /> File "/usr/local/lib/python2.5/site-packages/ldtp.py", line 2500, in log<br /> logger.error (message)<br /> File "logging/__init__.py", line 1015, in error<br /> File "logging/__init__.py", line 1100, in _log<br /> File "/usr/local/lib/python2.5/site-packages/ldtp.py", line 2421, in makeRecord<br /> return LdtpLogRecord (name, level, fn, lno, msg, args, exc_info)<br /> File "/usr/local/lib/python2.5/site-packages/ldtp.py", line 2394, in __init__<br /> msg = '<' + logging.getLevelName (level) +'>' + saxutils.escape (msg) + '</' + logging.getLevelName (level) + '>'<br /> File "/usr/lib/python2.5/site-packages/_xmlplus/sax/saxutils.py", line 31, in escape<br /> data = data.replace("&", "&amp;")<br />AttributeError: 'LdtpExecutionError' object has no attribute 'replace'<br /></ERROR><br /></script><br /><br />I am giving the error message properly in the <span style="font-style: italic;">try</span> block, but not in the <span style="font-style: italic;">except</span> block. When i give the error in the <span style="font-style: italic;">except</span> block then i get the error message in the log file properly. But i am supposed to pass the error message from the <span style="font-style: italic;">try</span> block to the <span style="font-style: italic;">except</span> block. Should learn a bit of python exceptions to know more about this<br /><br />Anyway the files for the test cases which are working can be obtained from <a href="http://freeshells.ch/%7Esp2hari/soc/tinderbox.tar.gz">here</a><br /><br />Note :: Have added many more test cases to the above file now, but didn't like to change the title.<br /><span style="font-style: italic;"></span>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-74022797076584928072007-06-12T18:32:00.000-07:002007-06-12T18:36:13.242-07:00Meet GNU/Linux 07After 2 successful editions of Meet GNU/Linux, which is conducted by<br />GLUG-T every year for beginners, the third edition of MGL is starting<br />on 27th July, at NITT.<br /><br />A few updates about MGL'07 :<br /><br />1. Guys are planning to release a beginner handbook, which would be<br />given out to them. The content is being edited in a wiki :<br /><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://glugt-mgl.pbwiki.com/" target="_blank">http://glugt-mgl.pbwiki.com/</a> Go ahead and edit when you are free.<br /><br />2. This is GNU/Linux for dummies. So, if you have any of your<br />friend/relative interested in learning about it(in trichy), you can<br />ask them to contact <a href="http://suren4oss.blogspot.com">suren</a> who is co-ordinating<br />the event.<br /><br />3. The co-ords are planning to release podcasts of the events, which<br />will be helpful.<br /><br />Ideas, suggestion about how to organise the classes are welcome!Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-73111348530136161712007-06-12T12:53:00.000-07:002007-06-12T13:00:09.987-07:00Comments :)How many comments have you seen for a single blog ?<br /><br />Well, when i asked taggy (the internet guru of NITT) he replied around 10-20. Suren has seen around 50 for a he-she blog.<br /><br />But <a href="http://samanthalarson.blogspot.com/2007/05/summit.html">this</a> one is amazing. A single blog (in fact a single line blog) getting around 268 comments (and still counting).<br /><br />Reminds me that "What you say is more important than how much you say".Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-68489866450293477082007-06-11T12:24:00.000-07:002008-12-11T04:05:57.467-08:00Topping google searchI attended the <span style="font-style: italic;">podworks.in</span> last weekend. For those who don't know what podworks is , <a href="http://www.podworks.in/">PodWorks.in</a> is a 2-day workshop styled unconference dedicated to the sharing of knowledge around audio and video podcasting. It's a successor to the extremely successful BlogCamp that was held last year.<br /><br />Though i have lots and lots to say about the event, one strange and nice thing is that if you <a href="http://www.google.co.in/search?hl=en&q=podworks.in&btnG=Google+Search&meta=">google for podworks.in</a> my blog tops the list :-) :-)<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh579RwZhz2-OdbKXDl-UATiO3giLch9XiDovm12ROwEw_DJ8qIqiXcBbjoPdcNPZuG6a4S6fWw5w8dQJQZfrNWY9rj8xDLHNBtQsmsKPRL4gS71sJG8pIR_3Y8foK93O5jURfeYw/s1600-h/Screenshot.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh579RwZhz2-OdbKXDl-UATiO3giLch9XiDovm12ROwEw_DJ8qIqiXcBbjoPdcNPZuG6a4S6fWw5w8dQJQZfrNWY9rj8xDLHNBtQsmsKPRL4gS71sJG8pIR_3Y8foK93O5jURfeYw/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5074893962316304770" border="0"></a>Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-74523333446278199432007-06-10T17:07:00.000-07:002008-12-11T04:05:57.993-08:00Internet from solaris ...DNS makes our life real easy. Without that, i don't think people will say check out http://google.com but check out http://64.233.187.99. I realized how important DNS is to us and without DNS how one can go mad.<br /><br />I installed Solaris (Neveda ) two weeks back and it was good. :-) . Though i was a bit scared in the initial stages, i didn't find much difference between Linux and Solaris as far as LDTP is concerned. Anyway i had <a href="http://blogs.sun.com/roller/page/emily">Emily Chen</a> from Sun China (my Soc Mentor ) to help me with the issues and many thanks to her, she was always willing to help me in any issue. In fact almost all her mails had something saying<br />" I am on Gtalk almost every workday, feel free to ping me when you have problems. " or something similar to that :-) :-)<br /><br />But there was one issue which really troubled me in Solaris and that was DNS wasn't working. Instead of typing http://www.google.com, i had to type http://64.233.187.99/ :(<br /><br />I had a huge list of servers which i might use and their ip's . (Many thanks to dnsstuff.com). I was getting more and more frust typing IP's instead of url's and browsing only the cached page instead of the actual pages. I tried many a things and even Emily also helped me with few tips and tricks. But things never worked. I was really getting irritated as this was delaying my progress in SOC.<br /><br />Determined to solve the issue somehow, i started trying all the options in the Network Settings. One strange thing i noted is that, whenever i add a DNS server and close it, next time i open Network Settings, the entries won't be there. Simply disappeared from there :-(.<br /><br />I noticed an option called Location in the Network Settings. It was empty and i wasn't sure whether i have seen anything like this in Linux.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW4D22bEWm7eSnG8rLkq0fNmq7T_OLPDVc4T9vmIWqlH5DvTHmNO1cZeo-YaClRBHAN0e3tA8NrBda2NpOTcusq6Bx0pKnfBSfMVbqU1LGl4mjNe_1cdgD3gNKjSj9tR8dgYzizg/s1600-h/Screenshot.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW4D22bEWm7eSnG8rLkq0fNmq7T_OLPDVc4T9vmIWqlH5DvTHmNO1cZeo-YaClRBHAN0e3tA8NrBda2NpOTcusq6Bx0pKnfBSfMVbqU1LGl4mjNe_1cdgD3gNKjSj9tR8dgYzizg/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5074599709811888498" border="0"></a><br />Not sure of what to do with that Location, i gave "home" there. I wasn't sure whether this will solve my problem, but no harm in trying. But once i restarted network, www.google.com worked.<br />YES. IT WORKED. IT WORKED .IT WORKED. IT WORKED .IT WORKED. IT WORKED<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFepsWjsxoPXG9r8qH0hilYkXa3ynY0JCy4iDO7R98X8hPS-CbroTZlryBWaj7LWsql1eRpm6b9CQmPIQGzFF_uV2BxvxV06XlrHyLh5F9gqwqNwollrwdtqtFR94KtMcdXwzvSg/s1600-h/Screenshot-2.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFepsWjsxoPXG9r8qH0hilYkXa3ynY0JCy4iDO7R98X8hPS-CbroTZlryBWaj7LWsql1eRpm6b9CQmPIQGzFF_uV2BxvxV06XlrHyLh5F9gqwqNwollrwdtqtFR94KtMcdXwzvSg/s320/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5074599336149733730" border="0"></a>I am pretty sure anyone who had seen me at that time would have thought that i am mad. Even i wont blame them . I accept, suddenly jumping out of the chair and shouting "IT WORKED" at 3 in the morning is quite odd. :P<br /><br />Anyways, now that things have started working, will be saying my "Hello World" to tinderbox soon :-)Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com1tag:blogger.com,1999:blog-14189129.post-80030629638315973512007-06-10T15:28:00.000-07:002007-06-10T15:59:19.877-07:00Running a test case ...Having written the test scripts for Firefox, this time going to tell how to test Firefox with these scripts. The test scripts can be found <a href="http://people.freedesktop.org/%7Enagappan/firefox.tar.gz">here</a><br /><br />There is a <a href="http://ldtp.freedesktop.org/wiki/How_to_execute_scripts">wiki page</a> in LDTP website which gives quick tips about how to run LDTP test cases.<br /><br />First quick steps to get LDTP installed . If you have LDTP already installed, then you can skip this.<br /><br /><span style="font-weight: bold;">Installation</span><br />Get the source/binary from the <a href="http://ldtp.freedesktop.org/wiki/Download">downloads section</a> of LDTP web page. Any other dependencies which LDTP might need while installation is libxml2 and libat-spi. (I generally install the debug and dev packages of the above two). After this installation of LDTP shouldn't have any issues :-)<br /><br /><span style="font-weight: bold;">Runner XML<br /></span>Runner XML files makes testing many test cases one after another in a batch mode easy. A sample runner XML can be found <a href="http://ldtp.freedesktop.org/wiki/Sample_ldtprunner_XML">here</a>. A very simple runner XML needed to run a single test case will be like<br /><br /><ldtp><group style="font-style: italic;"><ldtp><br /><logfileoverwrite>1</logfileoverwrite><br /><logfile>log.xml</logfile><br /><group><br /><script><br /><name>verifyaddress-autocomplete.py</name><br /><data>firefox.xml</data><br /></script><br /></group><br /></ldtp><br /><br /></group><group>The tags are self explanatory.<br />You can have any number of script blocks and thereby test any number of test cases one after another. The data tag is not necessary but it is better to have a separate data file.<br /></group></ldtp><br /><span style="font-weight: bold;">Test<br /></span>Well, that's all you have to do. Start Firefox and then<br /><br /><span style="font-style: italic;">hari@home:~$ ldtprunner run.xml</span><br /><br />The above command starts testing the application with the test case provided in the run.xml .<br /><br />Note :: It is also possible to test simply by giving<br /><br /><span style="font-weight: bold;"></span><span style="font-style: italic;">hari@home:~$ python verifyaddress-autocomplete.py</span><br /><br />But i prefer doing it using runner XML, as that has more features.<br /><br />There is a complete tutorial for LDTP <a href="http://freeshells.ch/%7Esp2hari/soc/ldtp-tutorial.pdf">here.</a> This explains everything needed to write a test script clearly and is worth reading :)Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0tag:blogger.com,1999:blog-14189129.post-37875344246492470182007-06-08T09:45:00.000-07:002007-06-09T02:39:48.211-07:00SOC report ...My SoC is going fine and great. Hoping to finish this well ahead of time:) This is a blog + report :)<br /><br />So i have started with Automation of Firefox.<br />For the current status of all the test cases i have mentioned here, check this <a href="http://ldtp.freedesktop.org/wiki/Firefox_Test_Cases">link</a><br /><br />The categories under which i have written test cases till now are<br />1. Firefox 3.0 :: SmokeTests :: <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&product_id=1&branch_id=15&testgroup_id=54&subgroup_id=748&print=1">Functionality</a><br />Most of the test cases in this category are done. certain test cases which are yet to be done are marked as TODO in the status page.<br /><br />2. Firefox 2.0 :: Basic Functional Tests :: <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&branch_id=11&testgroup_id=25&subgroup_id=323&print=1">Help</a><br />This is a really small category, with just two cases. Both of them working fine, but have to check the closewindow() function which didn't close the help window.<br /><br />3. Firefox 2.0 :: Basic Functional Tests :: <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&product_id=1&branch_id=11&testgroup_id=25&subgroup_id=316&print=1">Options (Preferences)</a><br />Have done almost all the test cases. There is again a small issue in this. The objects shown in the preferences window are list-items whose parent is a list. We tried to copy the code for combobox for list but it didn't work. Have to add functions specific for list in list.c<br /><br />4. Firefox 2.0 :: Basic Functional Tests :: <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&branch_id=11&testgroup_id=25&subgroup_id=318&print=1">Printing</a><br />This had bug in the print preview option. The CPU just hangs and processor takes 100% load . This bug is already reported in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=323652">bugzilla.mozilla.org</a> .<br /><br />5. Firefox 2.0 :: Basic Functional Tests :: <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&product_id=1&branch_id=11&testgroup_id=25&subgroup_id=320&print=1">Location bar</a><br />Works perfectly. Had to use LTFX functions activatewin and typekey .<br /><br />6. Firefox 2.0 :: Basic Functional Tests :: <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&branch_id=11&testgroup_id=25&subgroup_id=315&print=1">Popup and Annoyance Blocking</a><br />Most of the test cases have been automated. Testing Java and Javascript is a small issue in this.<br /><br />Some of the important categories which i have started tesing and is in near completion are<br />1. <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&product_id=1&branch_id=11&testgroup_id=25&subgroup_id=313&print=1">Bookmarks</a><br />2. <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&branch_id=11&testgroup_id=25&subgroup_id=324&print=1">MenuBar</a><br />3. <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&product_id=1&branch_id=11&testgroup_id=25&subgroup_id=499&print=1">RSS</a><br />4. <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&branch_id=11&testgroup_id=25&subgroup_id=311&print=1">Downloading</a><br />5. <a href="http://litmus.mozilla.org/show_test.cgi?searchType=by_category&product_id=1&branch_id=11&testgroup_id=25&subgroup_id=310&print=1">Addons Manager</a><br /><br />Finally, the code for the above tests can be found <a href="http://people.freedesktop.org/%7Enagappan/firefox.tar.gz">here. </a><br />Finally one small and interesting thing ;-). The icon which shows that the loading of a page ( the circular thing which rotates while a page is loading) is a push button :-) . Was really surprised when i noticed it :P. No clue why is it that way ;)Harishankaranhttp://www.blogger.com/profile/09408282475298729077noreply@blogger.com0