tag:blogger.com,1999:blog-21679119698999061102024-02-08T04:12:14.498-08:00Gokul BlogSpaceMy Public blog space to write about my views and learning...Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-2167911969899906110.post-84724714559016029622010-07-29T07:01:00.000-07:002010-07-29T07:01:38.242-07:00Theming the Drupal 6 registration, login, and request new password pages (NOT just forms) - PicxelPlay<a href="http://picxelplay.com/blog/theming-drupal-6-registration-login-and-request-new-password-pages-not-just-forms">Theming the Drupal 6 registration, login, and request new password pages (NOT just forms) - PicxelPlay</a>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-78757369238520047242010-07-03T00:35:00.000-07:002010-07-03T00:35:00.096-07:00‘We plan to expand open source team by more than 50%; also open to freshers’<a href="http://feedproxy.google.com/~r/LinuxForYou/~3/4VU8YBV72a0/">‘We plan to expand open source team by more than 50%; also open to freshers’</a>: "Gokul Muralidharan, open source specialist, Aspire Systems talks about the company’s journey on the open source road and the promise this speed lane holds for FOSS/Linux experts<img src="http://feeds.feedburner.com/~r/LinuxForYou/~4/4VU8YBV72a0" height="1" width="1">"Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-74415878415781836982010-05-05T23:12:00.000-07:002010-05-05T23:12:02.130-07:00<div style="width:288px;font-family:arial,sans-serif;font-size:13px;"><div><embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="288" height="192" flashvars="host=picasaweb.google.com&captions=1&hl=en_US&feat=flashalbum&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fgokulmig%2Falbumid%2F5443006719742948673%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></div><span style="float:left;"><a href="http://picasaweb.google.com/gokulmig/MyPhotography?feat=flashalbum" style="color:#3964c2">View all</a></span><div style="text-align:right;"><a href="http://picasaweb.google.com/lh/getEmbed?feat=flashalbum" style="color:#3964c2">Get your own</a></div></div>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-192219792904555882010-05-01T22:33:00.001-07:002010-05-01T22:33:08.751-07:00Produce and Consume Linked Data with Drupal!Check out this SlideShare Presentation: <div style="width:425px" id="__ss_2354640"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/scorlosquet/produce-and-consume-linked-data-with-drupal" title="Produce and Consume Linked Data with Drupal!">Produce and Consume Linked Data with Drupal!</a></strong><object id="__sse2354640" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slidesiswc2009final-091027000907-phpapp01&stripped_title=produce-and-consume-linked-data-with-drupal" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse2354640" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slidesiswc2009final-091027000907-phpapp01&stripped_title=produce-and-consume-linked-data-with-drupal" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/scorlosquet">scorlosquet</a>.</div></div>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-4338018650040459472010-05-01T22:04:00.001-07:002010-05-01T22:04:50.830-07:00What is RDFa?Check out this SlideShare Presentation, it explains the RDFa in a very nice manner.<div style="width:425px" id="__ss_3858469"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/JISCNetskills/what-is-rdfa" title="What is RDFa?">What is RDFa?</a></strong><object id="__sse3858469" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whatisrdfa-100426105106-phpapp02&stripped_title=what-is-rdfa" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse3858469" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whatisrdfa-100426105106-phpapp02&stripped_title=what-is-rdfa" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/JISCNetskills">JISC Netskills</a>.</div></div>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-49329483826956320172010-01-07T09:34:00.000-08:002010-01-07T09:53:00.350-08:00FAST FACTS ABOUT COFFEE<b><span class="Apple-style-span" style="font-size: x-large;">FAST FACTS ABOUT COFFEE..</span></b>.<br />
<img alt="http://theoatmeal.com/img/comics/coffee/header.jpg" src="http://theoatmeal.com/img/comics/coffee/header.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/1.jpg" src="http://theoatmeal.com/img/comics/coffee/1.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/2.jpg" src="http://theoatmeal.com/img/comics/coffee/2.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/3.jpg" src="http://theoatmeal.com/img/comics/coffee/3.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/4.jpg" src="http://theoatmeal.com/img/comics/coffee/4.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/5.jpg" src="http://theoatmeal.com/img/comics/coffee/5.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/6.jpg" src="http://theoatmeal.com/img/comics/coffee/6.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/7.jpg" src="http://theoatmeal.com/img/comics/coffee/7.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/8.jpg" src="http://theoatmeal.com/img/comics/coffee/8.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/9.jpg" src="http://theoatmeal.com/img/comics/coffee/9.jpg" /><img alt="http://theoatmeal.com/img/comics/coffee/end.jpg" src="http://theoatmeal.com/img/comics/coffee/end.jpg" /><br />
<br />
<br />
Love Thy Coffee.... :)Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-52394705131501546552009-12-26T05:41:00.000-08:002009-12-26T06:15:38.634-08:00A Look at Motorola Droid<span class="Apple-style-span" style="font-family:Arial;color:#434343;"><span class="Apple-style-span" style="font-size: small;"><p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"><span style="font-size:12.0pt;font-family:"Arial","sans-serif"; mso-fareast-font-family:"Times New Roman";color:black">Motorola Droid seems to get a buzz around on its arrival into the mobile market...</span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"><span style="font-size:12.0pt;font-family:"Arial","sans-serif"; mso-fareast-font-family:"Times New Roman";color:black">What is it that makes us think it’s a great gizmo and will it overtake the I phone. </span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"><span style="font-size:12.0pt;font-family:"Arial","sans-serif"; mso-fareast-font-family:"Times New Roman";color:black">Let’s see some quick fact sheet on the Droid. </span></p><p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"></p><ul><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">Android™ 2.0</span></li><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">CDMA CDMA 1X 800/1900, EVDO rev. A</span></li><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">SLIDER</span></li><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">Wifi</span></li><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">GPS</span></li><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">5 MP camera</span></li><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">Email sync</span></li><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">MSOffice and PDF viewers.</span></li><li><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">Close integration with Google apps.</span></li></ul><p></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"><span style="font-size:12.0pt;font-family:"Arial","sans-serif"; mso-fareast-font-family:"Times New Roman";color:black"><o:p>The overall composition looks very appealing who likes google products with motorola hardware, clearly has a list of much needed features like Wifi and GPS and email sync to office and certainly available unlocked so that I could switch over to any service provider.</o:p></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"><span style="font-size:12.0pt;font-family:"Arial","sans-serif"; mso-fareast-font-family:"Times New Roman";color:black">I certainly appreciate that Motorola made it available as unlocked though exclusive offers are given by Verizon. </span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; "><img src="http://www.motorola.com/staticfiles/Consumers/Products/Mobile%20Phones/Motorola-SHOLES/_Images/_Staticfiles/B2C_DROID_Size.jpg" alt="Motorola DROID" /></span></p><p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"><span class="Apple-style-span" style="font-family:Arial, sans-serif;font-size:130%;color:#000000;"><span class="Apple-style-span" style="font-size: 16px;">I like it hoping the price would come down much further to get my own Driod…</span></span></p><p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;mso-line-height-alt: 7.5pt"><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial, sans-serif; font-size: 16px; ">This site has an good comparison have a look <span class="Apple-style-span" style="font-family: Arial; font-size: small; color: rgb(67, 67, 67); "><a href="http://www.infoworld.com/d/mobilize/mobile-deathmatch-motorola-droid-vs-iphone-side-side-875&current=2&last=1#">http://www.infoworld.com/d/mobilize/mobile-deathmatch-motorola-droid-vs-iphone-side-side-875&current=2&last=1#</a></span></span></p></span></span>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-88548240620497748072009-06-10T08:14:00.000-07:002009-06-10T11:08:39.355-07:00Advantage PostgreSQL XML powerAll of us know the greatness of the opensource database PostgreSQL, which is shortly called as PGSQL. This article outrights the power of XML functions usage available in the postgreSQL database.<div><br /></div><div>Lets take a small sample.</div><div><br /></div><div>Create a small table </div><div><br /></div><div><div>CREATE TABLE "user_add"</div><div>(</div><div> id serial NOT NULL,</div><div> "name" character(100) NOT NULL,</div><div> address character varying(100),</div><div> phone character varying (12),</div><div> city character varying(20),</div><div> CONSTRAINT id PRIMARY KEY (id)</div><div>)</div></div><div><br /></div><div>now let insert some sample records for our further actions</div><div><br /></div><div><br /></div><div><div>INSERT INTO "user_add"("name", address, phone,city)</div><div> VALUES ( 'John', '10, East st,Chennai', '111-111-111','Texas');</div><div><br /></div></div><div><div><div>INSERT INTO "user_add"("name", address, phone)</div><div> VALUES ( 'Peter', '11, West st,Chennai', '222-222-222','Texas');</div><div><br /></div><div><div><div>INSERT INTO "user_add"("name", address, phone)</div><div> VALUES ( 'Mike', '12, North st,Chennai', '333-333-333','Newyork');</div><div><br /></div></div></div><div><br /></div></div></div><div>now if you do a select of the table as select * from user_add;</div><div><br /></div><div><div> 1 | John | 10, East st,Chennai | 111-111-111 | Texas</div><div> 2 | Peter | 11, West st,Chennai | 222-222-222 | Texas</div><div> 3 | Mike | 12, North st,Chennai | 333-333-333 | Newyork</div></div><div><br /></div><div>now I plan to give these data for an web service request or an ajax request for a request of user by city.</div><div><br /></div><div>Generally we will be getting this data and then will be formulating that as xml format, which generally is a very consuming and exhausting process, PostgreSQL provides a simplistic way to achive this using its power full xml functions</div><div><br /></div><div> here is a query</div><div><br /></div><div><div>SELECT xmlelement (name city,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> xmlattributes(city as "city" ),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>xmlagg(xmlelement(name user,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>xmlattributes(name as name),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>(xmlelement(name address,address)),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>(xmlelement(name phone,phone))</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> )</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> )</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> </div><div><span class="Apple-tab-span" style="white-space:pre"> </span> ) </div><div><span class="Apple-tab-span" style="white-space:pre"> </span> as xml from user_add where city = 'Texas' group by city;</div><div><br /></div></div><div>you should get the xml</div><div><br /></div><div><br /></div><div><br /></div><div>So just inaf to be passed on directly. Sounds amazing....</div><div><br /></div><div><br /></div>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-19116656821439225462008-08-04T06:30:00.000-07:002009-05-17T01:06:12.221-07:00Get Reviewboard running using apache.<virtualhost><br /> ServerName yourservername<br /> DocumentRoot /var/www/html/reviewboard<br /> ErrorDocument 500 /errordocs/500.html<br /> # Serve django pages<br /> <locationmatch><br /> PythonPath "['/var/www/html/'] + ['/var/www/html/reviewboard'] + sys.path"<br /> SetEnv DJANGO_SETTINGS_MODULE reviewboard.settings<br /> SetHandler mod_python<br /> PythonHandler django.core.handlers.modpython<br /> PythonAutoReload Off<br /> PythonDebug Off<br /> </locationmatch><br /> # Serve static media without running it through mod_python (overrides the above)<br /> <locationmatch><br /> SetHandler None<br /> </locationmatch><br /> # Alias static media requests to filesystem<br /> Alias /media /usr/lib/python2.4/site-packages/django/contrib/admin/media<br /> Alias /css /var/www/html/reviewboard/htdocs/css<br /> Alias /images /var/www/html/reviewboard/htdocs/images<br /> Alias /scripts /var/www/html/reviewboard/htdocs/scripts<br /> Alias /errordocs/ /var/www/html/reviewboard/htdocs/errordocs<br /></virtualhost><br /><br /><br /><br />The /var/www/html/reviewboard is the path of the my review board installation and<br />/usr/lib/python2.4/site-packages/django/contrib/admin/media is the path of the django installation.Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-67281988328601161962007-10-18T06:36:00.000-07:002009-05-17T01:06:12.221-07:00Sethu Canal ProjectHi Readers,<br /><br />I would like to express my view on the sethu Canal project (so called Ram Sethu), I neither offend or defend the existence of Ram here. But the political parties mainly caste parties are taking it a issue and everyone including the ruling government is trying to make votes in the election of of it.<br /><br />Does it not affects the progress of our nation , Are we going to hurdle each projects this way.<br /><br />We have to think forward, lets for an argument lets take Rama has built that bridge. Wasn't he doing it against the nature that time and what the problem now coming up.<br /><br />Its all in the minds of politicians to grab votes from the people.<br /><br />Crores of money will go wasted which have been invested in that so far, who bears the burden , not the politician but the tax payers.<br /><br />Development projects with a true concerned should be appreciated and carried out without hurdles.<br /><br />That is the only way to get in the vision 2020.Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-71693023102708189652007-08-24T15:36:00.000-07:002009-05-17T01:06:12.221-07:00PHP PDO<span style="font-weight: bold;">PDO :<br /></span>Sounds like a catchy word, but true its is a very good module that has been available with PHP 5.<br /><br />In quick terms I would say this is like a generic odbc database abstraction method, IE you could write applications that can work seamlessly with different databases with it.<br /><br /><span style="font-weight: bold;"><span style="font-weight: bold;">Here is the explanation from PHP site<br /></span></span><p> The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP. Each database driver that implements the PDO interface can expose database-specific features as regular extension functions. Note that you cannot perform any database functions using the PDO extension by itself; you must use a <a href="http://us3.php.net/manual/en/ref.pdo.php#pdo.drivers" title="PDO Drivers">database-specific PDO driver</a> to access a database server. </p><p> PDO provides a <span class="emphasis"><em>data-access</em></span> abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does <span class="emphasis"><em>not</em></span> provide a <span class="emphasis"><em>database</em></span> abstraction; it doesn't rewrite SQL or emulate missing features. You should use a full-blown abstraction layer if you need that facility. </p><span style="font-weight: bold;"><span style="font-weight: bold;"><br />How to get it<br /><br /></span></span>Its available as PECL and also as a PHP module.<br /><br />The PHP module is best and performance and speed. For configuring goto<a href="http://www.php.net/pdo"> PHP site</a><br /><br />How do I use it<br /><br /><code><span class="html"><span class="default">$db </span><span class="keyword">= new </span><span class="default">PDO</span><span class="keyword">(</span><span class="string">'mysql:host=localhost;dbname=$database'</span><span class="keyword">, </span><span class="default">$dbuser</span><span class="keyword">, </span><span class="default">$dbpass</span><span class="keyword">)</span></span></code><br />or<br /><br />class myclass extends pdo{<br /><br /> function __construct(){<br /><br /> parent::construct(<code><span class="html"><span class="string">'mysql:host=localhost;dbname=$database'</span><span class="keyword">, </span><span class="default">$dbuser</span><span class="keyword">, </span><span class="default">$dbpass);</span></span></code><br /><br /> }<br /><br />/***<br /><br />my code */<br /><br /><br />}<br /><br />and now<br /><br />$db=new myclass();<br /><br /><br />There are three important things in the PDO we need to understand<br /><br />PDO object<br />PDO Statement object<br />PDO Error handler<br /><br /><br />PDO object is the object we insantiate<br /><br />ie $db=<code><span class="html"><span class="string">new pdo('mysql:host=localhost;dbname=$database'</span><span class="keyword">, </span><span class="default">$dbuser</span><span class="keyword">, </span><span class="default">$dbpass);<br /><br />where $db is the pdo object.<br /><br />Lets see an example of connecting and updating a record in a table test<br /><br /></span></span></code>$db=<code><span class="html"><span class="string">new pdo('mysql:host=localhost;dbname=$database'</span><span class="keyword">, </span><span class="default">$dbuser</span><span class="keyword">, </span><span class="default">$dbpass);<br /><br />$db_stmt=$db->prepare("update test set name=:name,address=:address where id=:id");<br /></span></span></code><code><span class="html"><span class="default"><br />now $db_stmt is the PDO statement handle.<br /><br />We had made the sql prepare here this is very effective when you want to update an array of users like<br /><br />$users=array(<br /> 0=>array("name"=>"name1","address"=>"test1","id"=>1),<br /></span></span></code><code><span class="html"><span class="default"> 1=>array("name"=>"name2","address"=>"test2","id"=>2),<br /></span></span></code><code><span class="html"><span class="default"> 2=>array("name"=>"name3","address"=>"test3","id"=>3));<br /><br />//note you have to<br /><br /> foreach($users as $key=>$user){<br /> foreach($user as $col=>$val){<br /> //bind the value for :name , :address ,:id here<br /><br /> $db_stmt->bindValue(":".$col,$val);<br /> //to my knowledge the bindValue will work for binding all values.<br /> //I see this bindParam is not working for the values in where class<br /> //refer php manual for more options<br /> }<br /> //execute it <br /> $db_stmt->execute();<br /> }<br /><br />There you go you should have updated 3 records.<br /><br />you can always execute in the old way of<br /><br /></span></span></code><code><span class="html"><span class="default">$db->exec</span><span class="keyword">(</span><span class="string">"DELETE FROM test WHERE id=1"</span><span class="keyword">);<br /><br />which will return the no of affected rows for this.<br /><br />Please put comments if you have any doubts. <br /></span></span></code>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-34640508924707939862007-07-27T22:48:00.000-07:002009-05-17T01:06:12.221-07:00A Tribute to South INDIAFriends<br />I would like to tribute this video in honor of south India , where I do hail from, This video describes about my native town srirangam and also about the Greatest king Raja Raja Cholan.<br />Its a 52 mins video but worth seeing.<br /><br /><embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-5096103596865842301&hl=en" flashvars=""> </embed>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-59405138392093589342007-07-27T21:51:00.000-07:002009-05-17T01:06:12.221-07:00Google News on Tamil<embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=4413202459678535244&hl=en" flashvars=""> </embed>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-75130332910399955252007-06-18T00:28:00.000-07:002009-05-17T01:06:12.222-07:00US Visa Guidelines<span style="font-family:verdana;font-size:85%;"></span><br /><p><span style="font-family:verdana;font-size:85%;">Its required to be there at least an hour before the interview time of yours.<br /><br />Keep your passport and visa interview letter Ready to show to the security at the gate.<br /><br />Make sure you do not have any mobile or electronic devices or cosmetics or sharp elements with you.<br /><br />All your covers / letters should be uncovered and never keep some closed cover material.<br /><br />You need to undergo a clear security check and also they will check all your documents so dont keep any thing in closed cover , take it in a file so that you / they can handle it easily<br /><br />Next on passing on to a Big heavy door You will be either asked to sit or directly asked to stand in a queue , There hand over your passport / visa interview and the visa application form,Visa payment slip altogether to the person.<br /><br />The person may ask you to write your name in the application form in your native language and every thing will be given in a file by them and you need to proceed to the next part. <br /><br />You will be asked to be in a queue and called upon your interview time and in there you will be asked for a biometric finger print recognition of your left index finger and right index finger , here you have to give you passport alone.Once this is over you will be asked either to wait or will be taken to another queue to the visa counselor.<br /> </span></p><p><span style="font-family:verdana;font-size:85%;">Here on going to the counselor hand over the file given outside in a flat way via that glass door.<br /> </span></p><p><span style="font-family:verdana;font-size:85%;">Wait till you are called by them and greet the person like Hello , Good morning or approriate to the time you meet them..</span></p><p><span style="font-family:verdana;font-size:85%;"></span> </p><p><span style="font-family:verdana;font-size:85%;">Keep your files in handy so that give them the documents what they need do not give the entire folder.</span></p><p><span style="font-family:verdana;font-size:85%;"></span> </p><span style="font-family:verdana;font-size:85%;">Be clear on your </span><br /><span style="font-family:verdana;font-size:85%;"> Purpose of travel.</span><br /><span style="font-family:verdana;font-size:85%;"> Date of travel.</span><br /><span style="font-family:verdana;font-size:85%;"> Stay.</span><br /><span style="font-family:verdana;font-size:85%;"> Sponsor.</span><br /><span style="font-family:verdana;font-size:85%;"> Previous travel to US and other countries.(with date and period of stay and purpose)</span><br /><span style="font-family:verdana;font-size:85%;"> Your salary(both monthly and annualy)</span><br /><span style="font-family:verdana;font-size:85%;"> Your company details</span><br /><span style="font-family:verdana;font-size:85%;"> Your Client details</span><span style="font-family:verdana;font-size:85%;"> </span><br /><span style="font-family:verdana;font-size:85%;"></span><br /><span style="font-family:verdana;font-size:85%;"></span><br /><br /><span style="font-family:verdana;font-size:85%;">Question generally which were asked was<br /><br />1) How are you<br /><br />2) Whom do you work for.<br /><br />3) What your company do<br /><br />4) Who is your client<br /><br />5) What kind of business they do</span><br /><span style="font-family:verdana;font-size:85%;"></span><br /><span style="font-family:verdana;font-size:85%;">5) Whats is your monthly or annual salary<br /><br />6) What is the purpose of visit</span><br /><span style="font-family:verdana;font-size:85%;"></span><br /><br /><span style="font-family:verdana;font-size:85%;"><br />Then the counselor will say your visa is approved or not approved. </span><br /><br /><span style="font-family:Verdana;font-size:85%;">if approved they will take the passport else they will return it to you.</span>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-61970797763866266532007-06-13T00:08:00.000-07:002009-05-17T01:06:12.222-07:00PHP SOAP<div align="left"><span style="font-family:verdana;font-size:85%;">Source Article : Developer.apple.com</span></div><div align="left"><br /><a href="http://www.w3.org/TR/soap12-part0/"><span style="font-family:verdana;font-size:85%;">SOAP</span></a><span style="font-family:verdana;font-size:85%;">, the Simple Object Access Protocol, is the powerhouse of web services. It’s a highly adaptable, object-oriented protocol that exists in over 80 implementations on every popular platform, including </span><a href="http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptLangGuide/index.html"><span style="font-family:verdana;font-size:85%;">AppleScript</span></a><span style="font-family:verdana;font-size:85%;">, JavaScript, and Cocoa. It provides a flexible communication layer between applications, regardless of platform and location. As long as they both speak SOAP, a PHP-based web application can ask a C++ database application on another continent to look up the price of a book and have the answer right away. Another </span><a href="http://developer.apple.com/internet/applescript/applescripttoperl.html"><span style="font-family:verdana;font-size:85%;">Internet Developer article</span></a><span style="font-family:verdana;font-size:85%;"> shows how to use SOAP with AppleScript and Perl.<br />SOAP was created collaboratively as an open protocol. Early in its development, XML-RPC was spun off, and now enjoys its own popularity as a simpler alternative to SOAP. Both encode messages as XML, and both use HTTP to transport those messages. SOAP, however, can use other transport protocols, offers a number of high-end features, and is developing rapidly. (For more about SOAP and web services, try XML.com’s helpful </span><a href="http://www.xml.com/pub/a/2002/01/09/soap.html"><span style="font-family:verdana;font-size:85%;">demystification</span></a><span style="font-family:verdana;font-size:85%;">.)<br />A SOAP transaction begins with an application making a call to a remote procedure. The SOAP client script then encodes the procedure request as an XML payload and sends it over the transport protocol to a server script. The server parses the request and passes it to a local method, which returns a response. The response is encoded as XML by the server and returned as a response to the client, which parses the response and passes the result to the original function.<br />There are a number of different implementations of SOAP under PHP. It’s a shifting landscape: new ones appear, and old ones aren’t maintained or simply vanish. As of this writing, the most viable PHP implementation of SOAP seems to be Dietrich Ayala’s SOAPx4, also known as NuSOAP. This implementation is the most commonly used and appears to be the most fully developed and actively maintained, and it shows every sign of continuing to be a robust and popular solution. It’s not complete—a number of features, including full documentation, are still in the works—but it’s still a highly viable and easy-to-use SOAP solution.</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-size:85%;"><span style="font-family:verdana;"><strong>Installation</strong><br />First, you need to get PHP up and running on your Mac. This is easy to do: check out our </span></span><a href="http://developer.apple.com/internet/opensource/php.html"><span style="font-family:verdana;font-size:85%;">tutorial</span></a><span style="font-family:verdana;font-size:85%;"> to get yourself set up. If you want to send SOAP messages over HTTPS, you’ll need to include the cURL module in your PHP build.<br />The next step is to install NuSOAP. Download the package from the </span><a href="http://dietrich.ganx4.com/download.php?url=/nusoap/"><span style="font-family:verdana;font-size:85%;">developer’s site</span></a><span style="font-family:verdana;font-size:85%;">. Unzip it to get a folder of documentation, as well as the file nusoap.php, which contains the actual PHP classes that we’ll need. To use them, place nusoap.php in your PHP path and include it in the scripts you write.<br />The base class is nusoap_base. By using it and its subclasses, anything is possible. As an example, I’ll build a simple SOAP server script and client script, and then dissect the XML transaction they send.<br /></span><span style="font-size:85%;"><span style="font-family:verdana;"><strong>A SOAP Server<br /></strong>Here is a simple server, written in PHP, that takes an ISBN (International Standard Book Number) as input, performs a lookup in an imaginary database, and returns the price of the corresponding book. In it, I use the soap_server class, and four methods of that class: the soap_server constructor, register, fault, and service</span></span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"><?php<br />// function to get price from database<br />function lookup($ISBN) {<br />$query = "select price from books where isbn = ". $ISBN;<br />if (mysql_connect("localhost", "username", "passwd"))<br />else { $error = "Database connection error";<br />return $error; }<br />if (mysql_select_db("books"))<br />else { $error = "Database not found";<br />return $error; }<br />if ($result = mysql_query($query))<br />else { $error = "mysql_error()";<br />return $error; }<br />$price = mysql_result($result, 0, 0);<br />return $price;<br />}<br />// include the SOAP classes<br />require_once('nusoap.php');<br />// create the server object<br />$server = new soap_server;<br />// register the lookup service<br />$server->register('lookup');<br />// if the lookup fails, return an error<br />if $price == 0 {<br />$error = "Price lookup error";<br />}<br />if (isset($error)) {<br />$fault =<br />$server->fault('soap:Server','http://mydomain.com/booklookupscript.php',$err<br />or);<br />}<br />// send the result as a SOAP response over HTTP<br />$server->service($HTTP_RAW_POST_DATA);<br />?></span></div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;">The first method I use is the soap_server constructor, which creates the server object that will be doing all the work for me. I assign that object to $server. Next is register, which tells the server what to do (in this case, to call the lookup() function). The method’s one parameter is the name of the function. There are other optional parameters that can be used to define the namespace and the SOAPAction information as specified in the SOAP specification, but those aren’t necessary for this example. The general syntax of the register method is:</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;">register(name, in, out, namespace, SOAPAction, style)</span></div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;">The first parameter is the only mandatory one. in and out are arrays of input and output values; namespace and SOAPAction are used in accordance with the SOAP spec. Finally, style is used to indicate whether the data being sent is literal XML data (the default, and what I use in these examples) or RPC serialized application data.<br />So, the function is executed, and the returned value is passed to the server object. Then the service method returns a SOAP response to the client that initiated the request. The argument to the service method is $HTTP_RAW_POST_DATA.<br />Dealing with Errors<br />Because databases are not perfect, the script has a series of steps to catch errors. The lookup function contains three traps for different kinds of MySQL database errors. Each trap assigns an error identification string to the variable $error and returns that variable to the main function. Additionally, the main function tests the $price variable to ensure that it’s not set to zero, which would indicate a defective entry in the database.<br />If any one of these traps finds an error, NuSOAP’s fault method is called. This halts execution of the server script and returns the method’s parameters to the client as the string variable $fault. The syntax of the fault method is:</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6666cc;">fault(faultcode, faultactor, faultstring, faultdetail)</span></div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6666cc;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;">The first two arguments are required, the latter two are optional. For the faultcode argument, a machine-readable fault code must be provided, as described in the SOAP spec. There are four predefined fault codes in the specification: VersionMismatch, MustUnderstand, Client, and Server. These must be given as qualified names in the namespace by prefixing them with SOAP-ENV:. A VersionMismatch error indicates incompatible namespaces. A MustUnderstand error is used when it comes across a mandatory header entry that it doesn’t understand. Client is used when the error lies in the message that was received from the client. And Server indicates a problem encountered during processing on the server, unaffiliated with the SOAP message per se. This latter code is what I used in the script when there’s a problem with the database lookup.<br />The faultactor argument should contain the URI where the problem originated. This is more important for transactions where numerous intermediaries are involved. In this example, I use the URI of the server script. (Note: the NuSOAP documentation implies that the faultactor element should be set to either “client” or “server.” The SOAP specification, however, says it should be a URI.)<br />faultstring and faultdetail are set aside for explaining the fault in human-readable language. faultstring should be a brief message indicating the nature of the problem, while faultdetail can go into more detail—it can even contain an array with specific itemized information about the fault. In my example, I pass the $error string to faultstring, and omit faultdetail.<br /><strong>A SOAP Client</strong><br />Now I’ll write a client for an existing SOAP server, so you can see it in action. I’ll use XMethods’ Barnes & Noble Price Quote server, which acts a lot like the example server, above. It takes an ISBN as input and returns price data from Barnes & Noble.<br />The client script will need to send a request containing an ISBN and then parse the response. In this script, I use the soapclient class, its constructor, and call, which handles making a request and parsing the response all in one. The only method available on the server is GetPrice, which takes only one parameter, a string called isbn. It returns a floating-point variable called return.</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6666cc;"><?php<br />// include the SOAP classes<br />require_once('nusoap.php');<br />// define parameter array (ISBN number)<br />$param = array('isbn'=>'0385503954');<br />// define path to server application<br />$serverpath ='http://services.xmethods.net:80/soap/servlet/rpcrouter';<br />//define method namespace<br />$namespace="urn:xmethods-BNPriceCheck";<br />// create client object<br />$client = new soapclient($serverpath);<br />// make the call<br />$price = $client->call('getPrice',$param,$namespace);<br />// if a fault occurred, output error info<br />if (isset($fault)) {<br />print "Error: ". $fault;<br />}<br />else if ($price == -1) {<br />print "The book is not in the database.";<br />} else {<br />// otherwise output the result<br />print "The price of book number ". $param[isbn] ." is $". $price;<br />}<br />// kill object<br />unset($client);<br />?></span></div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6666cc;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;">The soapclient constructor takes a server URL as its argument. Having thus initialized the server object, I pass to the call method the name of the function I want (getPrice), the necessary parameters (the array containing the ISBN string to look up), and the required method namespace: urn:xmethods-BNPriceCheck.<br />The parameters for soapclient’s call method are: function name, parameter array, and three optional ones: namespace, SOAPAction, and an array of headers. The definition for the server will specify which, if any, of the optional parameters are necessary. The Barnes & Noble Price Quote server requires a method namespace definition (urn:xmethods-BNPriceCheck) but no SOAPAction or SOAP headers. Information about what this server offers and what it requires was gleaned from the server’s </span><a href="http://xmethods.net/ve2/ViewListing.po?serviceid=7"><span style="font-family:verdana;font-size:85%;">listing</span></a><span style="font-family:verdana;font-size:85%;"> on XMethods’ </span><a href="http://xmethods.net/"><span style="font-family:verdana;font-size:85%;">index</span></a><span style="font-family:verdana;font-size:85%;"> of SOAP servers. (This particular server happens to be hosted by XMethods, but the index lists a wide variety of servers, regardless of host.)<br />The call method of the client performs the SOAP transaction and returns the content of the server’s response to the $price variable. The script checks for the presence of $fault, which the server returns if there was an error in the transaction. If the $fault variable is set, the script outputs the error information. If there isn’t an error, it checks to see if the price returned is -1, which indicates that the requested book was not found. Otherwise, the price data is printed.<br /><strong>A Closer Look at the Transaction</strong><br />The actual XML message sent by the client to the server looks something like this:</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"><SOAP-ENV:Envelope<br />xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />xmlns:xsd="http://www.w3.org/2001/XMLSchema"><br /><soap-env:body><br /><ns1:getPrice xmlns:ns1="urn:xmethods-BNPriceCheck"<br />SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><br /><isbn type="xsd:string">0385503954</isbn><br /></ns1:getPrice><br /></SOAP-ENV:Body><br /></SOAP-ENV:Envelope></span></div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;">The Envelope tag contains pointers to the global namespace definitions. It also includes pointers to the SOAP envelope schema hosted on xmlsoap.org and to the W3C’s XML schema definition. These tell the server where it’s getting definitions for the various XML tags that it’s using. The XMLSchema class (which is, as of this writing, only experimental) can be used to work with aspects of the XML schema.<br />The schema definition is set automatically by NuSOAP to http://www.w3.org/2001/XMLSchema. If you wish to change this, you must set the $XMLSchemaVersion global variable:</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;">$XMLSchemaVersion = 'http://www.my.org/MYSchema/';</span></div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;">Detailed discussion of the ins and outs of the W3C’s XML schema can be found in O’Reilly’s </span><a href="http://www.oreilly.com/catalog/xmlschema/desc.html"><span style="font-family:verdana;font-size:85%;">new book</span></a><span style="font-family:verdana;font-size:85%;"> on the subject.<br />Within the Envelope tag is the Body tag, which contains the body of the message. Its attributes are determined by the parameters of the function call. The name of the remote method, the method namespace, and the actual content of the message—the ISBN string—are set by the client script. NuSOAP automatically detects the variable type and incorporates the type namespace (xsd:string) in the isbn tag. If a SOAPAction had been set in the script, that would appear as a SOAPAction HTTP header.<br />The encoding style is set by default to http://schemas.xmlsoap.org/soap/encoding/. This is pre-set by NuSOAP as the SOAP-ENC element of the public array called namespaces. To change it, simply include a line in your script like:</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;">$namespaces[SOAP-ENC] = 'http://my.special.encoding';</span></div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;">The same technique can be used to change other namespace values, if necessary. The keys of the namespaces array are SOAP-ENV, xsd, xsi, SOAP-ENC, and si, corresponding to the namespace URIs for the envelope schema, the XML schema definition (equal to $XMLSchemaVersion), the XML schema instance, the encoding style, and the SOAP interoperability test URI, respectively. The default settings for these should not need to be changed under ordinary circumstances.<br />The server’s XML response to the request looks like this:</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"><SOAP-ENV:Envelope<br />xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"<br />xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"<br />xmlns:xsd="http://www.w3.org/1999/XMLSchema"><br /><soap-env:body><br /><ns1:getPriceResponse xmlns:ns1="urn:xmethods-BNPriceCheck"<br />SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><br /><return type="xsd:float">14.65</return><br /></ns1:getPriceResponse><br /></SOAP-ENV:Body><br /></SOAP-ENV:Envelope></span></div><div align="left"><span style="font-family:verdana;font-size:85%;color:#6633ff;"></span> </div><div align="left"><span style="font-family:verdana;font-size:85%;">The envelope is pretty much the same as that of the request, though you’ll notice that the server uses an older XML schema than the client. The body is also similar: the method namespace and the encoding style are the same. The ns1 package tag has Response appended to its name now: <ns1:getpriceresponse>. And where the request had an element called isbn, here the core of the response is called return, and the data type is specified as float. PHP is weakly typed, so NuSOAP assigns variable types automatically.<br /><strong>Conclusion</strong><br />NuSOAP makes working with SOAP very easy by automatically handling the complexity, although it also provides a fair amount of access to the flexibility and nuance underneath. The call method of the soapclient class and the register method of the soap_server class do a lot of work that many other SOAP implementations make you do by hand. NuSOAP offers some access to the underlayer now, and will allow more as development proceeds.<br />To learn more about the details of working with SOAP, refer to the </span><a href="http://www.w3.org/TR/soap12-part0/"><span style="font-family:verdana;font-size:85%;">SOAP specification</span></a><span style="font-family:verdana;font-size:85%;"> and the API documentation that comes with NuSOAP. If you encounter a specific question about how NuSOAP handles SOAP transactions, it can be helpful to look at the nusoap.php file, which is clearly organized by class and decently commented. Going to the source, as it were, should answer most questions.</span></div><div align="left"><span style="font-family:verdana;font-size:85%;"></span> </div>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-64577145787695798432007-06-06T21:27:00.000-07:002009-05-17T01:06:12.222-07:00Confidence! - An Amazing Story<div style="color:#ffffff;"><span style="font-family:Tahoma;font-size:85%;"></span><br /><div style="BACKGROUND-COLOR: rgb(255,255,255)" align="left"><span style="color:#ffffff;"></span></div><div style="BACKGROUND-COLOR: rgb(255,255,255)" align="left"><span style="font-size:85%;color:#ffffff;"></span></div><div style="BACKGROUND-COLOR: rgb(255,255,255)" align="left"><span style="color:#000000;"><span style="font-size:85%;">The business executive was deep in debt and could see no way out. Creditors were closing in on him. Suppliers were demanding payment. He sat on the park bench, head in hands, wondering if anything could save his company from bankruptcy. Suddenly an old man appeared before him. "I can see that something is troubling you," he said. After listening to the executive's woes, the old man said, "I believe I can help you." He asked the man his name, wrote out a check, and pushed it into his hand saying, "Take this money. Meet me here exactly one year from today, and you can pay me back at that time." Then he turned and disappeared as quickly as he had come. The business executive saw in his hand a check for $500,000, signed by John D. Rockefeller, then one of the richest men in the world! "I can erase my money worries in an instant!" he realized. But instead, the executive decided to put the uncashed check in his safe. Just knowing it was there might give him the strength to work out a way to save his business, he thought. With renewed optimism, he negotiated better deals and extended terms of payment. He closed several big sales. Within a few months, he was out of debt and making money once again. Exactly one year later, he returned to the park with the uncashed check. At the agreed-upon time, the old man appeared. But just as the executive was about to hand back the check and share his success story, a nurse came running up and grabbed the old man. "I'm so glad I caught him!" she cried. "I hope he hasn't been bothering you. He's always escaping from the rest home and telling people he's John D. Rockefeller." And she led the old man away by the arm. The astonished executive just stood there, stunned. All year long he'd been wheeling and dealing, buying and selling, c onvinced he had half a million dollars behind him. Suddenly, he realized that it wasn't the money, real or imagined, that had turned his life around. It was his newfound self-confidence that gave him the power to achieve anything he went after.</span> </span></div><div style="BACKGROUND-COLOR: rgb(255,255,255)"> </div></div>--<br />"If a drop of water falls in lake there is no identity.But if it falls on a leaf of lotus it shine like a pearl. So choose the best place where you would shine.. "Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-77558623409398153512007-05-30T07:11:00.000-07:002009-05-17T01:06:12.222-07:00<P style="MARGIN-BOTTOM: 0in"><FONT color=#0000ff><FONT face="Arial, sans-serif"><B>MS Excel - Shortcutsby Gokul.</B></FONT></FONT><BR></P> <P style="MARGIN-BOTTOM: 0in"><BR></P> <TABLE borderColor=#0000ff cellSpacing=0 cellPadding=4 width=595 border=1> <COLGROUP> <COL width=214> <COL width=363> <TBODY> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ENTER</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Complete a cell entry and move down in the selection</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ALT+ENTER</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Start a new line in the same cell</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+ENTER</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Fill the selected cell range with the current entry</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>SHIFT+ENTER</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Complete a cell entry and move up in the selection</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>TAB</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Complete a cell entry and move to the right in the selection</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>SHIFT+TAB</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Complete a cell entry and move to the left in the selection</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ESC</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Cancel a cell entry</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>BACKSPACE</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Delete the character to the left of the insertion point, or delete the selection</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>DELETE</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Delete the character to the right of the insertion point, or delete the selection</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+DELETE</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Delete text to the end of the line</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Arrow keys</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Move one character up, down, left, or right</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>HOME</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Move to the beginning of the line</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>F4 or CTRL+Y</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Repeat the last action</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>SHIFT+F2</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Edit a cell comment</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+F3</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Create names from row and column labels</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+D</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Fill down</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+R</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Fill to the right</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>BACKSPACE</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Edit the active cell and then clear it, or delete the preceding character in the active cell as you edit cell contents</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ENTER</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Complete a cell entry</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+ENTER</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Enter a formula as an array formula</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ESC</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Cancel an entry in the cell or formula bar</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+A</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Display the Formula Palette after you type a function name in a formula</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+A</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Insert the argument names and parentheses for a function after you type a function name in a formula</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+K</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Insert a hyperlink</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ENTER (in a cell with a hyperlink)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Activate a hyperlink</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>F2</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Edit the active cell and position the insertion point at the end of the line</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>F3</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Paste a defined name into a formula</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>SHIFT+F3</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Paste a function into a formula</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>F9</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Calculate all sheets in all open workbooks</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+ALT+F9</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Calculate all sheets in the active workbook</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>SHIFT+F9</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Calculate the active worksheet</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>= (equal sign)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Start a formula</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ALT+= (equal sign)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Insert the AutoSum formula</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+; (semicolon)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Enter the date</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+: (colon)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Enter the time</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+" (quotation mark)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Copy the value from the cell above the active cell into the cell or the formula bar</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+` (single left quotation mark)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Alternate between displaying cell values and displaying cell formulas</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+' (apostrophe)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Copy a formula from the cell above the active cell into the cell or the formula bar</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ALT+DOWN ARROW</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Display the AutoComplete list</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ALT+' (apostrophe)</FONT></FONT> </P></TD> <TD width=363> <P><FONT style="FONT-SIZE: 8pt" size=1><FONT face="Arial, sans-serif">Display the <B>Style</B> dialog box</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+1</FONT></FONT> </P></TD> <TD width=363> <P><FONT style="FONT-SIZE: 8pt" size=1><FONT face="Arial, sans-serif">Display the <B>Format</B> <B>Cells</B> dialog box</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+~</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply the General number format</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+$</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply the Currency format with two decimal places (negative numbers appear in parentheses)</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+%</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply the Percentage format with no decimal places</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+^</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply the Exponential number format with two decimal places</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+#</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply the Date format with the day, month, and year</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+@</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply the Time format with the hour and minute, and indicate A.M. or P.M.</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+!</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply the Number format with two decimal places, thousands separator, and minus sign (–) for negative values</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+&</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply the outline border</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+_</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Remove outline borders</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+B</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply or remove bold formatting</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+I</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply or remove italic formatting</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+U</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply or remove an underline</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+5</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Apply or remove strikethrough formatting</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+9</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Hide rows</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+( (opening parenthesis)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1><BR>Unhide rows</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+0 (zero)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Hide columns</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+SHIFT+) (closing parenthesis)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1><BR>Unhide columns</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>F10 or ALT</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Make the menu bar active, or close a visible menu and submenu at the same time</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>TAB or SHIFT+TAB (when a toolbar is active)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1><BR>Select the next or previous button or menu on the toolbar</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>CTRL+TAB or CTRL+SHIFT+TAB (when a toolbar is active)</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1><BR>Select the next or previous toolbar</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ENTER</FONT></FONT> </P></TD> <TD width=363> <P><BR></P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>SHIFT+F10</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Show a shortcut menu</FONT></FONT> </P></TD></TR> <TR vAlign=top> <TD width=214> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>ALT+SPACEBAR</FONT></FONT> </P></TD> <TD width=363> <P><FONT face="Arial, sans-serif"><FONT style="FONT-SIZE: 8pt" size=1>Show the program icon menu (on the program title bar)</FONT></FONT> </P></TD></TR></TBODY></TABLE> <P style="MARGIN-BOTTOM: 0in"><BR></P> <P style="MARGIN-BOTTOM: 0in"><BR></P>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-5983482687954316892007-05-30T06:59:00.000-07:002009-05-17T01:06:12.222-07:00Common Computer-related Eye Problems and Their Solutions<table width="696"><tbody><tr valign="top"><td colspan="3" bgcolor="#ffffd1" width="100%"><b>Common Computer-related Eye Problems and Their Solutions</b></td></tr> <tr valign="top"><td bgcolor="#b3b3b3" width="22%"> <b>Problem</b></td> <td bgcolor="#b3b3b3" width="33%"><b>Causes </b> </td> <td bgcolor="#b3b3b3" width="44%"><b>Treatment</b></td></tr> <tr valign="top"><td bgcolor="#ffffd1" width="22%"> Blurred vision</td> <td bgcolor="#ffffd1" width="33%">Incorrect glasses/spectacles or contact lens prescription</td> <td bgcolor="#ffffd1" width="44%">Eye examination and correction of refractive error from optometrists/ophthalmologist </td></tr> <tr valign="top"><td bgcolor="#ffffe9" width="22%"><br /></td> <td bgcolor="#ffffe9" width="33%">Decreased blink frequency</td> <td bgcolor="#ffffe9" width="44%">Increase the blink rate. Make conscious effort to blink when you work on the computer. Every once in a while gaze way from the computer into the distant or a blank space.</td></tr> <tr valign="top"><td bgcolor="#ffffd1" width="22%"><br /></td> <td bgcolor="#ffffd1" width="33%">An accommodative spasm</td> <td bgcolor="#ffffd1" width="44%">Gaze away from the monitor every 15 minutes.</td></tr> <tr valign="top"><td bgcolor="#ffffe9" width="22%"><br /></td> <td bgcolor="#ffffe9" width="33%">Tear film abnormality</td> <td bgcolor="#ffffe9" width="44%">Artificial tear drops may be prescribed by the eye specialist.</td></tr> <tr valign="top"><td bgcolor="#ffffd1" width="22%">Aching, burning and stinging eyes </td> <td bgcolor="#ffffd1" width="33%">High-velocity/air-conditioning currents on workstation</td> <td bgcolor="#ffffd1" width="44%">Use deflector. </td></tr> <tr valign="top"><td bgcolor="#ffffe9" width="22%"><br /></td> <td bgcolor="#ffffe9" width="33%">Lid or eye inflammation</td> <td bgcolor="#ffffe9" width="44%">Eye examination and treatment. Avoid rubbing your eyes. When tired, it is better to take a walk or wash your eyes.</td></tr> <tr valign="top"><td bgcolor="#ffffd1" width="22%"><br /></td> <td bgcolor="#ffffd1" width="33%">Improper spectacles or contact lens prescription</td> <td bgcolor="#ffffd1" width="44%">Eye examination</td></tr> <tr valign="top"><td bgcolor="#ffffe9" width="22%">Headache</td> <td bgcolor="#ffffe9" width="33%">Poor monitor resolution</td> <td bgcolor="#ffffe9" width="44%">Use a large (but not over 48cm), high –quality monitor or increase the font size. The comfortable refresh rate is 70 hertz.</td></tr> <tr valign="top"><td bgcolor="#ffffd1" width="22%"><br /></td> <td bgcolor="#ffffd1" width="33%">Cluttered viewing </td> <td bgcolor="#ffffd1" width="44%">Clean it up.</td></tr> <tr valign="top"><td bgcolor="#ffffe9" width="22%">Neck, shoulder and back pain</td> <td bgcolor="#ffffe9" width="33%">Poor workstation ergonomics</td> <td bgcolor="#ffffe9" width="44%">Improve posture. Move away. Usual working distance from the monitor is 45.7 to 66 cm (18 to 26 inches). The eyes need to focus and refocus in space around the monitor. The constant focusing effort induces tiredness of eyes.</td></tr> <tr valign="top"><td bgcolor="#ffffd1" width="22%"><br /></td> <td bgcolor="#ffffd1" width="33%">Insufficient back support</td> <td bgcolor="#ffffd1" width="44%">Improve chair. Lower lumbar support which supports your buttocks/hips will cut down the strain by about half. </td></tr> <tr valign="top"><td bgcolor="#ffffe9" width="22%"><br /></td> <td bgcolor="#ffffe9" width="33%">Poor posture-leaning or tilting head back to see/focus on the screen</td> <td bgcolor="#ffffe9" width="44%">Eye examination, improvement in posture and chair, and correct placement of the typing material. <p>It is advisable to use clips to position the material next to the monitor. This tends to cut down repeated refocusing efforts and hence eyestrain</p></td></tr></tbody></table>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-15396929674587410212007-05-30T06:47:00.000-07:002009-05-17T01:06:12.222-07:00GamesHi all,<br />Good to play Flash games here<br /><a href="http://www.cartoonnetwork.com/games/">http://www.cartoonnetwork.com/games/</a><br /><br />--<br />"If a drop of water falls in lake there is no identity.But if it falls on a leaf of lotus it shine like a pearl. So choose the best place where you would shine.. "Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-65156811328261320972007-05-29T05:27:00.000-07:002009-05-17T01:06:12.222-07:00Life is short<a rel="nofollow" target="_blank" href="http://tinypic.com/"><span style="font-family:Arial;font-size:85%;"><img alt="Image hosting by TinyPic" src="http://i1.tinypic.com/rvysnr.jpg" border="0" /></span></a><br /><br /><div><span style="font-family:Arial;font-size:85%;">There is very instructive incident involving the life of Alexander, the great Greek king.<br /><br /> Alexander, after conquering many kingdoms, was returning home. On the way, he fell ill and it took him to his death bed. With death staring him in his face, Alexander realized how his conquests, his great army, his sharp sword and all his wealth were of no consequence.<br /><br /> He now longed to reach home to see his mother's face and bid her his last adieu. But, he had to accept the fact that his sinking health would not permit Him to reach his distant homeland. So,<span class="549011510-05052006"> </span> the mighty conqueror lay prostrate and pale, helplessly waiting to breathe his last. He called his generals and said, "I will depart from this world soon,<br /><br />I have three wishes, please carry them out without fail." With tears flowing down </span><span style="font-family:Arial;"><span style="font-size:85%;"><strong> </strong>Their cheeks, the generals agreed to abide by their king's last wishes.<br /><br /></span></span></div> <div><span style="font-family:Arial;"><span style="font-size:85%;"><strong> </strong>"My first desire is that,” said Alexander, "My physicians alone must carry my coffin." After a pause, he continued, "Secondly, I desire that when my coffin is being carried to the grave, the path leading to the graveyard be strewn with gold, silver and precious stones which I have collected in my treasury.<br /><br />" The king felt exhausted after saying this. He took a minute's rest and continued. "My third and last wish is that both my hands be kept dangling out of my coffin." <br /><br />The people who had gathered there wondered at the king's strange wishes. But no one dare bring the question to their lips. Alexander's favorite general kissed his hand and pressed them to his heart. "O king, we assure you that your wishes will all be fulfilled.<br /><br /> But tell us why do you make such strange wishes?"<br /><br /></span></span></div> <div><span style="font-family:Arial;"><span style="font-size:85%;"><strong> </strong>At this Alexander took a deep breath and said: "I would like the world to know of the three lessons I have just learnt. I want my physicians to carry my coffin because people should realize that no doctor can really cure any body. They are powerless and cannot save a person from the clutches of death. So let not people take life for granted.</span></span></div> <div><strong><br /></strong><span style="font-family:Arial;"><span style="font-size:85%;"><strong> </strong>The second wish of strewing gold, silver and other riches on the way to the graveyard is to tell</span></span></div> <div><strong><br /></strong><span style="font-family:Arial;"><span style="font-size:85%;"><strong> </strong>People that not even a fraction of gold will come with me. I spent all my life earning riches but cannot take anything with me. Let people realize that it is a sheer waste of time to chase wealth.</span></span></div> <div><strong></strong> </div> <div><span style="font-family:Arial;"><span style="font-size:85%;"><strong> </strong>And about my third wish of having my hands dangling out of the coffin, I wish people to know that I came empty handed into this world and empty handed I go out of this world."<br /><br />With these words, the king closed his eyes. Soon he let death conquer him and breathed his last. . . . .<br /></span></span></div>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-64716646708160952322007-05-28T04:31:00.000-07:002009-05-17T01:06:12.223-07:00What's new in PHP V5.2<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr valign="top"><td width="100%"><h1><span style="font-weight: bold;"><span style="font-size:78%;">I read this article in the developer works from IBM, nice one from them, posting it here for the others need.<br /></span></span></h1><h1><span style="font-weight: bold;"></span><span style="color: rgb(153, 153, 153);">What's new in PHP V5.2, Part 1: </span>Using the new memory manager</h1><p id="subtitle"><em>Track and monitor PHP memory use like an uber-nerd</em></p><img alt="" src="http://www.ibm.com/i/c.gif" class="display-img" height="6" width="1" /></td><td class="no-print" width="192"><a href="http://www.ibm.com/developerworks/"><br /></a></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr valign="top"><td width="10"><img alt="" src="http://www.ibm.com/i/c.gif" height="1" width="10" /></td><td width="100%"><table style="width: 160px; height: 23px;" class="no-print" align="right" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td width="10"><br /></td></tr></tbody></table><p>Level: Intermediate</p><p><a href="http://www.ibm.com/developerworks/opensource/library/os-php-v521/#author">Tracy Peterson</a> (<a href="mailto:tracy@tracypeterson.com?subject=Using%20the%20new%20memory%20manager&cc=dwxed@us.ibm.com">tracy@tracypeterson.com</a>), Freelance Writer, Consultant<br /></p><p> 13 Mar 2007</p><blockquote>In Part 1 of this "<a href="http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=what+new+php+5.2">What's new in PHP V5.2</a>" series, learn how to use the new memory manager introduced in PHP V5.2 and become proficient at memory usage tracking and monitoring. This will enable you to more use memory in PHP V5.2 more efficiently.</blockquote><!--START RESERVED FOR FUTURE USE INCLUDE FILES--><script language="JavaScript" type="text/javascript"> <!-- if (document.referrer&&document.referrer!="") { // document.write(document.referrer); var q = document.referrer; var engine = q; var isG = engine.search(/google\.com/i); var searchTerms; //var searchTermsForDisplay; if (isG != -1) { var i = q.search(/q=/); var q2 = q.substring(i+2); var j = q2.search(/&/); j = (j == -1)?q2.length:j; searchTerms = q.substring(i+2,i+2+j); if (searchTerms.length != 0) { searchQuery(searchTerms); document.write("<div id="\"></div>"); } } } //--> </script><!--END RESERVED FOR FUTURE USE INCLUDE FILES--> <p><a name="N1004F"><span class="atitle">PHP V5.2: In the beginning</span></a></p> <p>In November 2006, PHP V5.2 was released with many new features and bug fixes. It obsoletes the 5.1 release and is a recommended upgrade for any PHP V5 users. My favorite lab environment -- Windows®, Apache, MySQL, PHP (WAMP) -- is rolled into a new package for V5.2 already (see <a href="http://www.ibm.com/developerworks/opensource/library/os-php-v521/#resources">Resources</a>). You will find an application there that will set up PHP V5.2, MySQL, and Apache on a Windows® XP or 2003 machine. It's a piece of cake to install, has lots of nice little management goodies, and I recommend it wholeheartedly. </p> <p>While this is the easiest package for Windows users, you need to add the following when configuring PHP on Linux: <code>--memory-limit-enabled</code> (in addition to any other options appropriate for your server). Under Windows, however, there is a workaround function provided.</p> <p>There are many improvements that have taken place in PHP V5.2, and one critical area is that of memory management. The exact quote from README.ZEND_MM states: "The goal of the new memory manager (PHP5.2 and later) is reducing memory allocation overhead and speeding up memory management." </p> <p>Here are some of the key items from the V5.2 release notes:</p> <ul><li>Removed unnecessary <code>--disable-zend-memory-manager</code> configure option</li><li>Added <code>--enable-malloc-mm</code> configure option, which is enabled by default in debug builds to allow using internal and external memory debuggers</li><li>Allows tweaking the memory manager with <code>ZEND_MM_MEM_TYPE</code> and <code>ZEND_MM_SEG_SIZE</code> environment variables</li></ul> <p>To understand the implications of these new features, we need to delve into the fine art of memory management a bit and consider why allocation overhead and speed are a big deal.</p><br /><p><a name="N1008C"><span class="atitle">Why memory management?</span></a></p> <p>One of the fastest-developing technologies in computing is memory and data storage, which are driven by the constant need for increases in speed and storage size. Early computers used cards as memory before moving to chip technology. Can you imagine working on a computer with only 1 KB of RAM? Many early computer programmers did. These pioneers realized very rapidly that to work within the restraints of the technology, they would have to be diligent to avoid overloading their systems with frivolous commands.</p> <p>As PHP developers, we live in a much more convenient world to code in than our colleagues who code in C++ or other stricter languages. In our world, we do not have to concern ourselves with the handling of system memory because PHP handles that for us. In the rest of the programming world, however, responsible coders use various functions to ensure that executed commands do not overwrite some other program data -- thus, crippling that running program.</p> <p>Memory management is usually handled by requests from the coder to allocate and release blocks of memory. <i>Allocated blocks</i> can hold data of any type, and this process blocks off a certain amount of memory for just that data and gives the program a method of addressing this data for when it needs to be accessed for operations. The program is expected to release allocated memory when it has completed any operations, and let the system and other programs use that memory. When a program does not release the memory back to the system, it is called a <i>leak</i>.</p> <p>Leaks are a normal problem with any running program, and a certain amount is usually acceptable, especially when we know a running program will terminate soon and release all of any memory allocated to it by default. </p> <p>With programs you run and terminate arbitrarily, like almost all client applications, this is the case. Server applications are expected to run indefinitely without termination or restart, making memory management absolutely vital to server daemon programming. Even a small leak would eventually grow into a system-debilitating problem on a long-running program as memory blocks are used and never released.</p><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="http://www.ibm.com/i/v14/rules/blue_rule.gif" alt="" height="1" width="100%" /></td></tr></tbody></table><br /><p><a name="N100A7"><span class="atitle">Long-term thinking</span></a></p> <p>There are many potential uses for a persistent server daemon written in PHP, as with any language. But when we begin to use PHP for these purposes, we must also consider our memory usage. </p> <p>Scripts that parse a great deal of data or which may be hiding an infinite loop have a tendency to consume large amounts of memory. Obviously, once the memory is exhausted, the performance of the server decreases, so we must also pay attention to how much memory we're using when we execute our scripts. While we can simply watch the amount of memory used by a script by turning the system monitor on, it will not tell us anything more useful than the status of the entire system memory. Sometimes we need to do a bit more than that to help us troubleshoot or optimize. Sometimes we just need more detail.</p> <p>One way to get transparency into what our script is doing is to use an internal or external debugger. An <i>internal debugger</i> is one that appears to be the same process executing the script. Debuggers that are a separate process from the perspective of the OS are <i>external</i>. Memory analysis using a debugger is similar in either case, but the memory is accessed in different ways. Internally, a debugger has direct access to the same memory space as the running process, while an external debugger will access the memory via a socket.</p> <p>There are many methods and available debugging servers (external) and libraries (internal) you can use to aid your development. In order to prepare your PHP installation for debugging, you can use the newly provided <code>--enable-malloc-mm</code>, which is enabled by default in a <code>DEBUG</code> build. This makes the environment variable <code>USE_ZEND_ALLOC</code> available to allow selection of <i>malloc</i> or <i>emalloc</i> memory allocations at runtime. Using malloc-type memory allocations will allow external debuggers to observe memory use while emalloc allocations will use the Zend memory manager abstraction, requiring internal debugging.</p><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="http://www.ibm.com/i/v14/rules/blue_rule.gif" alt="" height="1" width="100%" /></td></tr></tbody></table><br /><p><a name="N100D1"><span class="atitle">Memory management functions in PHP</span></a></p> <p>In addition to making the memory manager more flexible and transparent, PHP V5.2 provides a new parameter for <code>memory_get_usage()</code> and <code>memory_get_peak_usage()</code>, which allow the viewing of the amount of used memory. The new Boolean mentioned in the notes is <code>real_size</code>. By invoking the function <code>memory_get_usage($real);</code> where <code>$real = true</code>, the result will be the real size of memory allocated from the system, including the memory-manager overhead, at the moment of invocation. Without the flag set, the data returned would be only the memory used within the running script, minus the memory-manager overhead.</p> <p><code>memory_get_usage()</code> and <code>memory_get_peak_usage()</code> differ in that the latter returns the peak memory usage so far for the running process that invokes it while the first only returns the usage at the moment of execution.</p> <p>For <code>memory_get_usage()</code>, php.net provides the code snippet in Listing 1.</p><br /><a name="N10103"><b>Listing 1. A memory_get_usage() example</b></a><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="code-outline"><pre class="displaycode"><br /></pre></td></tr></tbody></table><br /><p>In this simple example, we first echo the results of a straight up invocation of <code>memory_get_usage()</code>, which by the code annotation seems to have had a common result of 36640 bytes on the author's system. We then load up <code>$a</code> with 4,242 copies of "Hello" and run the function again. The output of this simple usage can be seen in Figure 1.</p> <br /><a name="N1011A"><b>Figure 1. Example output of memory_get_usage()</b></a><br /><img alt="Example output of memory_get_usage()" src="http://www.ibm.com/developerworks/opensource/library/os-php-v521/fig01.jpg" height="182" width="359" /><br /><br /><p>There is no example of <code>memory_get_peak_usage()</code> as the two are so similar. The syntax is identical. For the example code in Listing 1, there would be only one result, however, which is the peak memory usage at that moment. Let's take a look in Listing 2.</p><br /><a name="N10136"><b>Listing 2. A memory_get_peak_usage() example</b></a><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="code-outline"><pre class="displaycode"><br /></pre></td></tr></tbody></table><br /><p>The code in Listing 2 is identical to Figure 1, but <code>memory_get_usage()</code> has been swapped for <code>memory_get_peak_usage()</code>. Nothing much changes in output until we populate <code>$a</code> with the 4242 iterations of "Hello." Our memory jumps to 57960, representing our peak so far. When we check the memory usage peak, we get the highest value so far, so every further invocation will result in 57960 until we do something to use more memory than we did with <code>$a</code> (see Figure 2).</p> <br /><a name="N10155"><b>Figure 2. Example output of memory_get_peak_usage()</b></a><br /><img alt="Example output of memory_get_peak_usage()" src="http://www.ibm.com/developerworks/opensource/library/os-php-v521/fig02.jpg" height="180" width="358" /><br /><br /><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="http://www.ibm.com/i/v14/rules/blue_rule.gif" alt="" height="1" width="100%" /></td></tr></tbody></table><table class="no-print" align="right" cellpadding="0" cellspacing="0"><tbody><tr align="right"><td><br /></td></tr></tbody></table><br /><br /><p><a name="N10166"><span class="atitle">Limiting memory usage</span></a></p> <p>One way to make sure we do not overtax the server we are hosting our application on is to limit the amount of memory used by any scripts executed by PHP. This isn't something we should have to do at all, but as PHP is a loosely typed language and is parsed at runtime, we sometimes get scripts that are poorly written unleashed upon our production applications. These scripts might execute a loop, or perhaps open a long list of files, forgetting to close the current file before opening a new one. Whatever the case, a poorly written script can end up chewing up a ton of memory before you know it.</p> <p>In PHP.INI, you can use the configuration parameter <code>memory_limit</code> to specify the maximum amount of memory any script is able to run on the system. This is not a specific change to V5.2, but any discussion of the memory manager and its uses bears at least a quick look at this feature. It also leads me nicely to the last new features of the memory manager: environment variables.</p><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="http://www.ibm.com/i/v14/rules/blue_rule.gif" alt="" height="1" width="100%" /></td></tr></tbody></table><br /><p><a name="N10176"><span class="atitle">Tweaking the memory manager</span></a></p> <p>Finally, what would programming be without being able to be a perfectionist and get it exactly right for your purposes? The new environment variables <code>ZEND_MM_MEM_TYPE</code> and <code>ZEND_MM_SEG_SIZE</code> allow you to do just that.</p> <p>When the memory manager allocates large memory blocks, it does so in predetermined sizes, listed in the variable <code>ZEND_MM_SEG_SIZE</code>. The default size of these memory segments is 256 KB per block, but you can adjust these to suit your particular needs. For instance, if you were aware that the operations in one of your most common scripts was causing a large amount of wasted memory, you could adjust this size to more closely match the needs of the script, reducing the amount of memory allocated but remaining empty. In the right conditions, this kind of careful configuration tweaking can make a huge difference.</p><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="http://www.ibm.com/i/v14/rules/blue_rule.gif" alt="" height="1" width="100%" /></td></tr></tbody></table><br /><p><a name="N1018E"><span class="atitle">Retrieving memory usage on Windows</span></a></p> <p>If you have a pre-built PHP Windows binary without the <code>--enable-memory-limit</code> option on when it was built, you need to go through this section before moving on. For Linux®, build PHP with the <code>--enable-memory-limit</code> option on when you configure your PHP build.</p> <p>To retrieve memory usage using Windows binaries, create the following function.</p><br /><a name="N101A8"><b>Listing 3. Getting memory usage under Windows</b></a> <p>Save this in a file called function.php. Now you only have to include this file in scripts you wish to use it in.</p><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="http://www.ibm.com/i/v14/rules/blue_rule.gif" alt="" height="1" width="100%" /></td></tr></tbody></table></td></tr></tbody></table>Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-2226658151709926632007-05-28T04:22:00.000-07:002009-05-17T01:06:12.223-07:00PHP related informationsHi all,<br />i would like to keep posting some usefull informations here so that everyone gets benifited<br /><br />I recently read a article that helps to do a load testing of our web apps<br />its<br /><a href="http://www.joedog.org/JoeDog/Siege">http://www.joedog.org/JoeDog/Siege</a><br />This one is really niceGokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0tag:blogger.com,1999:blog-2167911969899906110.post-5605187144022631242007-01-09T22:14:00.000-08:002009-05-17T01:06:12.223-07:00My First BlogHi all,<br /><br />This is my first blog.Gokulhttp://www.blogger.com/profile/07252030218122252683noreply@blogger.com0