<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-25952682</id><updated>2011-12-19T20:29:21.589-08:00</updated><category term='mobile'/><category term='Unix'/><category term='Writer'/><category term='inner class'/><category term='Vista'/><category term='Twitter'/><category term='Microsoft'/><category term='JSP'/><category term='SQL'/><category term='encoding'/><category term='PL/SQL'/><category term='AP'/><category term='AJAX'/><category term='glassfish'/><category term='Java 7'/><category term='gtalk'/><category term='Windows Live'/><category term='Hyperion'/><category term='Tutorial'/><category term='Oracle'/><category term='chrome'/><category term='Web'/><category term='JDeveloper'/><category term='picasa'/><category term='Exception'/><category term='nokia'/><category term='browser'/><category term='Reliance'/><category term='DWR'/><category term='eclipse'/><category term='Error'/><category term='Apache'/><category term='file'/><category term='Android'/><category term='Yahoo'/><category term='India'/><category term='blogs'/><category term='facebook'/><category term='Energy'/><category term='orkut'/><category term='photography'/><category term='UTF-8'/><category term='Office'/><category term='Tag Library'/><category term='YouTube'/><category term='Tips'/><category term='version'/><category term='Java'/><category term='Google'/><category term='E-Business Suite'/><category term='Open Source'/><category term='ADF'/><category term='online'/><category term='Utility'/><category term='Sun'/><category term='blogger'/><category term='Firefox'/><category term='software'/><category term='BI'/><category term='Flickr'/><category term='HTML'/><category term='Weblogic'/><category term='search'/><category term='server'/><category term='editing'/><category term='IE'/><category term='Shell Scripting'/><category term='cuil'/><title type='text'>Running Commentary</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-25952682.post-2827581453688709648</id><published>2011-08-19T04:40:00.000-07:00</published><updated>2011-08-19T04:44:18.691-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Error'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>InvalidOperException : JBO-25221</title><content type='html'>It could be due to many reasons but the one that caused this error in my case was pretty simple. I had generated data control and dragged on my page. At this point the method signature was:&lt;br /&gt;&lt;br /&gt;myMethod(int a, int b)&lt;br /&gt;&lt;br /&gt;Later on I changed method to:&lt;br /&gt;&lt;br /&gt;myMethod(int a, int b, int c)&lt;br /&gt;&lt;br /&gt;and regenerated the data control. But I forgot to update the definition in the pageDef of the page. And when I tried to execute the method I got this error.&lt;br /&gt;&lt;br /&gt;So I just updated the method definition in my pageDef and everything worked fine :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-2827581453688709648?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/2827581453688709648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=2827581453688709648' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2827581453688709648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2827581453688709648'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2011/08/invalidoperexception-jbo-25221.html' title='InvalidOperException : JBO-25221'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-5284950508015930378</id><published>2011-07-30T09:19:00.000-07:00</published><updated>2011-07-30T10:41:16.919-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF: How to pass parameters between taskflows?</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Simple stuff actually for most ADF users but this post is for the absolute beginners.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is the sample Taskflow design and we need to pass parameters from Caller TF to Callee TF.&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/-Cp3syzV0NwY/TjQ1V3ecf6I/AAAAAAAATpI/K3qrRUxh_7I/s400/TF%2Bstruct.PNG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 167px; height: 361px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5635187683532504994" /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Go to the definition of Callee TF and goto Parameters tab and define the Input Parameter Definitions.&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/-WOxrpKbSqXE/TjQ1fNwXnzI/AAAAAAAATpQ/CO9mH9KVdFM/s400/calleeTFdefn.PNG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 147px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5635187844132085554" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now go to the taskflow design and click on the Callee TF and go to the properties tab. In the 'Parameters' section you will see the parameters that you defined earlier. Here you should fill in the values that you want to pass.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-TViMOP-DI1Q/TjRAJalf_bI/AAAAAAAATpg/uo-tXqMjn40/s400/callerTFdefn.PNG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5635199564246941106" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On the event of which the Callee TF is called, you should set the values in the  pageFlowScope.param1 and param2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;                                &amp;lt;af:commandToolbarButton id="ctbCreate" action="dialog:showWizard" &amp;gt;&lt;/div&gt;&lt;div&gt;                                &amp;lt;af:setPropertyListener from="0"&lt;/div&gt;&lt;div&gt;                                    to="#{pageFlowScope.dpDimensionId}"&lt;/div&gt;&lt;div&gt;                                    type="action" /&amp;gt;         &lt;/div&gt;&lt;div&gt;                                &amp;lt;af:setPropertyListener from="0"&lt;/div&gt;&lt;div&gt;                                    to="#{pageFlowScope.decisionPackageId}"&lt;/div&gt;&lt;div&gt;                                    type="action" /&amp;gt;    &lt;/div&gt;&lt;div&gt;                                &amp;lt;/af:commandToolbarButton &amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;af:setpropertylistener from="0" div=""&gt;&lt;div&gt;&lt;div&gt;Now you would be able to get the values of param1 and param2 as 0 in the callee TF. Simple.&lt;/div&gt;&lt;/div&gt;&lt;/af:setpropertylistener&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-5284950508015930378?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/5284950508015930378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=5284950508015930378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5284950508015930378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5284950508015930378'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2011/07/adf-how-to-pass-parameters-between.html' title='ADF: How to pass parameters between taskflows?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Cp3syzV0NwY/TjQ1V3ecf6I/AAAAAAAATpI/K3qrRUxh_7I/s72-c/TF%2Bstruct.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-4641558417867571383</id><published>2011-05-06T12:03:00.000-07:00</published><updated>2011-05-06T12:10:34.435-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='Weblogic'/><title type='text'>[Deployer:149164]The domain edit lock is owned by another session in exclusive mode - hence this deployment operation cannot proceed.</title><content type='html'>If ever you see this error while starting an application in Jdev, you can perform following steps:&lt;br /&gt;&lt;br /&gt;1. Go to admin console of the integrated weblogic: http://127.0.0.1:7101/console&lt;br /&gt;2. Login to server console by using default username/password which would be weblogic/weblogic1.&lt;br /&gt;3. On successful login just click the button on the upper left corner where you can activate pending changes or discard pending changes. This would resolve the issue.&lt;br /&gt;&lt;br /&gt;If however you are not able to logon to the weblogic console do either of these steps:&lt;br /&gt;a) Go to Jdeveloper installation directory. Search for *.lok files and delete them.&lt;br /&gt;b) If you find nothing in the above directory goto C:\Documents and Settings\&lt;username&gt;\Application Data\JDeveloper directory and delete edit.lok file.&lt;br /&gt;&lt;br /&gt;This will definitely resolve your issue.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/username&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-4641558417867571383?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/4641558417867571383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=4641558417867571383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4641558417867571383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4641558417867571383'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2011/05/deployer149164the-domain-edit-lock-is.html' title='[Deployer:149164]The domain edit lock is owned by another session in exclusive mode - hence this deployment operation cannot proceed.'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-760453959383218567</id><published>2011-02-22T22:00:00.000-08:00</published><updated>2011-02-22T22:03:47.383-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>How to create ADF components on runtime?</title><content type='html'>Quite easy actually! There are two methods by which we can do it. Either we can create the component in the managed bean and add it to the children of an existing component, or we can create it in our .jspx or .jsff page directly.&lt;br /&gt;&lt;br /&gt;1) Creating component in the Managed Bean.&lt;br /&gt;&lt;br /&gt;In the below code we are creating a new ShowDetailItem which we will add to an existing panelTabbed item.&lt;br /&gt;&lt;br /&gt;  private UIComponent createComponent() {&lt;br /&gt;    UIComponent componentToAdd = null;&lt;br /&gt;   &lt;br /&gt;    //Create new object of ShowDetailItem and set its properties.&lt;br /&gt;      RichShowDetailItem item = new RichShowDetailItem();&lt;br /&gt;      item.setDisclosed(true);     &lt;br /&gt;      item.setText("new tab");       &lt;br /&gt;      componentToAdd = item;&lt;br /&gt;     &lt;br /&gt;    //Now that we are at it, I am creating a new iFrame which will be set inside the ShowDetailItem&lt;br /&gt;      RichInlineFrame frame = new RichInlineFrame();&lt;br /&gt;      frame.setSource("http://oracle.com");&lt;br /&gt;&lt;br /&gt;    //add the iFrame to the children of the ShowDetailItem&lt;br /&gt;      componentToAdd.getChildren().add(frame);&lt;br /&gt;     &lt;br /&gt;      return componentToAdd;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    Now calling this method from the event listener on which I want to add the ShowDetailItem:&lt;br /&gt;   ....&lt;br /&gt;   ....&lt;br /&gt;    RichPanelTabbed mainPanel = getMainPanelTabbed();   &lt;br /&gt;    UIComponent componentToAdd = buildComponent();         &lt;br /&gt;    mainPanel.getChildren().add(componentToAdd);&lt;br /&gt;   ....&lt;br /&gt;&lt;br /&gt;And we are done! Now when ever this event listener is invoked, you will see a new tab in your panelTabbed layout.&lt;br /&gt;&lt;br /&gt;2) Second way is also very easy and preferred if you have to create more than one components of same type. So if I want to create multiple tabs at run time for my panelTabbed component, I should use this method.&lt;br /&gt;&lt;br /&gt;This is by using &amp;lt;af:iterator&gt;&amp;gt; in your page. See the snippet below:&lt;br /&gt;&lt;br /&gt;&amp;lt;:iterator var="row"&lt;br /&gt;             value="#{bindings.selectedFormsIterator.allRowsInRange}"&amp;gt;&lt;br /&gt;               &amp;lt;af:showDetailItem text="#{bindings.selectedFormsIterator.currentRow.dataProvider.formName}"&amp;gt;&lt;br /&gt;                 &amp;lt;af:inlineFrame source="http://someurl.com/test.jsp?Form=#{bindings.selectedFormsIterator.currentRow.dataProvider.formName}" /&amp;gt;&lt;br /&gt;             &amp;lt;/af:showDetailItem&amp;gt;&lt;br /&gt;        &amp;lt;/af:iterator&amp;gt;&lt;br /&gt;&lt;br /&gt;Basically af:iterator is a modified version of af:forEach and is suggested for iteration if you are trying to create multiple components.&lt;br /&gt;&lt;br /&gt;You just need to create the iterator binding and associate it with your iterator and you are ready to go!&lt;br /&gt;&lt;br /&gt;Simple isn't it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-760453959383218567?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/760453959383218567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=760453959383218567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/760453959383218567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/760453959383218567'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2011/02/how-to-create-adf-components-on-runtime.html' title='How to create ADF components on runtime?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3359027315099645549</id><published>2010-08-12T10:20:00.000-07:00</published><updated>2010-08-12T10:21:46.042-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Java 7'/><title type='text'>Project Coin Features in Java 7</title><content type='html'>&lt;div&gt;Here is a presentation that I made for my team: &lt;/div&gt;&lt;br /&gt;&lt;a title="View Project Coin Features in Java 7 on Scribd" href="http://www.scribd.com/doc/35772874/Project-Coin-Features-in-Java-7" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;&lt;br /&gt;&lt;/a&gt; &lt;object id="doc_252358575237064" name="doc_252358575237064" height="500" width="100%" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;" rel="media:presentation" resource="http://d1.scribdassets.com/ScribdViewer.swf?document_id=35772874&amp;amp;access_key=key-14xqd7evjydzwwx1lwou&amp;amp;page=1&amp;amp;viewMode=list" media="http://search.yahoo.com/searchmonkey/media/" dc="http://purl.org/dc/terms/"&gt; &lt;param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf"&gt; &lt;param name="wmode" value="opaque"&gt; &lt;param name="bgcolor" value="#ffffff"&gt; &lt;param name="allowFullScreen" value="true"&gt; &lt;param name="allowScriptAccess" value="always"&gt; &lt;param name="FlashVars" value="document_id=35772874&amp;amp;access_key=key-14xqd7evjydzwwx1lwou&amp;amp;page=1&amp;amp;viewMode=list"&gt; &lt;embed id="doc_252358575237064" name="doc_252358575237064" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=35772874&amp;amp;access_key=key-14xqd7evjydzwwx1lwou&amp;amp;page=1&amp;amp;viewMode=list" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="500" width="100%" wmode="opaque" bgcolor="#ffffff"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3359027315099645549?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3359027315099645549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3359027315099645549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3359027315099645549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3359027315099645549'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2010/08/project-coin-features-in-java-7.html' title='Project Coin Features in Java 7'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3422240223361917931</id><published>2010-07-27T04:08:00.000-07:00</published><updated>2010-07-27T04:11:59.879-07:00</updated><title type='text'>Easiest way to print Timestamp in Java</title><content type='html'>Rather than using Calendar.getTime() we can use java.sql.Timestamp class to get the time stamp which gives date and time till millisecond precision.&lt;br /&gt;&lt;br /&gt;System.out.println(new Timestamp(System.currentTimeMillis()));&lt;br /&gt;&lt;br /&gt;Above will give you current timestamp in this format: 2010-07-27 16:37:45.39&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3422240223361917931?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3422240223361917931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3422240223361917931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3422240223361917931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3422240223361917931'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2010/07/easiest-way-to-print-timestamp-in-java.html' title='Easiest way to print Timestamp in Java'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3540637306316265941</id><published>2010-02-21T21:36:00.000-08:00</published><updated>2010-02-21T22:06:09.263-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UTF-8'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='encoding'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>File upload problem: UTF-8 encoding not honored when form has multipart/form-data</title><content type='html'>The problem that I was facing was something like this. I was using &lt;a href="http://commons.apache.org/fileupload/"&gt;Apache Commons File Upload library&lt;/a&gt; to upload and download some file.&lt;br /&gt;&lt;br /&gt;&lt;span class="postbody"&gt;I had a form in which user can upload a file and another field 'name' in which she can give any name to the file being loaded.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/S4IZ6Lh5uRI/AAAAAAAAPPg/36fhYu3HQek/s1600-h/img.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 67px;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/S4IZ6Lh5uRI/AAAAAAAAPPg/36fhYu3HQek/s400/img.PNG" alt="" id="BLOGGER_PHOTO_ID_5440939787135072530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="postbody"&gt; When I submitted the form, the file was uploaded fine but the value in name field was garbled. I  followed all the possible suggestions I found: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="postbody"&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt; set. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&amp;lt;&lt;/span&gt;&lt;span class="postbody"&gt;%@page contentType="text/html;charset=UTF-8"%&lt;/span&gt;&lt;span class="postbody"&gt;gt;&lt;/span&gt;&lt;span class="postbody"&gt; set after the first directive. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; &amp;lt;meta equiv="Content-Type" content="text/html;charset=UTF-8"&amp;gt; in the head. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; enctype="multipart/form-data" attribute in the form. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; accept-charset="UTF-8" attribute in the form. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="postbody"&gt;&lt;br /&gt;in the Servlet:&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="postbody"&gt; before doing any operations on request object: request.setCharacterEncoding("UTF-8"); &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;For accessing the value&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;FileItem item = (FileItem) iter.next();&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;if (item.isFormField()) {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   //For regular form field:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   name = item.getFieldName();   &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   //converting from default encoding to UTF-8.                     &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   value = &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;new String(item.getString().getBytes(), "UTF-8");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But this too didn't work. Finally after lot of trial and error methods, this is the call which set everything right.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;  value = item.getString("UTF-8").trim();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was able to get the value in text field correct, ungarbled!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3540637306316265941?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3540637306316265941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3540637306316265941' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3540637306316265941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3540637306316265941'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2010/02/file-upload-problem-utf-8-encoding-not.html' title='File upload problem: UTF-8 encoding not honored when form has multipart/form-data'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/S4IZ6Lh5uRI/AAAAAAAAPPg/36fhYu3HQek/s72-c/img.PNG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-2652151703117750906</id><published>2010-01-29T09:31:00.000-08:00</published><updated>2010-01-29T09:39:03.718-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Version number is a rocket science for Chrome users?</title><content type='html'>&lt;div style="text-align: left;"&gt;At least Google seems to think so. Take a look at any of the Chrome download pages &lt;a href="http://www.google.com/chrome"&gt;here&lt;/a&gt; or the Beta download page &lt;a href="http://www.google.com/intl/en/landing/chrome/beta/"&gt;here&lt;/a&gt;. Nowhere we see the version numbers. So unless you download a version and install it you won't know which version are you going to use!&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Neat huh? Considering the fact that most of  the Chrome users are early technology adopters and have switched from Firefox (which seems to give an overdose of versions!) this is moronic in my opinion.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are other and better ways to keep your homepage clean but not specifying version numbers? I am not sure!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_AUe0oi3jIxo/S2MdAYHNuEI/AAAAAAAAOwM/GxipWTlPJDo/s400/google_chrome-OS.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 345px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5432217467848865858" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-2652151703117750906?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/2652151703117750906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=2652151703117750906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2652151703117750906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2652151703117750906'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2010/01/version-number-is-rocket-science-for.html' title='Version number is a rocket science for Chrome users?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_AUe0oi3jIxo/S2MdAYHNuEI/AAAAAAAAOwM/GxipWTlPJDo/s72-c/google_chrome-OS.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3437480181005120857</id><published>2010-01-06T22:05:00.000-08:00</published><updated>2010-01-06T22:06:29.092-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='gtalk'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Gtalk and Twitter integration. Anyone?</title><content type='html'>I think before we woke up to Twitter, status messages in GTalk were (and are still are) the easiest way to spread a message, show off some geeky/cheesy/funny/wise quote or post your blog link for others to see without pushing it!&lt;br /&gt;&lt;br /&gt;Now my Twitter is connected to my Facebook and when I post anything on Twitter, my Facebook status is updated.&lt;br /&gt;&lt;br /&gt;But I still post blog/photo links in my gtalk status message and so do many of my contacts. So I was thinking yesterday if there is some mechanism which would let me post to Twitter as well. Just imagine, how cool it will be. I write something in Gtalk status message and that is posted on twitter and that goes to Facebook!&lt;br /&gt;&lt;br /&gt;Now does Google provide an API which would let export/import status from GTalk status? Or do you know any such mechanism?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3437480181005120857?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3437480181005120857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3437480181005120857' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3437480181005120857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3437480181005120857'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2010/01/gtalk-and-twitter-integration-anyone.html' title='Gtalk and Twitter integration. Anyone?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3485237933716361717</id><published>2009-12-20T08:21:00.000-08:00</published><updated>2009-12-20T08:26:49.798-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='glassfish'/><title type='text'>Glassfish v3 Uninstall!</title><content type='html'>Glassfish v3 seems to have a few rough edges, but this seemed to be funniest. A test page that someone forgot to remove, may be!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/Sy5QDxHC5xI/AAAAAAAANwY/xUWBcXsVlmM/s1600-h/Glassfish.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 319px;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/Sy5QDxHC5xI/AAAAAAAANwY/xUWBcXsVlmM/s400/Glassfish.jpg" alt="" id="BLOGGER_PHOTO_ID_5417355427426002706" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3485237933716361717?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3485237933716361717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3485237933716361717' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3485237933716361717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3485237933716361717'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2009/12/glassfish-v3-uninstall.html' title='Glassfish v3 Uninstall!'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/Sy5QDxHC5xI/AAAAAAAANwY/xUWBcXsVlmM/s72-c/Glassfish.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-2025675117038773585</id><published>2009-09-03T04:30:00.000-07:00</published><updated>2009-09-03T04:37:59.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='India'/><category scheme='http://www.blogger.com/atom/ns#' term='AP'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>YSR's death becomes major Twitter topic</title><content type='html'>Andhra Pradesh (India) Chief Minister Dr. Y S R Rajashekhar Reddy's unfortunate death in a chopper crash on 3rd September reached up to 3rd rank on the Trending Topics on Twitter for a while before getting back to 4th where it stayed for long.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AUe0oi3jIxo/Sp-qbO4K8cI/AAAAAAAAL24/F3Mki7igqTU/s1600-h/YSR.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 186px; height: 308px;" src="http://4.bp.blogspot.com/_AUe0oi3jIxo/Sp-qbO4K8cI/AAAAAAAAL24/F3Mki7igqTU/s400/YSR.PNG" alt="" id="BLOGGER_PHOTO_ID_5377203864930546114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I would hesitate to attribute this spurt to swelling number of Twitter users in India because there are lot of Telugu people in US as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-2025675117038773585?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/2025675117038773585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=2025675117038773585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2025675117038773585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2025675117038773585'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2009/09/ysrs-death-becomes-major-twitter-topic.html' title='YSR&apos;s death becomes major Twitter topic'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_AUe0oi3jIxo/Sp-qbO4K8cI/AAAAAAAAL24/F3Mki7igqTU/s72-c/YSR.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-222350377059091898</id><published>2009-05-20T01:37:00.000-07:00</published><updated>2009-05-20T01:45:22.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Energy'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Reliance'/><title type='text'>Reliance Energy allies with Google</title><content type='html'>Reliance Energy is the only Indian company among select few in the world, which have been announced as first allies for Google's &lt;a href="http://www.google.org/powermeter/"&gt;PowerMeter&lt;/a&gt; project. (source: &lt;a href="http://www.engadget.com/2009/05/20/google-announces-first-powermeter-partners-we-beg-for-more/"&gt;Engadget&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;PowerMeter will help you monitor your power consumption on your home PC. I don't know if they would ship Itron's meters here in India also or any other local manufacturer (Reliance's existing vendor most probably) will be given license to use Google's software.&lt;br /&gt;&lt;br /&gt;Whatever happens, this is a news worth watching.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-222350377059091898?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/222350377059091898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=222350377059091898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/222350377059091898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/222350377059091898'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2009/05/reliance-energy-allies-with-google.html' title='Reliance Energy allies with Google'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-6173054170947005537</id><published>2009-05-04T21:55:00.000-07:00</published><updated>2009-05-04T22:00:59.977-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Exception'/><title type='text'>java.lang.IllegalArgumentException: Malformed \uxxxx encoding</title><content type='html'>I was getting this exception during build while running ant. Googling didn't help much and I was flummoxed because the same code was running fine till now.&lt;br /&gt;&lt;br /&gt;My code reads a text file and does some operations on the basis of values read. It was only when I saw the text files I understood the error. I had copied the text in wordpad and saved it as .txt file. Wordpad had put lot of formatting information before and after the content. Also there was "\par" after every line, which was giving this error.&lt;br /&gt;&lt;br /&gt;So moral of the story: if you get this exception check your properties file (or any other file that your code might be reading.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-6173054170947005537?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/6173054170947005537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=6173054170947005537' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/6173054170947005537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/6173054170947005537'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2009/05/javalangillegalargumentexception.html' title='java.lang.IllegalArgumentException: Malformed \uxxxx encoding'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-1292844673549719197</id><published>2009-01-06T01:54:00.001-08:00</published><updated>2009-01-06T01:58:12.391-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='BI'/><category scheme='http://www.blogger.com/atom/ns#' term='Hyperion'/><title type='text'>Exporting Hyperion Planning artifacts using Shared Services</title><content type='html'>If you have made a Hyperion Planning application you can migrate the definition of any of the artifacts (dimensions, rules, variables, composite forms) you may have created.&lt;br /&gt;&lt;br /&gt;Open the application from the applications' list. This lists all the major categories of artifacts. Click on 'Global Artifacts'. This shows the artifacts I mentioned above and which are of interest to us.&lt;br /&gt;&lt;br /&gt;Each of the artifacts further act as subcategories, e.g. under Common Dimensions we have Attribute Dimensions and Standard Dimensions. 'Composite Forms' lists the forms according to their folders.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/SWMqftpWGmI/AAAAAAAAHYs/Ixz_Vkze6NQ/s1600-h/ss.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 232px;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/SWMqftpWGmI/AAAAAAAAHYs/Ixz_Vkze6NQ/s320/ss.PNG" alt="" id="BLOGGER_PHOTO_ID_5288117111780416098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can select all the artifacts you want to 'migrate' and click on 'Define Migration button. I selected the Composite Forms.&lt;br /&gt;A popup will ask you if you want to include dependent dimensions. I checked the checkbox and all the dimensions which were used in those composite forms were also migrated. If you don't want the dimensions, don't select it.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AUe0oi3jIxo/SWMqf_7ogZI/AAAAAAAAHY0/zTPjf4zZYKE/s1600-h/ss2.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 224px;" src="http://1.bp.blogspot.com/_AUe0oi3jIxo/SWMqf_7ogZI/AAAAAAAAHY0/zTPjf4zZYKE/s320/ss2.PNG" alt="" id="BLOGGER_PHOTO_ID_5288117116688957842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Next screen asks you if you want to migrate the artifact to some other application or save the artifact definition in form of XML. I chose to save the file and gave 'exim' as the destination directory. The migrated XMLs were saved in : C:\Hyperion\common\import_export\admin@Native Directory\exim\resource\Global Artifacts&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/SWMqf1v5geI/AAAAAAAAHY8/7ArWmMWHzHc/s1600-h/ss3.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 224px;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/SWMqf1v5geI/AAAAAAAAHY8/7ArWmMWHzHc/s320/ss3.PNG" alt="" id="BLOGGER_PHOTO_ID_5288117113955385826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Final screen shows you migration summary. Click on Execute Migration button to start migration. A popup shows you button to launch Migration Status Report.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AUe0oi3jIxo/SWMqgIMTuZI/AAAAAAAAHZE/eeo3-_nm_VA/s1600-h/ss4.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 223px;" src="http://1.bp.blogspot.com/_AUe0oi3jIxo/SWMqgIMTuZI/AAAAAAAAHZE/eeo3-_nm_VA/s320/ss4.PNG" alt="" id="BLOGGER_PHOTO_ID_5288117118906382738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If the status is active, click on refresh button to get the latest status. If it is success, your migration has succeeded.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AUe0oi3jIxo/SWMqgH6v_SI/AAAAAAAAHZM/pjylpuY7l5c/s1600-h/ss5.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 231px;" src="http://1.bp.blogspot.com/_AUe0oi3jIxo/SWMqgH6v_SI/AAAAAAAAHZM/pjylpuY7l5c/s320/ss5.PNG" alt="" id="BLOGGER_PHOTO_ID_5288117118832737570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Isn't it too simple!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-1292844673549719197?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/1292844673549719197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=1292844673549719197' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/1292844673549719197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/1292844673549719197'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2009/01/exporting-hyperion-planning-artifacts.html' title='Exporting Hyperion Planning artifacts using Shared Services'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/SWMqftpWGmI/AAAAAAAAHYs/Ixz_Vkze6NQ/s72-c/ss.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-4538381088480012989</id><published>2008-10-06T08:51:00.000-07:00</published><updated>2008-10-06T10:00:43.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='DWR'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Maintaining session when using DWR</title><content type='html'>DWR (&lt;a href="http://directwebremoting.org/"&gt;Direct Web Remoting&lt;/a&gt;) provides an amazingly convenient approach to AJAX and the best thing is that it is so easy to implement.&lt;br /&gt;&lt;br /&gt;When I was using DWR, I got a little confused about maintaining session, since most of the examples available used POJO/bean to implement java code which was then sent back to javascript.&lt;br /&gt;&lt;br /&gt;In my application, an arraylist (formList) was maintained in session. I had to use DWR to show the details about this arraylist on the JSP.&lt;br /&gt;&lt;br /&gt;In the java class being used by DWR, I needed to pass the session from calling JSP. DWR gives this in a surprisingly easy way!&lt;br /&gt;&lt;br /&gt;JSP snippet:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;button onclick="getProperties(id);"&amp;gt;Click! &amp;lt;/button&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the javascript:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;function getProperties(id) {&lt;br /&gt;DwrUtility.getDetails(paneId, function(data) {&lt;br /&gt;dwr.util.setValues(data);&lt;br /&gt;}); } &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span &gt;In the Java class:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public String getDetails(String menuId, &lt;strong&gt;&lt;span style="color:#3366ff;"&gt;HttpSession session&lt;/span&gt;&lt;/strong&gt;){&lt;br /&gt;  int paneId=Integer.parseInt(menuId);&lt;br /&gt;  ArrayList formList=(ArrayList)session.getAttribute("FormsList");&lt;br /&gt;  String paneDetails = "Number of forms: "+formList.size();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  return paneDetails;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span &gt;Did you notice that we did not pass session parameter from getProperties() function in javascript, but we used that in getDetails() method in java class. This is the magic that DWR does here. If you mention HttpSession as one of the parameters, DWR automatically passes the session from calling JSP to the class. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;See I said, that is so simple!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-4538381088480012989?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/4538381088480012989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=4538381088480012989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4538381088480012989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4538381088480012989'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/10/maintaining-session.html' title='Maintaining session when using DWR'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3495958892017761773</id><published>2008-09-27T23:28:00.000-07:00</published><updated>2008-09-27T23:44:07.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Live'/><category scheme='http://www.blogger.com/atom/ns#' term='Utility'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Snipping Tool in Vista</title><content type='html'>I came across this very nifty utility in Windows Vista today (darn, I own this system since past 1 year!) called 'Snipping Tool' which very nearly renders Print Screen key useless!&lt;br /&gt;&lt;br /&gt;What do you do when you have to take a snapshot of any thing on your screen? Do 'Print Screen' and paste the image in the file (like Word or Powerpoint) or in Paint/Photoshop to save the image after doing some editing (mostly cropping) or adding some text.&lt;br /&gt;&lt;br /&gt;When you run Snipping Tool, you are asked to select the area on screen whose snapshot you want to take. This takes care of your cropping needs and as soon as you make selection, you can do the basic operations like adding text or highlighting on the saved selection. You can now save/email the image. Done!&lt;br /&gt;&lt;br /&gt;It's so convenient, I can't believe I didn't use it till now.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AUe0oi3jIxo/SN8mxJ4785I/AAAAAAAAFZA/eq8bPKx5kO8/s1600-h/st.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_AUe0oi3jIxo/SN8mxJ4785I/AAAAAAAAFZA/eq8bPKx5kO8/s320/st.png" alt="" id="BLOGGER_PHOTO_ID_5250958316447462290" border="0" /&gt;&lt;/a&gt;This snapshot was taken by Print Screen. The Snipping Tool was used to select the area enclosed by red border from HP website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3495958892017761773?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3495958892017761773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3495958892017761773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3495958892017761773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3495958892017761773'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/09/snipping-tool-in-vista.html' title='Snipping Tool in Vista'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_AUe0oi3jIxo/SN8mxJ4785I/AAAAAAAAFZA/eq8bPKx5kO8/s72-c/st.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-4239504016627519468</id><published>2008-09-03T10:27:00.000-07:00</published><updated>2008-09-03T11:24:04.222-07:00</updated><title type='text'>Google makes Microsoft look God! Thanks to Chrome.</title><content type='html'>&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;"The &lt;i&gt;New York Times&lt;/i&gt; reports that &lt;a href="http://money.cnn.com/quote/quote.html?symb=MSFT" style="text-decoration: underline; color: rgb(0, 51, 153);"&gt;Microsoft's&lt;/a&gt; new Internet browser includes a search box in the upper-right corner that is typically set up to send users to Microsoft's MSN search service. &lt;a href="http://money.cnn.com/quote/quote.html?symb=GOOG" style="text-decoration: underline; color: rgb(0, 51, 153);"&gt;Google&lt;/a&gt; contends that this puts Microsoft in a position to unfairly grab Web traffic and advertising dollars from its competitors."&lt;/span&gt;&lt;div&gt;&lt;a href="http://money.cnn.com/2006/05/01/technology/google_microsoft/index.htm"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;&lt;a href="http://money.cnn.com/2006/05/01/technology/google_microsoft/index.htm"&gt;This was&lt;/a&gt; what Google was shouting from rooftops when IE7 was launched. And they conveniently made the world forget that Apple's Safari and Mozilla Firefox always had Google as their default search engine. But it seems that someone is celebrating 'Make Microsoft Look God Day' and to commemorate this, they launched a browser!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;Unlike IE, FF or Safari you don't have a separate browser in-built search box in Chrome. To search for anything you simply need to type search term in address bar and press enter. This may sound very cool but you can do this in any of above mentioned browsers too! For IE by default this is MSN/Live Search and for FF it is Google.&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt; (Try it now, in another tab. Not &lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;this one!). And obviously you can reset the defaults.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;By removing the search box from Chrome, Google has ensured that nobody is going to bother with changing the search engine. Currently I have many search engines in my search box (see image below) and&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AUe0oi3jIxo/SL7SpyX74OI/AAAAAAAAFVo/x0i0NTywIp8/s1600-h/search.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_AUe0oi3jIxo/SL7SpyX74OI/AAAAAAAAFVo/x0i0NTywIp8/s400/search.png" alt="" id="BLOGGER_PHOTO_ID_5241858631644471522" border="0" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt; I use them as and when needed. So when I want to search a YouTube video I choose YouTube Video Search. Or  IMDB when I want to find some movie. Or Yahoo India search when I want a portal like view for information.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;But now all that is over. Chrome still gives you option of changing default search (Go to Options-&gt;Default search) but it has been made so complicated that nobody will bother to. I am not going to set IMDB/Youtube as default even if I want to search for movie/video. I WILL have to do it on Google!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;How convenient isn't it! The instant media blitzkrieg that Google will get is sure to translate in millions of downloads.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I can see Wallstreet smiling already!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 17px;font-family:Arial;font-size:13;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-4239504016627519468?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/4239504016627519468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=4239504016627519468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4239504016627519468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4239504016627519468'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/09/google-makes-microsoft-look-god-thanks.html' title='Google makes Microsoft look God! Thanks to Chrome.'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_AUe0oi3jIxo/SL7SpyX74OI/AAAAAAAAFVo/x0i0NTywIp8/s72-c/search.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3542091626296005702</id><published>2008-09-01T02:21:00.001-07:00</published><updated>2008-09-01T02:31:01.511-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Error'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Live'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Amazing Live.com glitch!</title><content type='html'>Now how do these guys manage to these kinds of things.  I am genuinely surprised.&lt;br /&gt;&lt;br /&gt;I am one of the (few?) fans of Microsoft's Live.com. I find much better than Google Reader and though I would like others to add my blogs' feeds to Reader, I manage my subscriptions through Live.com.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AUe0oi3jIxo/SLu0V6IERjI/AAAAAAAAFUI/i-i1w-ynQ7w/s1600-h/Live2.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_AUe0oi3jIxo/SLu0V6IERjI/AAAAAAAAFUI/i-i1w-ynQ7w/s320/Live2.PNG" alt="" id="BLOGGER_PHOTO_ID_5240980879849047602" border="0" /&gt;&lt;/a&gt;But today what I saw was just unbelievably hilarious! Just look at this one. Have you ever seen a site's name getting disappeared from its banner?&lt;br /&gt;&lt;br /&gt;Well here is the magic for you! Not only the name, even the menu options get disappeared.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AUe0oi3jIxo/SLu2A24kkmI/AAAAAAAAFUQ/9GGs_XR06JA/s1600-h/Live1.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_AUe0oi3jIxo/SLu2A24kkmI/AAAAAAAAFUQ/9GGs_XR06JA/s320/Live1.PNG" alt="" id="BLOGGER_PHOTO_ID_5240982717224751714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is Microsoft, and anything is possible!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3542091626296005702?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3542091626296005702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3542091626296005702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3542091626296005702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3542091626296005702'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/09/amazing-livecom-glitch.html' title='Amazing Live.com glitch!'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_AUe0oi3jIxo/SLu0V6IERjI/AAAAAAAAFUI/i-i1w-ynQ7w/s72-c/Live2.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-7547040881976161994</id><published>2008-08-24T21:19:00.000-07:00</published><updated>2008-08-24T21:21:40.245-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>Funny typo on Yahoo! India</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AUe0oi3jIxo/SLIy699xvZI/AAAAAAAAFSU/MFeFYKqLqTs/s1600-h/yahoo.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_AUe0oi3jIxo/SLIy699xvZI/AAAAAAAAFSU/MFeFYKqLqTs/s320/yahoo.PNG" alt="" id="BLOGGER_PHOTO_ID_5238305305232784786" border="0" /&gt;&lt;/a&gt;This must be the silliest typo. But it was outright funny.&lt;br /&gt;&lt;br /&gt;Saw this error on Yahoo India on 25th August'08.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-7547040881976161994?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/7547040881976161994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=7547040881976161994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7547040881976161994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7547040881976161994'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/08/funny-typo-on-yahoo-india.html' title='Funny typo on Yahoo! India'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_AUe0oi3jIxo/SLIy699xvZI/AAAAAAAAFSU/MFeFYKqLqTs/s72-c/yahoo.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-6556569436764203396</id><published>2008-08-17T11:20:00.001-07:00</published><updated>2008-08-19T06:54:55.419-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='picasa'/><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='online'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='editing'/><title type='text'>Why should you edit your photos?</title><content type='html'>In my initial phase of digital photography, I was one of those who believe that editing an image is cheating the viewer. I took pride in my untouched photos and thought it was upto me to take a good shot each time I clicked the button and editing should not substitute my abilities as a photographer.&lt;br /&gt;&lt;br /&gt;To some extent, I was correct. Technology should not, actually it can not, substitute my abilities as a photographer, however it can take my photos to a higher level. And if you thought touching your photos is 'cheating', consider having an orchestra at your command but you insist on using just the synthesizer! A digital photo is like creating music, a note here, a symphony there and you come up with a completely new tune. Similarly a little deeper tint, a little brightness and your photo can become a piece of art.&lt;br /&gt;&lt;br /&gt;Composition is a very important aspect of taking a photo, one which can affect the perspective of your photo like no other. Sometimes it is not in your control to place your subject in the desired spot in the frame or you may not be able to keep yourself at the suitable distance from the subject. You take the photo and you find that there is a lot of unnecessary detail in the photo and your subject is getting almost obscured or at least it doesn't seem to be the 'subject' of the photo. Or most common example, you took a scenery but there are electric wires!&lt;br /&gt;&lt;br /&gt;What do you do now?&lt;br /&gt;&lt;br /&gt;Try 'cropping' your photo. In simple terms, remove the extra parts of the image from the sides. If your photo is sufficiently large, cropping the image will enlarge the subject and remaining parts of the image. Here is an example.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/SKrGwRQsBlI/AAAAAAAAFQI/HY0qVL8_DrA/s1600-h/uncropped.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/SKrGwRQsBlI/AAAAAAAAFQI/HY0qVL8_DrA/s320/uncropped.JPG" alt="" id="BLOGGER_PHOTO_ID_5236216049341040210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In this photo the stone pond is my subject, but there is so much more on top of the image that pond does not attract the attention immediately.&lt;br /&gt;&lt;br /&gt;After cropping the photo becomes:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/SKrLDBrNkAI/AAAAAAAAFQQ/I1MPVcud3J8/s1600-h/cropped.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/SKrLDBrNkAI/AAAAAAAAFQQ/I1MPVcud3J8/s320/cropped.JPG" alt="" id="BLOGGER_PHOTO_ID_5236220769621348354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now there is lot lesser clutter in this image.&lt;br /&gt;&lt;br /&gt;Cropping is only one of the many ways you can edit the images. Almost all the photos of models/actors/actresses you see and drool over are touched up professionally in Photoshop. Professional photographers color-coordinate their photos to make those sceneries look like heaven or those wild-life shots come alive!&lt;br /&gt;&lt;br /&gt;How to edit your images?  Most photo-management softwares give you options to do simple editing of photos. I use Picasa which gives you one click touch-up in terms of brightness, contrast and lighting. Other actions like cropping and straightening too are very simple. You can even add effects in your photos. You can download it from &lt;a href="http://picasa.google.com"&gt;here&lt;/a&gt; and install it.&lt;br /&gt;&lt;br /&gt;If you don't want to install anything, you can do online image editing on &lt;a href="http://flickr.com"&gt;Flickr.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This article should get you started with basic understanding of editing of your photos. Try playing with your images, you will definitely create something new and hopefully something better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-6556569436764203396?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/6556569436764203396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=6556569436764203396' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/6556569436764203396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/6556569436764203396'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/08/why-should-you-edit-your-photos.html' title='Why should you edit your photos?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/SKrGwRQsBlI/AAAAAAAAFQI/HY0qVL8_DrA/s72-c/uncropped.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-2564297055620454637</id><published>2008-08-14T23:52:00.000-07:00</published><updated>2008-08-15T00:27:19.549-07:00</updated><title type='text'>How to upload a file using JSP/Servlets</title><content type='html'>This short article describes how to upload a file using Apache Jakarta commons upload library.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1) Required downloads:&lt;/strong&gt; Download the library from &lt;a href="http://in.wrs.yahoo.com/_ylt=A8pWBj0TKKVIwYUBH4C7HAx.;_ylu=X3oDMTEwODBrbWtsBHNlYwNzcgRwb3MDMQRjb2xvA2luMl9pbnRsBHZ0aWQD/SIG=11pattc61/EXP=1218869651/**http%3A//commons.apache.org/fileupload/"&gt;here&lt;/a&gt;. Keep the following JAR files in classpath: commons-fileupload-1.2.1.jar and commons-io-1.4.jar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2) JSP/HTML code:&lt;/strong&gt; To upload a file you need to set the encoding type in your form to multipart/form-data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;form enctype="multipart/form-data" method="post" name="submissionForm" action="servlet"&gt;&lt;/span&gt;&lt;/form&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Give your users a file-select box to select the file :&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;input type="file" name="myFile" width="100" &lt;/span&gt;&lt;br /&gt;You will most probably have other form fields like textbox, radio buttons etc. We have one text field with name 'user' in this form:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;input maxlength="255" size="40" name="user"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;3) Form data handling:&lt;/strong&gt; Now you have sent the file and other form data, now we need to make use of this form data. Most probably you need to save the file at some location on the server.&lt;br /&gt;One problem that many developers face is getting a null when they try to extract the value in form fields using request.getParameter(&lt;field&gt;). So in our case, if you try doing this:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;String user=request.getParameter("user");&lt;/span&gt;&lt;br /&gt;you will find that 'user' has a null value.&lt;br /&gt;But Apache Jakarta Commons Upload library gives us the way to overcome this problem also.&lt;br /&gt;To handle the form data, I am using a servlet here. You may use a JSP, if you want, however that won't be a good design!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;processRequest(request, response); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;}&lt;br /&gt;protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;......&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;......&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;......&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;//Step 1: check if the request is a file upload request or not. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;boolean isMultipart = ServletFileUpload.isMultipartContent(request);&lt;br /&gt;//Step 2: parse the request. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;FileItemFactory factory = new DiskFileItemFactory(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ServletFileUpload upload = new ServletFileUpload(factory); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;List items = new ArrayList(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;try { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;     items = upload.parseRequest(request); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;} catch (FileUploadException fue) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;     fue.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;}&lt;br /&gt;//Step 3: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Iterator iter = items.iterator(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;while (iter.hasNext()) { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    FileItem item = (FileItem) iter.next(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    if (!item.isFormField()) { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       // I am saving the files in WEB-INF/images folder. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       try { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       String FOLDER = getServletContext().getRealPath("/WEB-INF"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       String imgName= item.getName(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       int last=imgName.lastIndexOf("\\"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       imgName=imgName.substring(last+1,imgName.length()); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       FOLDER = FOLDER.replace("WEB-INF", "images/"+imgName); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       if (FOLDER != null) { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;           FOLDER = FOLDER.replace('\\', '/').&lt;/span&gt; &lt;span style="font-family:courier new;font-size:85%;"&gt;replace('/', File.separatorChar); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       }&lt;br /&gt;       File file = new File(FOLDER); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       item.write(file); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       qb.setImage(FOLDER); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   } catch (Exception e) { &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;      e.printStackTrace(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   } &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;  } else &lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;{ //Handle the textual form data.&lt;br /&gt;  //Get the name of the field &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;     String name = item.getFieldName();&lt;br /&gt;  //Get the value of the field &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;     String value = item.getString();&lt;br /&gt;     System.out.println("Name=" + name + " value=" + value); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;     if(name.equals("user")) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;       System.out.println("User ="+value); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   } &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;  }  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;} &lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;This is all that you need to upload a file. See it was so simple!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-2564297055620454637?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/2564297055620454637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=2564297055620454637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2564297055620454637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2564297055620454637'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/08/how-to-upload-file-using-jspservlets.html' title='How to upload a file using JSP/Servlets'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-6964342359784559851</id><published>2008-07-31T04:44:00.000-07:00</published><updated>2008-08-01T01:21:23.809-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='cuil'/><title type='text'>Yuil is no more!</title><content type='html'>For a moment, I thought this is the most enjoyable week of my life as far as search engines are concerned! This headline &lt;a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/07/30/AR2008073002689.html"&gt;'Yahoo Exec Makes Yuil: Looks Like Cuil, With Better Results' &lt;/a&gt;on WashingtonPost.com (courtesy TechCrunch) was enough to make me smile as I was thinking of writing on how easily Cuil has generated so much noise.&lt;br /&gt;&lt;br /&gt;Unfortunately 'Yuil' built by a Yahoo! engineer using Yahoo's recently release &lt;a href="http://developer.yahoo.com/search/boss/"&gt;BOSS API&lt;/a&gt; has been now taken off the web. For those who don't know, BOSS stands for 'Build Your Own Search Service'. Yahoo recently opened its entire search technology to developers as now they can access almost all the services and functionalities given by Yahoo search.&lt;br /&gt;&lt;br /&gt;I could not use Yuil, but comments on the page and even TechCrunch report said Yuil performed better than Cuil. I am not at all surprised. Cuil is so pathetically bad at the moment that any thing will perform better and since Yuil was based on Yahoo Search, you can great results (second only to Google maybe!)&lt;br /&gt;&lt;br /&gt;This leaves us back to Cuil. (I won't talk about the quality of search results ay all) In the past two days I have got two mails and many exciting colleagues telling me about 'a new search engine launched by an ex-Google employee'. There are 62300 results for Cuil.com on Google and here I am adding to that count. All this when this is one of the worst ever search engine launches. I had once found a list of search engines on ZDNET.com and believe me, most of those search engines had something or the other unique feature. They didn't boast about their capabilities or algorithms but gave good results, just what I wanted most. And here, I don't even remember those names and I am sure you won't even know them.&lt;br /&gt;&lt;br /&gt;Is it the 'ex-Google employee' factor? I certainly think so. Plus lots of funding that Cuil has reportedly got.&lt;br /&gt;&lt;br /&gt;However I could find one good feature. When it gives correct results (yes, this miracle happens sometimes on Cuil!) it categorizes some more prominent results in form of tabs at the top. And some in a separate expandable menu near results. But after the portalization of results that &lt;a href="http://in.search.yahoo.com/"&gt;Yahoo! India search&lt;/a&gt; does, it is like loose change!&lt;br /&gt;&lt;br /&gt;Small mercies!&lt;br /&gt;&lt;br /&gt;Update: On Yahoo! BOSS homepage, I found links to some very interesting search engines which use BOSS API. Check out: &lt;a href="http://me.dium.com/search"&gt;Me.dium&lt;/a&gt;, &lt;a href="http://www.cluuz.com/"&gt;Cluzz&lt;/a&gt; and &lt;a href="http://www.hakia.com/"&gt;Hakia&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-6964342359784559851?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/6964342359784559851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=6964342359784559851' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/6964342359784559851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/6964342359784559851'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/07/yuil-is-no-more.html' title='Yuil is no more!'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-4566478690829870930</id><published>2008-06-18T01:22:00.000-07:00</published><updated>2008-06-18T01:45:34.447-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='India'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Firefox Download Day 2008: Indian contribution</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AUe0oi3jIxo/SFjGGwgGEAI/AAAAAAAAEYI/hR2yMP8TsPI/s1600-h/world.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_AUe0oi3jIxo/SFjGGwgGEAI/AAAAAAAAEYI/hR2yMP8TsPI/s400/world.JPG" alt="" id="BLOGGER_PHOTO_ID_5213134388082380802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Above is the snapshot of downloads across the world at 1.53 PM IST on June 18 2008. According to details on this page: US had 2,095, 322 downloads and India downloaded just 42,770 times.&lt;br /&gt;&lt;br /&gt;I downloaded it in my office, which has actually got a US IP address and I guess many people in India downloaded it in their offices and that counted towards US's downloads. Internet penetration in India is still very low and mostly people access net in their offices only.&lt;br /&gt;&lt;br /&gt;I am not saying that all office downloads swelled US numbers or the cause of a huge US number is due to us only, but this could be a significant number.&lt;br /&gt;&lt;br /&gt;I don't know if FF3 has created a record or not, but the fact is that record or no-record, FF3 is a better browser in all aspects!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-4566478690829870930?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/4566478690829870930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=4566478690829870930' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4566478690829870930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4566478690829870930'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/06/firefox-download-day-2008-indian.html' title='Firefox Download Day 2008: Indian contribution'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_AUe0oi3jIxo/SFjGGwgGEAI/AAAAAAAAEYI/hR2yMP8TsPI/s72-c/world.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-7729223539679019567</id><published>2008-05-30T11:43:00.000-07:00</published><updated>2008-05-30T11:48:41.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google's new browser icon!</title><content type='html'>Suddenly I saw that Google's now familiar 'G' icon has been replaced by 'g'. And it looks better actually!&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_AUe0oi3jIxo/SEBLkfb3OrI/AAAAAAAAEOM/dN8dl0W7lZE/s1600-h/goog.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5206244259526032050" border="0" alt="" src="http://3.bp.blogspot.com/_AUe0oi3jIxo/SEBLkfb3OrI/AAAAAAAAEOM/dN8dl0W7lZE/s400/goog.jpg" /&gt;&lt;/a&gt; I don't want to read more into it but I am very sure there will be much talk about it in blogosphere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-7729223539679019567?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/7729223539679019567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=7729223539679019567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7729223539679019567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7729223539679019567'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/05/googles-new-browser-icon-is-here.html' title='Google&apos;s new browser icon!'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_AUe0oi3jIxo/SEBLkfb3OrI/AAAAAAAAEOM/dN8dl0W7lZE/s72-c/goog.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-2711845119243406773</id><published>2008-05-17T19:46:00.000-07:00</published><updated>2008-05-17T19:56:51.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Site search within Google Search Results page</title><content type='html'>Just saw another feature on Google search results page. I searched for LonelyPlanet and the first result which usually gives bunch of options related to a result, now shows another option: search that site from results page directly.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AUe0oi3jIxo/SC-ZlYpaxYI/AAAAAAAAEKY/39Nk8JYXf10/s1600-h/goog.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_AUe0oi3jIxo/SC-ZlYpaxYI/AAAAAAAAEKY/39Nk8JYXf10/s400/goog.jpg" alt="" id="BLOGGER_PHOTO_ID_5201544962186593666" border="0" /&gt;&lt;/a&gt;I repeated the experiment with National Geographic and Discovery Channel and got the search box, but it didn't appear for BBC, Rediff, Hindustan Times, TCS, Animal Planet and Al Jazeera.&lt;br /&gt;&lt;br /&gt;Is it only for travel and wildlife sites?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-2711845119243406773?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/2711845119243406773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=2711845119243406773' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2711845119243406773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2711845119243406773'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/05/site-search-within-google-search.html' title='Site search within Google Search Results page'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_AUe0oi3jIxo/SC-ZlYpaxYI/AAAAAAAAEKY/39Nk8JYXf10/s72-c/goog.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-4621566879127870766</id><published>2008-05-08T21:03:00.000-07:00</published><updated>2008-05-08T21:25:59.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='India'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>Yahoo! shows new way of showing search results. Thumbs Up!</title><content type='html'>Yahoo! has launched a new interface for showing search results.  They call it Glue Page and it is displayed in a tabbed page along side normal 'Classic Search' page.&lt;br /&gt;Glue Page gives a 'portal' look to the search results with images, videos, news, wikipedia entry, Yahoo! Answers and ofcourse search results.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/SCPRKGAwOTI/AAAAAAAAEJ0/QTFudOxh9ds/s1600-h/yahoo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/SCPRKGAwOTI/AAAAAAAAEJ0/QTFudOxh9ds/s400/yahoo.JPG" alt="" id="BLOGGER_PHOTO_ID_5198228366258354482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I like it, if you are looking for information on any current issue, you get everything well arranged. It's like 'Special' or 'In-Depth' feature given by news sites and much better than many of them.&lt;br /&gt;&lt;br /&gt;And if you want to give it a try go to &lt;a href="http://in.search.yahoo.com"&gt;Yahoo! India search&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-4621566879127870766?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/4621566879127870766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=4621566879127870766' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4621566879127870766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4621566879127870766'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/05/yahoo-shows-new-way-of-showing-search.html' title='Yahoo! shows new way of showing search results. Thumbs Up!'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/SCPRKGAwOTI/AAAAAAAAEJ0/QTFudOxh9ds/s72-c/yahoo.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-5274606771975438658</id><published>2008-04-08T20:29:00.001-07:00</published><updated>2008-04-11T23:37:12.431-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Gtalk 'Labs Edition' launched</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;After toying a lot with IM features in GMail and Google Desktop Gtalk Gadget, Google finally released new version of Gtalk, named 'Gtalk Labs Edition'. This is second release of popular IM client which has given Yahoo! Messenger, AIM and MSN Messenger a run for their money. The success was due to extremely light weight size, a clean and easy interface and simplicity in use.&lt;br /&gt;&lt;br /&gt;All of these features seem to be on their way out, if Labs edition is any indicator. I remember the earliest version of Gtalk was 900 kb. The one I have got installed is 3.5 MB. Labs edition is more than 8 MB. However install is still very fast and simple as compared to any other IM client. The interface seems a little crowded but still is passable!&lt;br /&gt;&lt;br /&gt;Most of the features of Gtalk Desktop gadget have been incorporated in this version. So you have group chat, tabbed conversations and what I wanted most: good smilies :) There is tighter integration with Orkut and Calendar and you can even&lt;br /&gt;snooze Calendar notifications, just like you do in your Calendar&lt;br /&gt;desktop gadget.&lt;br /&gt;&lt;br /&gt;However the big minus: no voice chat and file transfers! If you have to use these, install the normal Gtalk. Though you can run both of them simultaneously without any problem (if you learn how to make out, which is which since the tray icons are same!) Google recommends to have any one of them.&lt;br /&gt;&lt;br /&gt;This is currently available only for Windows XP and Vista in English language only. Gtalk Labs Edition can be downloaded here: http://www.google.com/talk/labsedition/index.html&lt;br /&gt;&lt;br /&gt;Give it a try. See if you like it.&lt;br /&gt;&lt;br /&gt;PS:More I use it, more I dislike it. The worst feature is that you can't copy whatever you have already sent, which was such a nifty feature in Gtalk.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tag/Google" class="performancingtags"&gt;Google&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/IM" class="performancingtags"&gt;IM&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/Gtalk" class="performancingtags"&gt;Gtalk&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-5274606771975438658?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/5274606771975438658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=5274606771975438658' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5274606771975438658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5274606771975438658'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/04/gtalk-edition-launched.html' title='Gtalk &amp;#39;Labs Edition&amp;#39; launched'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-449898006312179762</id><published>2008-03-30T03:15:00.000-07:00</published><updated>2008-03-30T03:35:24.644-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>Yahoo on Reliance India Mobile</title><content type='html'>It is no secret that Yahoo! is a cherished brand in India and though Google may be leading in search, Yahoo still is a very significant player in instant messaging, email and web entertainment segments.&lt;br /&gt;Yahoo India has signed a pact with India's leading mobile services provider Reliance according to which Reliance India Mobile users will be able to use Yahoo! Messenger on this network. Reliance has second largest customer base in India after Airtel which has collaborated with Google for search services. 3rd largest player Idea had also teamed up with Yahoo last year.&lt;br /&gt;Now after Yahoo's collaboration with Pune based CRL for research on cloud computing and aggressive hiring in India, is the company looking for India as it's new growth bed?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-449898006312179762?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/449898006312179762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=449898006312179762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/449898006312179762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/449898006312179762'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/yahoo-on-reliance-india-mobile.html' title='Yahoo on Reliance India Mobile'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-5505169797952739753</id><published>2008-03-24T07:39:00.001-07:00</published><updated>2008-03-25T04:34:28.207-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Microsoft and The Bombay Club</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Gopi thinks I am a Microsoft basher. Vaibhav thinks I am a fan of theirs. The reason I am giving both extremes reasons to be happy is that I am none!&lt;br /&gt;&lt;br /&gt;Yes I use Windows Vista on my laptop and my resolve of installing Solaris Desktop dwindled since I speeded up booting by turning User Account Control off (from about 5 minutes to about 5 seconds!) and I wrote reviews of several Microsoft offerrings but am I a fan of Microsoft?&lt;br /&gt;&lt;br /&gt;I have written about how irritating and stupid Microsoft products can be at times and how Third Party software works better on their OS as compared to their own and often I have complained about their software not being supported on other OSs but does that prove me a Microsoft basher?&lt;br /&gt;&lt;br /&gt;I think I am somewhere in the middle ground. I use Microsoft's products and appreciate them for all their goodness. They are popular and by hook or by crook MS has garnered maximum users. These software may not be best available but they do work pretty well for most of the users. But most doesn't mean ALL.&lt;br /&gt;&lt;br /&gt;In response to my arguement that why Microsoft produces software that will run only on Windows OSs, Gopi says this is their business strategy. Most of their users are Windows users and why to bother about running these applications on a Mac or Red Hat. I have to agree.&lt;br /&gt;&lt;br /&gt;This reminds me of the Bombay Club. Bombay Club was a group of Indian industrialists who wanted protective measures to save Indian industries from foreign competition. They opposed opening of the economy. Microsoft is behaving in same manner. By not opting to compete openly on foreign-turf they are being protective. I believe that Microsoft is a good company with good developers who can write software that will be good enough for even non-Windows platform. MS wants to win in Web and they have done pretty good, but I am surprised by their reluctance to play the game by the rules in desktop market even when they are developing free software. The free software and frameworks are still only on Windows. Though you could hack OS to install MS software but why should anyone bother to toil so much for software which is not actually good enough as free software which is easy to obtain and easy to install!&lt;br /&gt;&lt;br /&gt;We have seen that opening of Indian economy lead to an Indian surge. Now question is will Microsoft ever take courage to open its economy?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tag/Microsoft" class="performancingtags"&gt;Microsoft&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/Open%20Source" class="performancingtags"&gt;Open Source&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-5505169797952739753?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/5505169797952739753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=5505169797952739753' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5505169797952739753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5505169797952739753'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/microsoft-and-bombay-club.html' title='Microsoft and The Bombay Club'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-7735313678260008326</id><published>2008-03-19T09:36:00.001-07:00</published><updated>2008-03-19T09:36:39.509-07:00</updated><title type='text'>Gmail is having glitches?</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Since beginning of this week, I have started noticing significant delays in Gmail in simple tasks like attaching files and sending messages.  And worse still I got a popup saying 'Oops! There was some error in sending mail (#102)'. I tried again and it worked.&lt;br/&gt;&lt;br/&gt;Any updates coming in site?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Technorati Tags: &lt;a rel='tag' href='http://technorati.com/tag/gmail' class='performancingtags'&gt;gmail&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-7735313678260008326?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/7735313678260008326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=7735313678260008326' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7735313678260008326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7735313678260008326'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/gmail-is-having-glitches.html' title='Gmail is having glitches?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-4614361202426803115</id><published>2008-03-18T06:50:00.001-07:00</published><updated>2008-03-18T06:50:53.876-07:00</updated><title type='text'>Firefox Beta 4 rolled back to Firefox 2.0!</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;What is this happening with Firefox 3 Beta 4? Suddenly my installation seems to be vanished! Vanished. I was doing something when it hung and I closed it. And when I restarted the browser I am back on 2.0.0.12.&lt;br/&gt;&lt;br/&gt;Doesn't make sense right?&lt;br/&gt;&lt;br/&gt;Well I have &lt;a href='http://www.mozilla.com/en-US/firefox/all-beta.html'&gt;downloaded the Firefox installer&lt;/a&gt; and will install again, it doesn't ask for &lt;a href='http://removing.blogspot.com/2008/03/why-microsoft-can-learn-from-mozilla.html'&gt;system restart&lt;/a&gt; anyways!&lt;br/&gt;&lt;br/&gt;PS: It is available in 40 languages including 2 Indian regional languages Gujrati and Punjabi.  I am surprised that they have ignored Hindi, the most widely spoken Indian language. However I am not trying to be language chauvinistic here, just a genuine surprise. &lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-4614361202426803115?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/4614361202426803115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=4614361202426803115' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4614361202426803115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4614361202426803115'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/firefox-beta-4-rolled-back-to-firefox.html' title='Firefox Beta 4 rolled back to Firefox 2.0!'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-7405414663796982909</id><published>2008-03-09T23:20:00.001-07:00</published><updated>2008-03-09T23:28:28.286-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='nokia'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>More Bad News for Yahoo in Mobile Markets</title><content type='html'>Good news is hard to come by for Yahoo these days. South is the direction for company's search market share, advertising revenue and stock prices. As its future remains shrouded in uncertainty, a number of good engineers have left Yahoo for Google.&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;b&gt;No soap Opera for Yahoo!&lt;/b&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/R9TTvOM_npI/AAAAAAAACyo/wRuQBqJjJfc/s1600-h/opera.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 210px; height: 134px;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/R9TTvOM_npI/AAAAAAAACyo/wRuQBqJjJfc/s320/opera.jpg" alt="" id="BLOGGER_PHOTO_ID_5175994679975452306" border="0" /&gt;&lt;/a&gt;The recent spate of bad news is from mobile market where &lt;a href="http://news.yahoo.com/s/cmp/20080229/tc_cmp/206900838"&gt;Opera has recently replaced Yahoo! One search with Google search&lt;/a&gt;. Yahoo! One search had been the default search engine in Opera Mini browser for handsets. It used to show the search results from web, mobile web and image search in the first search result page and users could choose their required search category after that. Google too gives you option of Mobile or Classic version of search page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nokia-Google Alliance&lt;/b&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AUe0oi3jIxo/R9TUIeM_nqI/AAAAAAAACyw/3C4mPZm4Wy0/s1600-h/nokia_logo.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_AUe0oi3jIxo/R9TUIeM_nqI/AAAAAAAACyw/3C4mPZm4Wy0/s320/nokia_logo.gif" alt="" id="BLOGGER_PHOTO_ID_5175995113767149218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Nokia mobile phones come preloaded with Yahoo! Go, a software suite for mobile devices. But now &lt;a href="http://www.accuracast.com/search-daily-news/mobile-7471/google-nokia-t-mobile/"&gt;Nokia too has announced that they are collaborating with Google&lt;/a&gt;. As a consolation T-Mobile has signed up Yahoo for providing search to their customers but with Google present on world's largest selling mobile phones it's highly unlikely that customers will goto network provider's portal to access search engine. However Yahoo may hope some eye balls on non-Nokia handsets having T-Mobile connection!&lt;br /&gt;&lt;br /&gt;These two are major jolts for Yahoo and it will take some serious fire fighting by Jerry Yang and his team to avoid more serious damages.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-7405414663796982909?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/7405414663796982909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=7405414663796982909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7405414663796982909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7405414663796982909'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/more-bad-news-for-yahoo-in-mobile.html' title='More Bad News for Yahoo in Mobile Markets'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/R9TTvOM_npI/AAAAAAAACyo/wRuQBqJjJfc/s72-c/opera.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3538286807375330053</id><published>2008-03-06T22:40:00.001-08:00</published><updated>2008-03-06T22:44:13.915-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Changing Eclipse Workspace Directory</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Recently I moved my entire Eclipse installation directory but the workspace was still getting created in the older location only. And worst there was no option to select the Workspace directory in the Window-&amp;gt;Options-&amp;gt;Workspace menu.&lt;br /&gt;&lt;br /&gt;To change the workspace location in Eclipse do this. Goto ECLIPSE_HOME\configuration\.settings directory, edit the org.eclipse.ui.ide.prefs file and change the RECENT_WORKSPACES value to the desired location.&lt;br /&gt;&lt;br /&gt;If you want that Eclipse prompts you to select workspace when you start it, change the SHOW_WORKSPACE_SELECTION_DIALOG value to true. &lt;br /&gt;&lt;br /&gt;And you are done!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3538286807375330053?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3538286807375330053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3538286807375330053' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3538286807375330053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3538286807375330053'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/changing-eclipse-workspace-directory.html' title='Changing Eclipse Workspace Directory'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-2543960212522893818</id><published>2008-03-06T04:41:00.000-08:00</published><updated>2008-03-06T04:44:47.516-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Software Problem Spoof - Halifax Comedy Festival</title><content type='html'>This is downright hilarious!&lt;br /&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Lnu9XxF2_J8"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/Lnu9XxF2_J8" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-2543960212522893818?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/2543960212522893818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=2543960212522893818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2543960212522893818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2543960212522893818'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/software-problem-spoof-halifax-comedy.html' title='Software Problem Spoof - Halifax Comedy Festival'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-8987485450259797156</id><published>2008-03-03T05:32:00.001-08:00</published><updated>2008-03-03T05:32:27.378-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Tag Library'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JDeveloper'/><title type='text'>How to add a new TLD file to your project in JDeveloper?</title><content type='html'>You want to use the new tag library you found on internet, in your project. You copy the JAR/TLD file in your project's WEB-INF/lib directory and make the necessary changes in your code, rebuild your code... and get error during build process!&lt;br /&gt;&lt;br /&gt;If your error is: "&lt;uri&gt; is is not a registered TLD Namespace", chances are you forgot to register the TLD with JDeveloper. Here is how to do it.&lt;br /&gt;&lt;br /&gt;Select your project root. Right click-&gt;Project Properties. By default Libraries will be selected, if not select it. See if your TLD/JAR is present in the list of libraries. If not click on 'Add Library' and select your libraries. These should now appear in the libraries list. Also make sure to select JSF also.&lt;br /&gt;&lt;br /&gt;Refresh your project. The errors should be gone now. If you are getting any errors it is possible that you are missing any library required for your tag library to function properly. Check the documentation of your taglib to pinpoint and resolve such issues.&lt;br /&gt;&lt;br /&gt;Your feedback is welcome.&lt;/uri&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-8987485450259797156?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/8987485450259797156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=8987485450259797156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/8987485450259797156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/8987485450259797156'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/how-to-add-new-tld-file-to-your-project.html' title='How to add a new TLD file to your project in JDeveloper?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3183163729685855153</id><published>2008-03-03T05:29:00.000-08:00</published><updated>2008-03-03T05:30:11.107-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='inner class'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Excellent Example of Inner Class</title><content type='html'>Many a times, I have asked myself, what is the requirement of Inner Classes, and on top of that Anonymous Inner Classes. Here is one good example. The following is an excerpt from "Android SDK's" documentation:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Listeners can be one of the more confusing aspects of UI implementation, but what we are trying to achieve in this case is simple. We simply want an onClick() method to be called when the user presses the confirm button, and we can use that to do some work and return the values of the edited note to the Intent caller. We do this using something called an anonymous inner class. This is a bit confusing to look at unless you have seen them before, but all you really need to take away from this is that you can refer to this code in the future to see how to create a listener and attach it to a button. (Listeners are a common idiom in Java development, particularly for user interfaces.)&lt;br /&gt;&lt;br /&gt;     &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;confirmButton.setOnClickListener(new View.OnClickListener() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            public void onClick(View view) {&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;               &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;           &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        });&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;You can check the entire text here: http://code.google.com/android/intro/tutorial-ex2.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3183163729685855153?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3183163729685855153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3183163729685855153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3183163729685855153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3183163729685855153'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/excellent-example-of-inner-class.html' title='Excellent Example of Inner Class'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-5510713731755201649</id><published>2008-03-03T05:26:00.000-08:00</published><updated>2008-03-03T05:28:01.604-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shell Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Switching between PL/SQL, Java and Shell Scripts</title><content type='html'>&lt;strong&gt;Calling a SQL script from another SQL script:&lt;br /&gt;&lt;/strong&gt;Suppose we have two script files, main.sql and sub.sql. To call sub.sql from main.sql write in main.sql:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;@sub.sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The SQL code in sub.sql will be run as if it is written in main.sql&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Calling a java method from a shell script:&lt;/strong&gt;&lt;br /&gt;We can only call main method of a class, by running that class with a java command line execution.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/ksh&lt;br /&gt;# Here I have already compiled Test.java&lt;br /&gt;echo "Running Test"&lt;br /&gt;java Test&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Calling a shell script from a Java method:&lt;/strong&gt;&lt;br /&gt;You can run it using exec method of Runtime Object. Sample code:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.util.*;&lt;br /&gt;import java.io.*;&lt;br /&gt;&lt;br /&gt;class Execx{&lt;br /&gt;public static void main(String args[])&lt;br /&gt;{&lt;br /&gt;    Runtime r=Runtime.getRuntime();&lt;br /&gt;    try{&lt;br /&gt;          r.exec("javaex.sh");&lt;br /&gt;    }catch(IOException e){&lt;br /&gt;          e.printStackTrace();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;But check this link also: &lt;a href="http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html"&gt;http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Calling a stored procedure from Java:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The following code puts the SQL statement into a string and assigns it to the variable createProcedure , which we will use later:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;String createProcedure = "create procedure SHOW_SUPPLIERS " +&lt;br /&gt;                 "as " +&lt;br /&gt;                 "select SUPPLIERS.SUP_NAME, COFFEES.COF_NAME " +&lt;br /&gt;                 "from SUPPLIERS, COFFEES " +&lt;br /&gt;                 "where SUPPLIERS.SUP_ID = COFFEES.SUP_ID " +&lt;br /&gt;                 "order by SUP_NAME";&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The following code fragment uses the Connection object con to create a Statement object, which is used to send the SQL statement creating the stored procedure to the database:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statement stmt = con.createStatement();&lt;br /&gt;stmt.executeUpdate(createProcedure);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The procedure SHOW_SUPPLIERS will be compiled and stored in the database as a database object that can be called, similar to the way you would call a method.&lt;br /&gt;&lt;br /&gt;JDBC allows you to call a database-stored procedure from an application written in the Java programming language. The first step is to create a CallableStatement object. As with Statement and PreparedStatement objects, this is done with an open Connection object. A CallableStatement object contains a call to a stored procedure; it does not contain the stored procedure itself. The first line of code below creates a call to the stored procedure SHOW_SUPPLIERS using the connection con. The part that is enclosed in curly braces is the escape syntax for stored procedures. When the driver encounters &lt;span style="font-family:courier new;"&gt;"{call SHOW_SUPPLIERS}”&lt;/span&gt;, it will translate this escape syntax into the native SQL used by the database to call the stored procedure named SHOW_SUPPLIERS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;CallableStatement cs = con.prepareCall("{call SHOW_SUPPLIERS}");&lt;br /&gt;ResultSet rs = cs.executeQuery();&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Calling PL/SQL procedure from shell script&lt;br /&gt;&lt;/strong&gt;This is easy. In the following example we have var1 available to us even after going in SQL Plus.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;br /&gt;var1='test'&lt;br /&gt;PROC_DATE="'2002-03-22'"&lt;br /&gt;sqlplus user/passwd@service &lt;&lt;&gt;&lt;br /&gt;&lt;strong&gt;Calling Shell Script from PL/SQL Procedure&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;This solution by Thomas Kyte has been taken from a Google group. This is a quick and dirty daemon.&lt;br /&gt;&lt;br /&gt;Here is a PL/SQL subroutine you can install in your schema:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;create or replace procedure host( cmd in varchar2 )&lt;br /&gt;as&lt;br /&gt;  status number;&lt;br /&gt;begin&lt;br /&gt;  dbms_pipe.pack_message( cmd );&lt;br /&gt;  status := dbms_pipe.send_message( 'HOST_PIPE' );&lt;br /&gt;  if ( status &lt;&gt; 0 ) then raise_application_error( -20001, 'Pipe error' );&lt;br /&gt;  end if;&lt;br /&gt;end;&lt;br /&gt;/&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Here is a Shell script you can run in the background (make sure it is named host.sh)&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;#!/bin/csh -f&lt;br /&gt;sqlplus tkyte/tkyte &lt;&lt;"EOF"  grep '^#'  sed 's/^.//' &gt; tmp.csh&lt;br /&gt;set serveroutput on&lt;br /&gt;declare&lt;br /&gt;      status  number;&lt;br /&gt;      command varchar2(255);&lt;br /&gt;begin&lt;br /&gt;      status := dbms_pipe.receive_message( 'HOST_PIPE' );&lt;br /&gt;      if ( status &lt;&gt; 0 ) then&lt;br /&gt;              dbms_output.put_line( '#exit' );&lt;br /&gt;      else&lt;br /&gt;              dbms_pipe.unpack_message( command );&lt;br /&gt;              dbms_output.put_line( '##!/bin/csh -f' );&lt;br /&gt;              dbms_output.put_line( '#'  command );&lt;br /&gt;              dbms_output.put_line( '#exec host.csh' );&lt;br /&gt;      end if;&lt;br /&gt;end;&lt;br /&gt;/&lt;br /&gt;spool off&lt;br /&gt;"EOF"&lt;br /&gt;&lt;br /&gt;chmod +x tmp.csh&lt;br /&gt;exec tmp.csh&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If you run this in the background (The script), you'll be able to have it execute any host command you want.  Run this in one window for example and in anther window go into sql*plus and try:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; exec host( 'ls -l' );&lt;br /&gt;SQL&gt; exec host( 'uptime' );&lt;br /&gt;SQL&gt; exec host( 'echo Hello World' );&lt;br /&gt;SQL&gt; exec host( 'exit' );&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You'll see the output of ls -l, uptime, and echo happen on the other window where the shell script is running and you'll get real time feedback from your pl/sql procedure).&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-5510713731755201649?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/5510713731755201649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=5510713731755201649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5510713731755201649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5510713731755201649'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/switching-between-plsql-java-and-shell.html' title='Switching between PL/SQL, Java and Shell Scripts'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-5184406618791167336</id><published>2008-03-03T05:10:00.000-08:00</published><updated>2008-03-03T05:13:53.019-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='E-Business Suite'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Using SQL*Loader Utility through E-Business Suite Front End</title><content type='html'>This brief article explains how to create concurrent programs, in E-Business Suite 11i of Oracle Applications, to use SQL*Loader utility for loading data in backend database tables. I assume that you already have knowledge of using SQL*Loader through command prompt.&lt;br /&gt;&lt;br /&gt;As you would be aware of the fact, that the concurrent programs or requests are specific for an application (or responsibility) so you will have to decide the application in which you want to keep your request in, like GL (General Ledger) or AP (Account Payables) or any other application. This is important because you will be able to see your request only when you are logged in this particular application (or responsibility).&lt;br /&gt;&lt;br /&gt;Place your Control File in the &lt;em&gt;$APPL_TOP/11.5.0/bin&lt;/em&gt; of your application. (e.g. I am keeping my control file in AP and hence the corresponding directory is &lt;em&gt;/u02/apps/visappl/ap/11.5.0/bin&lt;/em&gt;. It may be different for your system). This is all you have to do at the backend.&lt;br /&gt;&lt;br /&gt;Log in the E-Business Suite in ‘System Administrator’ responsibility.&lt;br /&gt;&lt;br /&gt;First we need to define the Executable for the Concurrent Program. Basically this step specifies the Execution Method and Execution File Name our Concurrent Program will be using.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Go Concurrent:Program:Executable&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Enter Executable (any name you want to give), Short Name, Application (Select the same application, where you have kept your Control File), Execution Method (Select SQL*Loader), Execution File Name (name of your Control File, without extension. The system locates this file in the path where you kept it, the &lt;em&gt;/bin&lt;/em&gt; of the application you specified above). Save the record.&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Go Concurrent:Program:Define&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;OK, time to define the program. Enter Program Name, Short Name, Application (Select the same application, where&lt;br /&gt;you have kept your Control File and which you selected while creating Executable). Enter the Executable (Select the executable you created above). Save the record.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Go Concurrent:Set&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Now we have to add our Concurrent Program to a request set. A Request Set clubs many Concurrent Programs together and they are executed according to 'stages'. Each stage is given a 'Display Sequence' which, as the name suggests, controls the execution order. Your set may have only one stage, which means that it has only one Concurrent Program associated with it.&lt;/p&gt;&lt;p&gt;Enter Set name, Set Code, Application (same as selected earlier). Press 'Define Stages' button. Enter Display Sequence (give 1), Stage name and Stage Code. Press 'Requests' button. Now we have to associate the Program name with this stage. Enter Sequence, Program name (same as given to the Concurrent Program defined earlier). Save everything.&lt;/p&gt;&lt;p&gt;And you are done! Switch to the responsibility you defined the request for and submit the request for running your Concurrent Program.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-5184406618791167336?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/5184406618791167336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=5184406618791167336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5184406618791167336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/5184406618791167336'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/using-sqlloader-utility-through-e.html' title='Using SQL*Loader Utility through E-Business Suite Front End'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-1775693798651022549</id><published>2008-03-02T10:39:00.001-08:00</published><updated>2008-03-03T05:09:25.910-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Writer'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='picasa'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Live'/><category scheme='http://www.blogger.com/atom/ns#' term='blogs'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><title type='text'>Using Windows Live Writer</title><content type='html'>Microsoft has created an offline blogging tool: Windows Live Writer. Connect to internet (even to install it!), register your blog account, it will download the template settings of your blog and done! You can compose your post, save it as draft if you don't want to publish it right away and publish it when you want/have connectivity. Simple!&lt;br /&gt;&lt;br /&gt;Yesterday in &lt;a href="http://indiblogger.in"&gt;IndiBlogger&lt;/a&gt; meet they gave demo of this software and here I am; trying my hands on it. And I believe at least 50 of the 70 odd bloggers shall try it out. Cost involved: 70 odd pizzas!  &lt;p&gt;You can add your blogs from &lt;a href="http://blogger.com"&gt;Blogger.com&lt;/a&gt;, &lt;a href="http://wordpress.com"&gt;Wordpress.com&lt;/a&gt;, &lt;a href="http://LiveJournal.com"&gt;LiveJournal.com&lt;/a&gt;, &lt;a href="http://spaces.live.com"&gt;LiveSpaces.com&lt;/a&gt; (obviously!) and some others. I could not find any documentation about what all it supports.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;They say you can insert maps. You surely can, but only US maps! So I will insert one of Texas where the all important 4th March primaries have to be held!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:84E294D0-71C9-4bd0-A0FE-95764E0368D9:8bc0bfa1-b31b-47ee-8c4a-fa7671c746bc" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;a href="http://maps.live.com/default.aspx?v=2&amp;amp;cp=28.30438%7E-99.44824&amp;amp;lvl=5&amp;amp;style=r&amp;amp;mkt=en-US&amp;amp;FORM=LLWR" id="map-44e59bbc-f3ce-4e01-8b98-f6eb09a0a5ef" alt="Click to view this map on Live.com" title="Click to view this map on Live.com"&gt;&lt;img src="http://lh4.google.com/iAbhishek/R8r0YKX14JI/AAAAAAAACyI/qTnUCxNbGWo/map64ed377b3f2c" alt="Map image" height="240" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;It said 'Update Weblog Style'. I tried doing that and nothing has happened so I guess that works with Windows Live Spaces only.&lt;/p&gt;  &lt;p&gt;A good feature is that you can add tags. Both external tags (&lt;a href="http://Technorati.com"&gt;Technorati&lt;/a&gt;,&lt;a href="http://del.icio.us"&gt;del.icio.us&lt;/a&gt; etc.) and internal (Blogger.com or Wordpress.com tags). For the latter use 'Set categories' at the bottom of screen.&lt;/p&gt;  &lt;p&gt;You can add plug-ins. There are quite a few on Windows Live Gallery. At least more than the gadgets available for Live.com and most of them were unimpressive and useless. However developers have created nifty plug-ins that interface with other sites like Picasa and &lt;a href="http://Flickr.com"&gt;Flickr&lt;/a&gt;. I downloaded 'Flickr4Writer' and inserted following Flickr picture using this.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="pan1-copy" href="http://www.flickr.com/photos/15451603@N00/1797784643/"&gt;&lt;img alt="pan1-copy" src="http://static.flickr.com/2346/1797784643_3514130c35.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;One good thing is that you can add multiple ping servers (like &lt;a href="http://pingomatic.com"&gt;pingomatic.com&lt;/a&gt;) and each time you publish a post the server will be notified.&lt;/p&gt;  &lt;p&gt;Live Writer is pretty nifty tool. However with Microsoft you can expect some kind of lockin! There is no Linux or Mac version (Well these guys said that you can't even run it on Windows NT Server!) and the posts are saved in proprietary '.wpost' format.&lt;/p&gt;  &lt;p&gt;Give it a try. It is good.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-1775693798651022549?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/1775693798651022549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=1775693798651022549' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/1775693798651022549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/1775693798651022549'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/03/using-windows-live-writer.html' title='Using Windows Live Writer'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-4890697304674755444</id><published>2008-02-27T06:08:00.000-08:00</published><updated>2008-02-27T06:45:51.978-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sun'/><title type='text'>Sun Tech Days 2008 - Day 1 Disappoints!</title><content type='html'>This was 10th anniversary of Sun Tech Days and expectations were running understandably very high. Having attended the event last year, I was expecting higher standards both in content as well as event organization.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/R8V3PQidM2I/AAAAAAAACx4/Hr0-q6pWlNY/s1600-h/STD.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/R8V3PQidM2I/AAAAAAAACx4/Hr0-q6pWlNY/s320/STD.JPG" alt="" id="BLOGGER_PHOTO_ID_5171670851126113122" border="0" /&gt;&lt;/a&gt;HICC's 5000 capacity hall is huge and I still remember the last year's keynote which had entire hall packed and still people were standing. But this year the keynote took place in only Hall 3 and 4 combined (entire hall is composed of 4 halls), which is nearly 60% of the entire hall. Was the attendance this low this year?&lt;br /&gt;&lt;br /&gt;Address by Sun India CTO Divyeshwar Shah was ok, but it was Rich Green, EVP Sun Microsystems, whom everyone was waiting for. And was the person on stage really Rich Green I have heard about? This person seemed to be some marketing guy from Sun Microsystems who showed marketing slides about almost ALL Sun products! What a yawn!&lt;br /&gt;&lt;br /&gt;Technology demos were tiresome, stale and unimpressive! Snow and rain effects on Solaris desktop and creating an application using jMaki are Sun's ideas of 'Tomorrow's Technologies'? Compared to the technology showcase last year which launched JavaFX with a bang, this was stale as a fungus infected bread!&lt;br /&gt;&lt;br /&gt;Most of the other technical sessions are mediocre at best. The sessions on AJAX, jMAKI and RIA were 'oh so yesterday' and the one of JRuby was over before you can spell 'Ruby On Rails' (ok, it lasted more than that!). But I have heard that NetBeans Profiling and JavaFX were pretty good.&lt;br /&gt;&lt;br /&gt;I am going tomorrow as well. Let's hope things turn out better!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-4890697304674755444?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/4890697304674755444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=4890697304674755444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4890697304674755444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4890697304674755444'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2008/02/sun-tech-days-2008-day-1-disappoints.html' title='Sun Tech Days 2008 - Day 1 Disappoints!'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/R8V3PQidM2I/AAAAAAAACx4/Hr0-q6pWlNY/s72-c/STD.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-4400256392618150473</id><published>2007-12-20T23:09:00.000-08:00</published><updated>2007-12-20T23:22:02.665-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>What is IE7 upto?</title><content type='html'>I admit that my most popular blog is not &lt;span style="font-style: italic;"&gt;that &lt;/span&gt;popular, but that doesn't mean that I will tolerate any body messing up with it!&lt;br /&gt;&lt;br /&gt;Have a look at this: &lt;a href="http://removing.blogspot.com/"&gt;http://removing.blogspot.com&lt;/a&gt;&lt;br /&gt;If you are reading this blog in Firefox, you won't notice a thing (except my posts ofcourse!) but if you are on IE, you will see something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AUe0oi3jIxo/R2to9fULeII/AAAAAAAABvc/IMvk_Gms834/s1600-h/ie.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/R2to9fULeII/AAAAAAAABvc/IMvk_Gms834/s320/ie.PNG" alt="" id="BLOGGER_PHOTO_ID_5146322404788369538" border="0" /&gt;&lt;/a&gt;These 'comments' have been inserted by blogger when I draft the post, and since these are comments they should not be displayed. Right?&lt;br /&gt;&lt;br /&gt;Wrong, if I am using IE!&lt;br /&gt;&lt;br /&gt;What is it? Why is it? When will it be over?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-4400256392618150473?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/4400256392618150473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=4400256392618150473' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4400256392618150473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/4400256392618150473'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/12/what-is-ie7-upto-i-admit-that-my-most.html' title='What is IE7 upto?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/R2to9fULeII/AAAAAAAABvc/IMvk_Gms834/s72-c/ie.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3739597760821980417</id><published>2007-08-02T05:56:00.000-07:00</published><updated>2007-08-02T22:40:04.156-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Why has Microsoft begun to impress me?</title><content type='html'>When Steve Ballmer said pompously (yeah, that was downright pompous!) 'We won the desktop. We won the server. We will win the Web. We will move fast, we will get there. We will win the Web.', everyone thought this is version 2.0 of Bill Gates's infamous outburst against Google and its founders.&lt;br /&gt;&lt;br /&gt;But fed on the Windows and Office dollars, Microsoft actually seems to be pushing towards being a VERY significant player in web domain, if not the winner.&lt;br /&gt;&lt;br /&gt;Talking in terms of web-search pie, Microsoft's Live Search is still distant 3rd behind Google and Yahoo, but consider this: While Google Search grew by 44% YoY iin terams of search volume and Yahoo managed only 20%, Live Search leapt by 77%. MS is also in fierce competition with Google in race of acquiring nice search providers (like &lt;a href="http://www.medstory.com/"&gt;MedStory&lt;/a&gt;,a medical provider)&lt;br /&gt;&lt;br /&gt;And to Microsoft's credit, Live Search has also begun &lt;a href="http://blogs.zdnet.com/BTL/?p=5320"&gt;impressing cynics &lt;/a&gt;and critics. Though they had to tone down their radically new search interface, they still have managed to be somewhat &lt;a href="http://blogs.zdnet.com/BTL/?p=5747"&gt;better than Yahoo&lt;/a&gt; in this regard!&lt;br /&gt;&lt;br /&gt;But what made me write all this is actually none of this!&lt;br /&gt;&lt;br /&gt;Did you know MS has released its own mashup editor called &lt;a href="http://popfly.ms/"&gt;Popfly&lt;/a&gt;(.ms! Heck they even got an DNS registered for that, there must be many others coming) and to run it you will need to install a Microsoft runtime called &lt;a href="http://www.microsoft.com/silverlight/default.aspx"&gt;SilverLight&lt;/a&gt;? (Well I didn't know that till very recently and managed to get an invitation for Popfly. Whoopeee!!!!!!)&lt;br /&gt;&lt;br /&gt;Which brings them head-to-head with Adobe, whose Flash has now become the de-facto standard for rendering RIA (Rich Internet Applications). This is what wikipedia says about SilverLight:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;"&gt;Microsoft Silverlight (code-named Windows Presentation Foundation/Everywhere or WPF/E) is a runtime for browser-based Rich Internet Applications, providing a subset of the animation, vector graphics, and video playback capabilities of Windows Presentation Foundation. Version 1.1 also includes a complete version of the .NET Common Language Runtime, named CoreCLR so that Silverlight applications can be written in any .NET language.&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;Simply put, Microsoft SilverLight is positioned against Adobe Flex, and Sun Microsystem's Java FX. Also note that they are making .NET more lucrative once again and positioning as a tool for developing RIA as well.&lt;/p&gt;&lt;p&gt;So while everyone is harping about Google's hyped entry in Microsoft's backyard of desktop applications, it seems Microsoft is working hard to reaching 'there'!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3739597760821980417?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3739597760821980417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3739597760821980417' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3739597760821980417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3739597760821980417'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/08/why-has-microsoft-begun-to-impress-me.html' title='Why has Microsoft begun to impress me?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-7953549537626862208</id><published>2007-06-22T06:43:00.000-07:00</published><updated>2007-06-22T06:46:55.755-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orkut'/><title type='text'>Online Privacy on Orkut</title><content type='html'>Everyone has got a story of how their long forgotten friend from school/college/ last-to-last-to-last-to-last company met them on Orkut after so many years!&lt;br /&gt;&lt;br /&gt;And undoubtedly Indians are a sizable community on Orkut. But is Orkut taking shape of another MySpace which has already turned into a ready-to-use database of information for cyber crimes?&lt;br /&gt;&lt;br /&gt;How to keep safe on Orkut? Follow these simple guidelines!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don't make your profile a goldmine for spammers and scamsters!&lt;/span&gt;&lt;br /&gt;Guys, guys, guys! When will you understand that keeping your mobile number as part of your Name won't lead to more girls calling you? Neither your email-id help in getting you more friend requests! The only people who will love to have your contact information are spammers and telecallers. So give your mobile numbers and email ids in your profile and you can expect more spam in your mail box and more useless calls on your phone. This is just the tip of iceburg. Imagine other nasty uses of email-id and phone number and you are inviting all this mess!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don't keep a photo which is big enough to be defaced/misused!&lt;/span&gt;&lt;br /&gt;Specially for females this one! Your profile picture (if you keep your own photo at all) should have your face small enough so that it can't be misused in any manner (I hope you know the power of Photoshop). Do NOT keep any of your intimate photos in your orkut album. I suggest that for females, ideal profile pics are those taken from a distance and side poses (called 'profile views' in photography lingo!)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Try not to share email/phone number by scraps.&lt;/span&gt;&lt;br /&gt;Messaging is a good option in Orkut, rarely used! Avoid giving someone your mail-id/phone number by scrap. Use email or messaging. However if scrapping this information, ask them to delete the scrap after taking it down or do it yourself.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Never talk work related stuff on scraps.&lt;/span&gt;&lt;br /&gt;Not only work, any confidential chat should not be done on orkut. Apart from obvious threats, who knows your boss might be lurking there, visiting your and your colleagues' scrapbooks! And this is not a far fetched fantasy. A friend had such a TL in his previous company!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;There is not a race going on for maximum number of friends!&lt;/span&gt;&lt;br /&gt;Do NOT accept the friendship request from anyone you don't know/trust. Even if it is from opposite sex. You don't know who could be out there creating a fake profile!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don't click on luring URLs.&lt;/span&gt;&lt;br /&gt;Do NOT click on any URLs given by enticing profiles, promising whatever! Orkut and Google have raised warnings very often about viruses being transmitted in this manner.&lt;br /&gt;&lt;br /&gt;Online Privacy is very important and is going to be more so in days to come, but this is like safety from AIDS! There is no cure, only prevention can keep you safe!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-7953549537626862208?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/7953549537626862208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=7953549537626862208' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7953549537626862208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7953549537626862208'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/06/online-privacy-on-orkut.html' title='Online Privacy on Orkut'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-7074307058020839332</id><published>2007-05-28T06:17:00.000-07:00</published><updated>2007-05-28T06:18:45.865-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>Will Google Video go the Yahoo Photos way?</title><content type='html'>Being in a product development company, I can very well understand the emotions and fears developers undergo when their company goes ahead and buys out their biggest competitor which overshadows the product these guys were working on!&lt;br /&gt;&lt;br /&gt;So in this sense, Yahoo Photos developers must be bit relaxed now, that Yahoo has finally decided to lay it to rest. Yahoo has decided to march ahead in photo management arena with Flickr which it bought long back and which it has been trying to position in photo management as well as community networking segments. Flickr had generated a lot of buzzword and gained a lot many eyeballs as soon as it was launched, with its theme of 'sharing' and extensive use of tagging concept. Somehow Yahoo Photos had started losing steam and even its albums though lot more intuitive and familiar seemed outdated as compared to Flickr tags!&lt;br /&gt;&lt;br /&gt;But now I am speculating about the future of Google Videos. Now that Big G has in its kitty the Big Y (YouTube, YouMoron!), does it really make sense for them to support two video sites? Already Google has started listing YouTube videos along side its Google Video content for search results. (OK, I agree that doesn't give anything, but didn't I say that I am speculating) YouTube is already mired in controversies over lawsuits. It is very much possible that they will have to remove a lot of content from YouTube and may be Google Videos, so rather than having two depleted sites competing with each other, why not have one to rule the roost? In other scenario, if Google pays the money to claimants, again it makes sense to continue with one big player, and my vote for existence goes to YouTube.&lt;br /&gt;&lt;br /&gt;But didn't I say, I am just speculating?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-7074307058020839332?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/7074307058020839332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=7074307058020839332' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7074307058020839332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/7074307058020839332'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/05/will-google-video-go-yahoo-photos-way.html' title='Will Google Video go the Yahoo Photos way?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-2923741406267201906</id><published>2007-03-13T21:55:00.000-07:00</published><updated>2007-03-13T22:01:00.281-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Predicting the Future of YouTube</title><content type='html'>Doomsayers have had their field day! Viacom has filed a 1bn$ lawsuit against YouTube and its parent company Google for copyright infringement and also wants YouTube to be prohibited from hosting anyother video of theirs.&lt;br /&gt;&lt;br /&gt;Blogdom is buzzing with experts analyzing this news and almost everybody is anticipating more lawsuits coming Google's way. Larry Dignan calls it nearing of &lt;a href="http://blogs.zdnet.com/BTL/?p=4645"&gt;'YouTube's end game'&lt;/a&gt; and Donna Bogatin goes to extent of calling Google as &lt;a href="http://blogs.zdnet.com/micro-markets/?p=1094"&gt;'Internet Bubble 2.0'&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I feel Donna might have gone too far with that statement but the fact remains that atleast one of the fears of Larry Page and Sergey Brin about making Google a public company has indeed proved to be true. Google has become a behemoth and that makes it much more enviable and much more susceptible to scrutiny and scathing rival attacks. People are suing Google left, right and centre over any issue they can find. So if AFP and Belgian Newspapers have to sue Google News for showing their news (which they can very easily avoid, if they want), publishers across the world sue Google Book Search and now Viacom has opened Pandora's box for YouTube.&lt;br /&gt;&lt;br /&gt;What is the future for YouTube? Dignan thinks YouTube will loose its sheen if all professional content is removed. That is undoubtedly true. But there are two possibilities:&lt;br /&gt;&lt;br /&gt;1) Shift in the origin of professional content: If western media companies don't share their content, maybe Asian companies will want to fill the void and make good of the opportunity. This is not that farfetched as it may seem. &lt;a href="http://news.com.com/2061-10811_3-6164939.html?part=rss&amp;tag=2063-10811_3-0&amp;amp;subj=news"&gt;Internet is spreading fast&lt;/a&gt; in India and this media is ripe for marketing.&lt;br /&gt;&lt;br /&gt;2) More advertising/marketing oriented content: If Adidas and Nike ad videos are being added to favorites or someone is posting the new promo of a Karan Johar movie to her blog, I don't see anyone complaining. I sincerely believe that we have a nice ad avenue here waiting to be tapped, specially for Indian companies.&lt;br /&gt;&lt;br /&gt;However the simplest way out could be Google throwing its weight around and getting some media tieups! This is actually possible and we should see this happening pretty soon.&lt;br /&gt;&lt;br /&gt;I may not be the greatest Google fan ever but then who would want the 'Invention of the Year 2006' go bust so soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-2923741406267201906?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/2923741406267201906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=2923741406267201906' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2923741406267201906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2923741406267201906'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/03/doomsayers-have-had-their-field-day.html' title='Predicting the Future of YouTube'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-2482616028335027960</id><published>2007-02-22T23:36:00.000-08:00</published><updated>2007-02-23T00:49:39.715-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle in Sun Tech Days India 2007</title><content type='html'>&lt;p&gt;The first two days of Sun Tech Days India have already finished. It is Netbeans and Open Solaris day on 3rd and final day, that is today! &lt;a href="http://picasaweb.google.com/iAbhishek/SunTechDays"&gt;Pics&lt;/a&gt;&lt;/p&gt;&lt;p&gt;For those who don't know, Sun Tech Days is a worldwide Java developers' conference organized by Sun Microsystems and its India leg 2007 was held in Hyderabad and really had people coming from far and wide. &lt;/p&gt;&lt;p&gt;It is being held in Hyderabad International Convention Center, Hyderabad and thousands have attended it. There have been keynote sessions from Sun, Oracle and VMWare. I attended only one keynote from Oracle, which was grandiously titled, 'Next Generation platform'. &lt;/p&gt;&lt;p&gt;Oracle flaunts the fact that it's products follow all the open &lt;a href="http://www.oracle.com/ad/standards.jpg"&gt;standards&lt;/a&gt; and that many of its products and standards support or leverage the open source. Continuing on the same lines, this keynote proposed integration of JavaEE 5 (EJB 3.0 specially) , SOA 2.0 and Web 2.0 to develop a new generation application development platform. And what can be better than being on an 'All-Oracle-Platform' ;-) &lt;/p&gt;&lt;p&gt;How serious is Oracle about these standards, is clear from the fact that recently released &lt;a href="http://searchoracle.techtarget.com/originalContent/0,289142,sid41_gci1243290,00.html?track=sy40"&gt;WebCenter Suite 2.0&lt;/a&gt; incorporates facility for integration of things like blogs, RSS Feeds and wikis. It could be a ploy for habituating both developers as well as enterprise customers for Fusion when it comes out in 2008, but I am glad that Oracle has led the trend for 'Enterprise Mashups'. Just hoping that Enterprises don't mess this up!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-2482616028335027960?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/2482616028335027960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=2482616028335027960' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2482616028335027960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/2482616028335027960'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/02/oracle-in-sun-tech-days-india-2007.html' title='Oracle in Sun Tech Days India 2007'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-9137377212861364073</id><published>2007-02-20T01:28:00.000-08:00</published><updated>2007-02-20T01:47:13.727-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><title type='text'>New kid on Web Search Block: Fazzle.com</title><content type='html'>Larry Dignan made a good point about innovation in this post: &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://blogs.zdnet.com/BTL/?p=4377" rel="bookmark" title="Permalink"&gt; Do your part: Visit an alternative search engine&lt;/a&gt; by &lt;a href="http://zdnet.com"&gt;ZDNet&lt;/a&gt;'s Larry Dignan -- Charles S. Knight has compiled a handy list of the top 100 alternative search engines on Read/Write Web. The one problem: No one has time to check them out. Indeed, Knight notes that people use the four main search engines (Google, Yahoo, MSN and Ask.com) for 99.9% of their searches. That fact leads to another [...]&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;So I decided to give a try to atleast a couple of search engines mentioned in that blog.&lt;br /&gt;&lt;br /&gt;I tried Fazzle.com and then I tried to compare the relevance of results (put more simply, I tried to check if I am able to find what I want to, on first page) with Big Daddy of them all, Google. Honestly speaking my faith on Google was somewhat shaken: Fazzle was showing better results!&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5033547685593771426" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_AUe0oi3jIxo/RdrA83_ObaI/AAAAAAAAAC8/5C48ZiDMcaI/s320/Fazzle.JPG" border="0" /&gt;&lt;br /&gt;But Google obviously has its strengths so now though Fazzle is my default search engine in IE7, Google Desktop's floating bar is also present on my desktop. &lt;/p&gt;&lt;p&gt;A nice feature of Fazzle is that you can see the preview of any search result page, on the results page only, and hence don't need to open the page to see, if it really has what you want. However, we as Googlers might feel search box a bit too tiny! Several other search options like audio,video,images,downloads etc are also there, but I haven't used them. There is also a news listing on the lines of Google News, but I didn't find it as good!&lt;/p&gt;There are some observations that I would have liked to share with you, but for now, they are too immature! So try out Fazzle and other engines. There would definitely be something different from Google&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-9137377212861364073?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/9137377212861364073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=9137377212861364073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/9137377212861364073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/9137377212861364073'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/02/new-kid-on-web-search-block-fazzlecom.html' title='New kid on Web Search Block: Fazzle.com'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AUe0oi3jIxo/RdrA83_ObaI/AAAAAAAAAC8/5C48ZiDMcaI/s72-c/Fazzle.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3250736754944270185</id><published>2007-02-16T03:54:00.000-08:00</published><updated>2007-02-16T04:39:17.917-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Live'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Microsoft enhances Windows Live Services</title><content type='html'>Microsoft has been sprucing its Live.com services lately, though things are yet a little patchy and at times they simply won't work!&lt;br /&gt;&lt;br /&gt;I saw a nice feature in Live Mail today. If you get a .mp3/.wma file as an attachment, you can directly play the file from your inbox. Live Mail shows a play-pause-volume toolbar in the message. I don't know if it works for other media formats as well.&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5032106582332042514" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_AUe0oi3jIxo/RdWiRn_ObRI/AAAAAAAAABY/C5AycItXXsc/s320/hotmail.JPG" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;I just wish they could make the actions a bit faster. Switching views (like moving from Inbox to Sent to Folders) is much slower than GMail or Yahoo! Mail.And why was it showing a mail from IRCTC.co.in as phishing attempt? That message didn't even ask me to login anywhere!&lt;br /&gt;&lt;br /&gt;If you are using Live.com, then you can select many more gadgets which are available in Live Gallery. Microsoft seems to be positioning Live as a one stop shop for all the users of MSN Space, Live.com and Vista users who have got Sidebar on their desktops. However the number of gadgets is still much lesser as compared to Google's collection.&lt;br /&gt;&lt;br /&gt;And perhaps you can also share your feed collection on Gallery. But I have not been able to do this. Each time I try to publish my setting Gallery shows an error!&lt;br /&gt;&lt;br /&gt;Read in Economic Times that MS is increasing the Google War Chest! God help them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3250736754944270185?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3250736754944270185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3250736754944270185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3250736754944270185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3250736754944270185'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/02/microsoft-enhances-windows-live.html' title='Microsoft enhances Windows Live Services'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_AUe0oi3jIxo/RdWiRn_ObRI/AAAAAAAAABY/C5AycItXXsc/s72-c/hotmail.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-3934675998215696242</id><published>2007-02-15T02:38:00.000-08:00</published><updated>2007-02-16T04:39:57.446-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Office Online: Away from the headlines!</title><content type='html'>If you have been singing praises of Google for Google Docs, Google Spreadsheets and Google Calendar, I would recommend that you test other options as well.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://30boxes.com"&gt;30boxes.com&lt;/a&gt;: Hailed by Kiko.com (First online calendar service, that went out of business and ultimately put itself for sale on Amazon, and hence created more news than they ever did while still in business!) as the reason they were outdone. It may not be 'your life', but still a good for everything service. You can add entries, search through them, share with your friends ('buddies'), subscribe in Google, Yahoo etc. There is even a 'webtop' (looks pretty much same as the &lt;a href="http://goowy.com"&gt;Goowy&lt;/a&gt; webtop)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://billmonk.com"&gt;BillMonk.com&lt;/a&gt;: Ah, this is something I am in real love with! If you are sharing flat with other roommates, or sharing the expenses of your sunday dinner with 5 other colleagues or have been exchanging novels with friends and find it a little incovenient to keep a track of who-has-to-pay-how-much-to-whom and who-spent-how-much-on-which-day this site is Godsent for you. Very well designed, this site gives you enough flexibility to manage these transactions with amazing ease. You can coordinate with your partners also and any loans/borrowings will be updated in the accounts of all the people party to expenditure. Try it out atleast once! Highest Recommendation!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://thinkfree.com"&gt;ThinkFree.com&lt;/a&gt;: They seem to have a one-point-agenda, kill Office through Office! So what you have here is an application that lets you create slideshows, word documents and spreadsheets in an interface and featureset which is a photocopy of Microsoft Powerpoint, Word and Excel. You can save your files online or on desktop. You can upload files and edit them and save on desktop/webtop. It could be a little slow at times, as java applet is little heavy and takes time to start, but once started it is a breeze!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-3934675998215696242?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/3934675998215696242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=3934675998215696242' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3934675998215696242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/3934675998215696242'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2007/02/office-online-away-from-headlines.html' title='Office Online: Away from the headlines!'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-115590323777079512</id><published>2006-08-18T05:01:00.000-07:00</published><updated>2007-02-16T04:40:24.061-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Live'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Windows Live Mail (beta): Hotmail spruced up</title><content type='html'>Microsoft is spending billions to spruce up its web based service operations and all the web services are being now brought under the banner of 'Live'. And to counter the Google's onslaught that started with mail (GMail) and is now directly challenging MS Office applications with Google Calendar, Google Spreadsheets and Writely (online word processor), Microsoft is going to push Live brand with great aggression.&lt;br /&gt;&lt;br /&gt;So our good ol' Hotmail is now being converted to Windows Live Mail with a whopping 2GB mail box and 10 MB attachment size. And thankfully size is not the only thing that make it a much improved version of Hotmail.&lt;br /&gt;&lt;br /&gt;The mail box looks more like Outlook now, as the mail can be read with a single click in a third pane which can be put below the mail list or right to it or just turned of. This feature would be familiar to users of new Rediffmail in which mail can be previewed below the mail list contents. But flexibility in positioning the pane makes it better.&lt;br /&gt;&lt;br /&gt;The mails can be dragged and dropped in folders, again like rediffmail. Files can be attached faster and in much like GMail way, write while the file is attached. Addresses are prompted as you type them, a standard feature in almost all the mail services now. I was shocked that Hotmail doesn't have it.&lt;br /&gt;&lt;br /&gt;You can add picture of your contacts now, something that is not seen anywhere else at present. This seems to be an integration with Live Spaces (again MSN Spaces is being carried forward)&lt;br /&gt;&lt;br /&gt;The skin color can be changed but I suggest you don't do it as the optional colors are horrible! You can choose from a number of languages for your account if you don't want English. I chose Francaise as my default language and now my french has improved a lot :)&lt;br /&gt;&lt;br /&gt;Message composition has a new feature. You can insert a 'Search Link' on any word or phrase and when clicked a new MSN Search page with the given word/phrase as query.&lt;br /&gt;&lt;br /&gt;I have not said anything about in-built Outlook-like shareable calendar. But almost everyone gives a shareable calendar.&lt;br /&gt;&lt;br /&gt;All in all the new Live Mail is another attempt of MS playing catch up with others. The best thing is that at least now it is as lucrative as others, if not more. We will have to see what more services MS is launching and how Live Mail fits in this scheme&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-115590323777079512?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/115590323777079512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=115590323777079512' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/115590323777079512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/115590323777079512'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2006/08/windows-live-mail-beta-hotmail-spruced.html' title='Windows Live Mail (beta): Hotmail spruced up'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-114993907519166876</id><published>2006-06-10T04:19:00.000-07:00</published><updated>2007-02-16T04:40:53.765-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Google Spreadsheets : Spread Across Network</title><content type='html'>Microsoft may not yet be &lt;a href="http://blogs.zdnet.com/BTL/index.php?p=3169"&gt;losing sleep&lt;/a&gt; over Google's seemingly real WebOffice threat, as yet (and I think some of the things they are saying may be correct as well,combined with present user behavior) but are they really being arrogant or online Productivity Applications (MS Office or Open Office like applications such as PowerPoint or Excel or Calendar) a fad which eventually will pass?&lt;br /&gt;&lt;br /&gt;Well leaving that debate to MS and Google, I decided to use Google Spreadsheets. Again you have to sign up and wait for the invite: "First Come,First Served".&lt;br /&gt;&lt;br /&gt;I had read earlier that Spreadsheets will affect Excel usage heavily. Can't predict that as yet,but if your use is limited to entering/importing data (.xls and .csv supported) and performing mathematical,financial or statistical formulae on it and you don't need to advanced stuff like creating macros (in short use it like a basic spreadsheet only!) then you are in familiar territory. So apart from allowing importing and exporting data in .xls and .csv formats and preserving formatting done in MS Excel, (i.e. all the text and background colors, as well as fonts are preserved), Google Spreadsheets lets you do almost everything (exceptions as mentioned above) that Excel does.&lt;br /&gt;&lt;br /&gt;The formula library is extensive and almost all the functions of Excel are available,but Excel has categorized them, which is not the case here.&lt;br /&gt;Some of the Excel Shortcuts do not work. Insertion of rows and columns is farely basic and I enjoyed doing most of the actions. Google has always earned an honorable mention in UI department and it shows.&lt;br /&gt;'Autosave' introduced with Google Homepage are here also, so your data is saved periodically as you are working on it.&lt;br /&gt;Extra worksheets too can be added.&lt;br /&gt;But these are not the guiding factors for deciding use of Google Spreadsheets.&lt;br /&gt;&lt;br /&gt;Since this is an online application, your data is online and available from any where. Add to this the feature that you can invite other people for editing or viewing your file simultaneously. So if you have to share a file with someone else, then rather than updating the file and sending it by mail, it would be better if both of you can access the file simultaneously and decide the edits, through an inbuilt real-time chat! And it is so easy, you don't have to be a geek to do this.&lt;br /&gt;&lt;br /&gt;This is the single reason, I believe Google is betting their buck.&lt;br /&gt;&lt;br /&gt;The site is Web 2.0 enabled, which is obvious since Google has provided AJAX support to almost all its new applications (Gmail, Calendar, Maps, Google Homepages) and shown its intentions of promoting AJAX with &lt;a href="http://code.google.com/apis/ajaxsearch/"&gt;AJAX Search API&lt;/a&gt;. (&lt;a href="http://d.1asphost.com/abhishekasthana29/index.html"&gt;Demo&lt;/a&gt; of AJAX Search API).&lt;br /&gt;&lt;br /&gt;There are some issues which spoil the party however. The default spreadsheet size is very small (only 20x100) but since rows and columns can be added, you can manage. But a large Excel file can not be imported! Also some of the test files, which I uploaded, were not imported properly and only a part of sheet (having the data ofcourse) appeared.&lt;br /&gt;&lt;br /&gt;But I am hopeful that Google will sort out these issues very soon. True, that they have made mockery of 'Beta' (Gmail is still in beta!) but let's trust them. Try it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-114993907519166876?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/114993907519166876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=114993907519166876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114993907519166876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114993907519166876'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2006/06/google-spreadsheets-spread-across.html' title='Google Spreadsheets : Spread Across Network'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-114899010279503857</id><published>2006-05-30T04:29:00.000-07:00</published><updated>2007-02-16T04:54:22.140-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>How would you like your Java? Sunny or Googly?</title><content type='html'>Whatever little bit I read about recently held JavaOne 2006, the biggest news undoubtedly was created by the man at the helm himself. Whole world (well almost complete Java Developer's community) waited with baited breath as Sun Microsystem's new CEO Jonathan Schwartz raised the issue about Java being open sourced and then left it open!&lt;br /&gt;&lt;br /&gt;There are those who love its being open sourced, those who &lt;a href="http://www.onjava.com/pub/a/onjava/2006/05/24/telling-stories-at-javaone.html?CMP=OTC-FP2116136014&amp;amp;ATT=Telling+Stories+at+JavaOne"&gt;hate&lt;/a&gt; its being open sourced and those who simply don't care now and won't care about its getting open sourced till they come up against any compatibility issue or something that really makes using Java simpler or better or both (Imagine an integrated AJAX-like API in Java6.0!)&lt;br /&gt;&lt;br /&gt;Apart from that the conference was buzzing loud (again this is what my RSS Feeds have told me!) with chatter about new Frameworks, Web 2.0 (O'Reilly please don't send me a &lt;a href="http://www.tomrafteryit.net/oreilly-trademarks-web-20-and-sets-lawyers-on-itcork/"&gt;legal notice&lt;/a&gt; for using that term!) and obviously AJAX. And due to all this 'new stuff' there was another question: Has J2EE become too old and bulky for Web Application Development? I can't answer that question but I would love to hear Rod Jhonson's take on that (I am very sure that he will find some arguementto blame EJBs for this!)&lt;br /&gt;&lt;br /&gt;But for me as a developer, Google releasing their new API, &lt;a href="http://code.google.com/webtoolkit/"&gt;Google Web Toolkit&lt;/a&gt; (GWT) for AJAX development in Java was the greatest news. Not only they have made AJAX development easier, but also opened this for many more developers worldwide who wanted to do AJAX but couldn't due to JavaScript being involved!&lt;br /&gt;&lt;br /&gt;In past couple of years, Google has almost routinely come up with new Java APIs for developers. They started with Google WebService API, which was an instant hit and produced many applications with developers being able to access Google Database and simulate it's features. I am not very sure about who was the first to release Map API, Yahoo (their API is based on JavaScript and Flash) or Google (again JavaScript based). Then there is Google Desktop API for creating desktop applications, mainly search and indexing tools. A few weeks ago Google released Google Sitemaps, an API for submitting your URL to Google and it involves creating sitemap for a site. And now this GWT.&lt;br /&gt;&lt;br /&gt;I think Google is playing well. They don't have a reputation in OpenSource arena and hence need not be bothered about not being sufficiently 'open' and that's pretty understandable as well. And on the same note by giving the Java Community these APIs to play with they position themselves as a 'friendly' company. You might even say that they are sufficiently open, as much as they could!&lt;br /&gt;&lt;br /&gt;Lately most of the companies have started following this route. Microsoft wants you to develop your own widgets to be used with &lt;a href="http://live.com"&gt;Live.com&lt;/a&gt; and Yahoo has a really interesting &lt;a href="http://developer.yahoo.com/"&gt;Yahoo Developer Network&lt;/a&gt; (even for PHP Developers!)&lt;br /&gt;&lt;br /&gt;So amateurs like me can tweak around with these biggies and create something amusing! Who cares if Java is open source or not!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-114899010279503857?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/114899010279503857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=114899010279503857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114899010279503857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114899010279503857'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2006/05/how-would-you-like-your-java-sunny-or.html' title='How would you like your Java? Sunny or Googly?'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-114664795140608781</id><published>2006-05-03T02:12:00.000-07:00</published><updated>2007-02-16T04:47:34.127-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Writeboard.com : Online word-processor</title><content type='html'>&lt;p&gt;If you remember Google Calendar that was released some time back, and if you have read my review to that, you will recall that I said that there is nothing so special about this apart from the power of sharing your calendar with your friends. Now the new crop of online word-processors comes armed with this concept. Sharing! &lt;/p&gt;&lt;p&gt;So now you don’t have to save any file in your online briefcase or mail it to yourself or your friend to keep it safe and accessible from anywhere. This is more or less similar to what del.icio.us did in the area of managing and saving bookmarks. No dependence or boundation to a single system! &lt;/p&gt;&lt;p&gt;I have still not been able to use Writely, now acquired by Google, and as usual there is a wait period involved. But I got to lay my hands on another free online word-processor http://Writeboard.com!&lt;br /&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/15634154@N00/139643540/"&gt;&lt;img height="122" alt="wb_home" src="http://static.flickr.com/51/139643540_6a876608b2_m.jpg" width="240" /&gt;&lt;/a&gt;&lt;br /&gt;Writeboard allows you to create any file (called writeboard) and associate a password to it. Now you can invite your friends to collaborate on this writeboard through ‘Invite Friends’ link. They will be sent the link and password using which they can access this writeboard.&lt;br /&gt;&lt;br /&gt;Before reading any further, I shall caution you: Do not expect an MS Word here but enjoy the power of collaborating and harnessing its power of simplicity!&lt;br /&gt;So this is my experience of Writeboard.com and I am writing it on Writeboard only!&lt;br /&gt;&lt;br /&gt;This is Web 2.0 enabled, powered by AJAX. As soon as I clicked formatting guide this writing area slid down! Mighty impressive I must admit.&lt;br /&gt;But use of AJAX seems to be very limited. The ‘Save’ and ‘Compare’ operations are not AJAX-enabled. Surprising. &lt;/p&gt;&lt;p&gt;Formatting of text (e.g. bold,italic,indent etc.) has to be done by adding characters to your text(like # for numbered list) or enclosing word between characters (like _ for italicizing or * for bold). This is not much of a problem for me, even though I have a habt of using Ctrl+B or Ctrl+I. &lt;/p&gt;&lt;p&gt;It saves every edit in text as a new version, complete with the time of editing and the name of user. You have an option of saving a change on the top of current version, if you don’t want to save it as a new version.&lt;br /&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/15634154@N00/139641702/"&gt;&lt;img height="240" alt="wb_right" src="http://static.flickr.com/50/139641702_01b24a2be1_m.jpg" width="152" /&gt;&lt;/a&gt; &lt;a title="Photo Sharing" href="http://www.flickr.com/photos/15634154@N00/139641700/"&gt;&lt;img height="208" alt="wb_cmp" src="http://static.flickr.com/47/139641700_60b0404f34_m.jpg" width="240" /&gt;&lt;/a&gt;&lt;br /&gt;You can compare two versions. The differences in compared versions are presented nicely and easily understandable manner. So you can keep track of who (if you are working in a team environment) is making what changes and when.&lt;br /&gt;&lt;br /&gt;The text can be exported into .txt and .html formats and downloaded. You can directly email it to any one! Fast and efficient! Full marks. &lt;/p&gt;&lt;p&gt;There can be some add-ons though. No selection of fonts (default is verdana, size 8) or text color or sizes (only h1 and h2 size header sizes) is available. Maybe they will add these in later versions.&lt;br /&gt;&lt;br /&gt;I don’t want to give any rating to Writeboard now, will do that only after I have tried Writely also. But undoubtedly I will be using it for its ease of use and easy accessibility!&lt;br /&gt;Should MS flinch? What do you say?&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-114664795140608781?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/114664795140608781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=114664795140608781' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114664795140608781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114664795140608781'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2006/05/writeboardcom-online-word-processor.html' title='Writeboard.com : Online word-processor'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-114536602653830209</id><published>2006-04-18T05:57:00.000-07:00</published><updated>2007-02-16T04:49:13.246-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Google PageCreator (beta)</title><content type='html'>&lt;span style="font-family:arial;"&gt;Really. Honestly. Truly. I feel blessed! After all, The God of All Things (Big and Small), the great Google allowed me to access its service! And I was 'invited' to do so! &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;So ladies and gentlemen, I was given an 'invitation' (after I requested one by signing up on their site) from Google to try another new offering from Google stable, Google PageCreator.&lt;br /&gt;PageCreator is a WYSIWYG ('What You See Is What You Get') tool that enables you to create a web page, using available templates and FrontPage like controls (e.g. inserting image or formatting text). Your pages are saved automatically and you can publish them on a 100 MB server space provided by Google, accessible by domain name: &lt;\your-gmail-domain'&gt;.googlepages.com(e.g. my homepage URL is &lt;a href="http://iabhishek.googlepages.com"&gt;http://iabhishek.googlepages.com&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;What is so special about PageCreator? The controls are very elementary in nature. You can't access or edit the source-code of the page being generated. There are a number of page templates available but almost all seemed to me minor variations of each other, some color added here, some gif changed there. You can't create any new layouts or templates. So it is quite stifling if you want to express your creativity.&lt;br /&gt;&lt;br /&gt;But this simplicity can be good for the beginners and newbees. If you are an HTML illiterate and have no idea (or don't want to have any hassles) of finding free servers and want to have a website of your own the Google PageCreator and Google Pages form the ideal combination for you.&lt;br /&gt;&lt;br /&gt;The page even shows placeholders for putting in your text and headings. Uploading images is fast and easy, however you can place any image in only four sizes (one is the original size and three are decided by Google). Similarly creating any link has also been simplified beyond the limits! The page is saved automatically at certain intervals of time. And you can see the preview in new window any time. A page is available on your domain URL only after you have published it.&lt;br /&gt;&lt;br /&gt;I don't expect this new offering from Google to create any ripples. No falling head over heals to sign up for it, no begging of invites! I am rating this service as page designer for beginners and hence simplicity and speed are the only deciding criteria. However obviously some points have to be deducted for lacking in some very basic features. My rating 6/10.&lt;br /&gt;&lt;br /&gt;Was that the reason, my invite came so soon? &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-114536602653830209?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/114536602653830209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=114536602653830209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114536602653830209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114536602653830209'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2006/04/google-pagecreator-beta.html' title='Google PageCreator (beta)'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-114503423527486796</id><published>2006-04-14T09:23:00.000-07:00</published><updated>2007-02-16T04:53:23.365-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Google Calendar (beta)</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;"&gt;I like the way Google presents its new services to world. There is just the right amount of buzz about the service which gets magnified 100 times due to the air of exclusivity which surrounds its availability! So either you will need to have an 'invitation' (in case of GMail or new Joga.com) or the launch news will be heard so softly that you will think yourself lucky to even know about it (and when you come to know of it, you will definitely scramble to get a taste of it!). So when almost all my news feeds were telling me that Google is to launch their Calendar service ‘soon', Google Calendar was happily up there. (Thanks to CNetNews.com for informing me)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;So what is so special about Google Calendar? Honestly speaking nothing much! If you have used Microsoft Outlook Calendar, you will find the interface very similar. Your calendar can be viewed according to Day, Week, Month and next four days (in Outlook it is 'Work Week', which I think is more sensible). &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/15634154@N00/128441810/"&gt;&lt;img height="131" alt="gcalset" src="http://static.flickr.com/44/128441810_35201744cf_m.jpg" width="240" /&gt;&lt;/a&gt;&lt;br /&gt;Adding an event to a date is easier though. On a single click on a date you can add a note with bare minimum details, more of which can be added later (with a double click). A 'Quick add' box lets you add an event by entering phrase like 'Dinner with Michael at 7 pm tomorrow', which adds the note at proper date and time. However when I entered 'Dinner with Michael at 7 pm day after tomorrow' it added the event in today's date at 7 pm!&lt;br /&gt;I didn't like the date calendar on top left, which seems to be a really poor and confusing copy of Outlook's calendar.&lt;br /&gt;Every calendar has a private and a public URL, and is available through XML and iCal feeds. I tried to subscribe to my calendar through both private and public XML feeds in my Windows Live account, but it failed. Google Personalized Homepage doesn’t yet list Calendar in its content list and the feed couldn’t be added here also! Is there some compatibility problem there?&lt;br /&gt;You can set the visibility level of your calendar to private, public or friends only. Making a calendar public allows anyone to see it and even Google search can peep in. Visibility to friends allows them to look at your calendar and search it. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/15634154@N00/128441809/"&gt;&lt;img height="129" alt="gcaladd" src="http://static.flickr.com/52/128441809_c410b55b7e_m.jpg" width="240" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;I created two calendars for myself (You can create any number of them and give them names and define settings for them). You can decide if you want to see (or add an event to) one calendar at a time or all of them at once. I really liked this thing for its ease of use and versatility.&lt;br /&gt;You can search for any term in your, your friends' and all public calendars.&lt;br /&gt;So this is all about Google Calendar. You need to have a GMail account to access this service.&lt;br /&gt;&lt;br /&gt;My rating of Google Calendar is a handsome 8/10. Google guys surely believe in living upto hype created by them.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-114503423527486796?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/114503423527486796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=114503423527486796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114503423527486796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114503423527486796'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2006/04/google-calendar-beta.html' title='Google Calendar (beta)'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25952682.post-114484971817036875</id><published>2006-04-12T06:27:00.000-07:00</published><updated>2007-02-16T04:53:57.252-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Live'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Windows Live (beta)</title><content type='html'>&lt;span style="font-family:arial;"&gt;I was waiting something of this sort from Microsoft Mandarins from quite some time now! The battle-field of personal and customizable web-sites, which give the users facility to put up all their favorite online-content at one place, should now get a bit hotter with entry of Windows Live (still in beta, available at &lt;/span&gt;&lt;a href="http://live.com/"&gt;&lt;span style="font-family:arial;"&gt;http://live.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;). Windows Live is pitching against &lt;em&gt;&lt;strong&gt;Yahoo! 360&lt;/strong&gt;&lt;/em&gt; and &lt;strong&gt;&lt;em&gt;Google Personalized Homepages&lt;/em&gt;&lt;/strong&gt;. And apart from the tough competition on hand, the initial reactions from users should be a cause of worry for MS.&lt;br /&gt;&lt;br /&gt;Live gives us first glimpse of the new web-search that will be integrated with Windows Vista, and will replace MSN search gradually in coming months. Apart from a new search algorithm (perhaps, because the search results differ for MSN search and Live search), Live team has tried to float a new and innovative interface as well. However it remains to be seen that how much it is appreciated (or rejected) by our Google-fed generation.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/asty/127443897/"&gt;&lt;img height="168" alt="Live Web Search" src="http://static.flickr.com/50/127443897_105ac4edf9_m.jpg" width="240" /&gt;&lt;/a&gt;&lt;br /&gt;The search results are presented on a single page, with a vertical scrollbar to help you see all the results on the same page, without leaving the current page. As you scroll down, the results are loaded and shown. A horizontal scrollbar allows you to select how much description you want with a result. You can search within a result site by entering your keyword in a box just below the result site. Again you don't need to leave the page.&lt;br /&gt;&lt;br /&gt;I liked this concept of scrollbars, but what I couldn't understand was why the search shows only upto 250 results. Even if there are 1 million results, the scrolling will load only 250 results and even this process is not very smooth. Often I felt that it has stopped loading more results after 80-90 only. The search results also are not very exciting! This thing is actually bit confusing and may be a put-off for many people. Some one should be&lt;br /&gt;very worried here!&lt;br /&gt;&lt;br /&gt;But maybe this is a problem with beta and this thing may be ironed out in next releases.&lt;br /&gt;&lt;br /&gt;The search has been categorized in four categories:&lt;br /&gt;&lt;strong&gt;Web&lt;/strong&gt;: Normal web search&lt;br /&gt;&lt;strong&gt;News&lt;/strong&gt;: Searches news sites&lt;br /&gt;&lt;strong&gt;Images&lt;/strong&gt;: Now this is the real clincher! I liked this most. The horizontal scrollbar helps you select the size in which you want to see your results. Choose from six sizes available! The vertical scrollbar does its usual task of letting you see all the results on the same page by scrolling up and down. The image details (e.g. size,URL,page URL etc.) are shown only when you click on any image. Try this.&lt;br /&gt;&lt;p&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/asty/127443896/"&gt;&lt;img height="115" alt="Live Image Search" src="http://static.flickr.com/45/127443896_db6fa2607d_m.jpg" width="240" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Local&lt;/strong&gt;: Tried to match Google Maps (http://maps.google.com) but doesn't quite gets it right. Google Maps is much faster.&lt;br /&gt;&lt;strong&gt;Feeds&lt;/strong&gt;: This is another good thing. It searches XML feeds for given keywords and allows you to add the content to your contents directly.&lt;br /&gt;&lt;br /&gt;Now if you are thinking that I started this article posing Live as an entrant in customizable site arena, but this is turning out to be a dud search engine, then wait. I am coming to that also.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/asty/127443895/"&gt;&lt;img height="140" alt="Live Account Home" src="http://static.flickr.com/46/127443895_0042a43be0_m.jpg" width="240" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;You can create your Live account if you have a MSN/Hotmail login or MS Passport. Then like Google Personalized Homepage you can add content available in the Live Directory or subscribe to XML feeds. The Live Directory has various sites listed under various categories (even Flickr is here!) as well as services (Search, Mail, Weather) which can be directly dragged and dropped on your page (space shown below the services list, labelled as MyPage). You can also put in 'Widgets' (The small desktop applications available in Mac, also provided by Yahoo) on the page. &lt;/p&gt;&lt;p&gt;The drag and drop feature is absent in both Yahoo360 and Google (In Google you can only arrange your stuff by dragging and dropping). Also you can arrange your stuff in better manner by creating new pages, again absent in the other two. The number of XML feeds that can be added is unlimited unlike Yahoo which lets you put in only 4 or 5. The customization of content and interface is again better than Google, but don't expect anything glitzy like Yahoo 360! Another thing is that unlike Yahoo360 you can't share your content with your friends.&lt;br /&gt;&lt;br /&gt;So what is my rating of Windows Live? For that I must decide how should I treat Live as? As a search portal or a customizable website with dynamic content?&lt;br /&gt;Live disappoints in first role: hence only 5/10, even these 5 are for the interface that they have brought in.&lt;br /&gt;It is promising in second role: hence 7/10, marks being deducted for not being sharable.&lt;br /&gt;&lt;br /&gt;Tell me what do you think about it. Unlike Google services you don't need any 'invitation' for its use!&lt;br /&gt;Adding on April 16th: Live search is now offering another option: 'Academic'. Like Google Scholar, you can search your keyword in published research papers and journals. And you can see extract and authors' information by just clicking on the search result. I liked the interface again, can't comment on search quality though!&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25952682-114484971817036875?l=opreview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://opreview.blogspot.com/feeds/114484971817036875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25952682&amp;postID=114484971817036875' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114484971817036875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25952682/posts/default/114484971817036875'/><link rel='alternate' type='text/html' href='http://opreview.blogspot.com/2006/04/windows-live-beta.html' title='Windows Live (beta)'/><author><name>Abhishek Asthana</name><uri>https://profiles.google.com/103926276205076899041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-cGVqKir_Us4/AAAAAAAAAAI/AAAAAAAAToc/_SZUAu-R8aE/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry></feed>
