<?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-3234125013394657132</id><updated>2011-07-28T14:30:27.382-07:00</updated><title type='text'>At work</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-108718770717312076</id><published>2007-06-20T03:09:00.001-07:00</published><updated>2007-06-20T03:10:30.650-07:00</updated><title type='text'>How to add External Drive</title><content type='html'>I got a new external drive for my laptop this weekend. I just connected the drive to the laptop using the USB port and windows XP recognized the seagate external hard drive. This was good to observe. However after that I was not able to view any new drive created. I wonder how would I transfer my data onto the disk now. I spent sometime over it and managed to do that. I thought it would be useful for other folks to avoid spending that extra time. So I thought of listing down the steps required. Here you go..&lt;br /&gt;&lt;br /&gt;Once you see that the drive is identified by the OS, and you can see icon in your system tray which says external device selected,&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;GO to My Computer&lt;/li&gt;   &lt;li&gt;Right click on My Computer&lt;/li&gt;   &lt;li&gt;Go to Manage Tab&lt;/li&gt;   &lt;li&gt;Go to disk management&lt;/li&gt;   &lt;li&gt;You can now see the added external disk partition available witout anything.&lt;/li&gt;   &lt;li&gt;Just right click inside that partition space and say "mount".&lt;/li&gt;   &lt;li&gt;This will change the status for the external disk to "basic" and "online".&lt;/li&gt;   &lt;li&gt;Then once you have mounted the drive, again right click and say format.&lt;/li&gt;   &lt;li&gt;Once you format the drive it will ask you for the drive letter and once the formatting is done your drive would be visible for use.&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;Enjoy more space&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-108718770717312076?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/108718770717312076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=108718770717312076' title='42 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/108718770717312076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/108718770717312076'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/06/how-to-add-external-drive.html' title='How to add External Drive'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>42</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-87441290860781054</id><published>2007-05-30T22:30:00.000-07:00</published><updated>2007-05-30T22:35:31.638-07:00</updated><title type='text'>Surface Computing</title><content type='html'>Hi All,&lt;br /&gt;&lt;br /&gt;Look at this amazing new computing technique "Surface Computing" by Microsoft.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.surface.com"&gt;http://www.surface.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-87441290860781054?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/87441290860781054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=87441290860781054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/87441290860781054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/87441290860781054'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/surface-computing.html' title='Surface Computing'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-4745164231437377363</id><published>2007-05-28T04:20:00.000-07:00</published><updated>2007-05-28T05:57:26.098-07:00</updated><title type='text'>10 Useful Utility Softwares</title><content type='html'>Some of the useful utility software's that really helped me when needed are :&lt;br /&gt;&lt;br /&gt;1. Free Undelete&lt;br /&gt;&lt;ul&gt;&lt;li&gt;        Web:-http://officerecovery.com/freeundelete/&lt;/li&gt;&lt;li&gt;        Description:-In case of accidental deletion of files on a NTFS (used by default in Windows XP, 2000 and NT), FAT32 or FAT16 file systems FreeUndelete is the utility to help.&lt;/li&gt;&lt;/ul&gt;2. Easy Cleaner&lt;br /&gt;&lt;ul&gt;&lt;li&gt;        Web:-http://www.toniarts.com&lt;/li&gt;&lt;li&gt;        Description:-Easy to use registry cleaner. It was a freeware when I downloaded. However now you might have to pay the initial fees for accessing products on the site.&lt;/li&gt;&lt;/ul&gt;3. cygwin&lt;br /&gt;        Web:-www.cygwin.com&lt;br /&gt;        Description:-If you need to use unix commands over windows, a really nice utility.&lt;br /&gt;&lt;br /&gt;Rest still to come....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-4745164231437377363?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/4745164231437377363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=4745164231437377363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/4745164231437377363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/4745164231437377363'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/10-useful-utility-softwares.html' title='10 Useful Utility Softwares'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-4298429788973893865</id><published>2007-05-28T00:21:00.000-07:00</published><updated>2007-05-28T00:22:08.949-07:00</updated><title type='text'>securing java</title><content type='html'>http://today.java.net/pub/a/today/2004/10/22/obfuscation.html&lt;br /&gt;&lt;br /&gt;http://www.javaworld.com/cgi-bin/mailto/x_java.cgi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-4298429788973893865?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/4298429788973893865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=4298429788973893865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/4298429788973893865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/4298429788973893865'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/securing-java.html' title='securing java'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-7775719042590044496</id><published>2007-05-22T01:54:00.000-07:00</published><updated>2007-05-22T01:55:57.175-07:00</updated><title type='text'>closeable and flushable interfaces in Java 5</title><content type='html'>Java 5 has two separate interfaces in java.io package.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Closeable&lt;/li&gt;&lt;ul&gt;&lt;li&gt; A &lt;tt&gt;Closeable&lt;/tt&gt; is a source or destination of data that can be closed.   The close method is invoked to release resources that the object is   holding (such as open files).&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Flushable&lt;/li&gt;&lt;ul&gt;&lt;li&gt; A &lt;tt&gt;Flushable&lt;/tt&gt; is a destination of data that can be flushed.  The  flush method is invoked to write any buffered output to the underlying  stream.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-7775719042590044496?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/7775719042590044496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=7775719042590044496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/7775719042590044496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/7775719042590044496'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/closeable-and-flushable-interfaces-in.html' title='closeable and flushable interfaces in Java 5'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-6213131865230551711</id><published>2007-05-21T02:03:00.000-07:00</published><updated>2007-05-21T02:36:12.093-07:00</updated><title type='text'>Java : Final is not constant ?</title><content type='html'>Java doesn’t have anything like C++ &lt;code&gt;const&lt;/code&gt;.  You might think that &lt;code&gt;final&lt;/code&gt; is like &lt;code&gt;const&lt;/code&gt;, but it’s not:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     A &lt;code&gt;final&lt;/code&gt; variable in Java can be assigned to only once, but if the variable is a reference-type, you can still change what it refers to. Fun!    &lt;/li&gt;&lt;li&gt;     A &lt;code&gt;const&lt;/code&gt; variable in C++ can be assigned to only once, &lt;em&gt;where it’s declared&lt;/em&gt;, and &lt;em&gt;nothing&lt;/em&gt; is allowed to change about the value, whether it’s an object or not.  Now &lt;em&gt;that&lt;/em&gt; is a nice feature!&lt;/li&gt;&lt;/ul&gt;This is what Java Language Specification talks about the final variable.&lt;br /&gt;&lt;br /&gt;A variable can be declared &lt;code&gt;final&lt;/code&gt;. A final variable may only be assigned to once. It is a compile time error if a final variable is assigned to unless it is definitely unassigned &lt;a href="http://java.sun.com/docs/books/jls/second_edition/html/defAssign.doc.html#25979"&gt;(§16)&lt;/a&gt; immediately prior to the assignment.&lt;p&gt; &lt;a name="96971"&gt;&lt;/a&gt; A &lt;em&gt;blank final&lt;/em&gt; is a final variable whose declaration lacks an initializer. &lt;/p&gt;&lt;p&gt; &lt;a name="96975"&gt;&lt;/a&gt; Once a &lt;code&gt;final&lt;/code&gt; variable has been assigned, it always contains the same value. If a &lt;code&gt;final&lt;/code&gt; variable holds a reference to an object, then the state of the object may be changed by operations on the object, but the variable will always refer to the same object. This applies also to arrays, because arrays are objects; if a &lt;code&gt;final&lt;/code&gt; variable holds a reference to an array, then the components of the array may be changed by operations on the array, but the variable will always refer to the same array.&lt;/p&gt;&lt;p&gt; &lt;a name="103462"&gt;&lt;/a&gt; Declaring a variable &lt;code&gt;final&lt;/code&gt; can serve as useful documentation that its value will not change and can help avoid programming errors. &lt;a name="96976"&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;In the example: &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;class Point {&lt;br /&gt; int x, y;&lt;br /&gt; int useCount;&lt;br /&gt; Point(int x, int y) { this.x = x; this.y = y; }&lt;br /&gt; final static Point origin = new Point(0, 0);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;a name="96596"&gt;&lt;/a&gt; the class &lt;code&gt;Point&lt;/code&gt; declares a &lt;code&gt;final&lt;/code&gt; class variable &lt;code&gt;origin&lt;/code&gt;. The &lt;code&gt;origin&lt;/code&gt; variable holds a reference to an object that is an instance of class &lt;code&gt;Point&lt;/code&gt; whose coordinates are (0, 0). The value of the variable &lt;code&gt;Point.origin&lt;/code&gt; can never change, so it always refers to the same &lt;code&gt;Point&lt;/code&gt; object, the one created by its initializer. However, an operation on this &lt;code&gt;Point&lt;/code&gt; object might change its state-for example, modifying its &lt;code&gt;useCount&lt;/code&gt; or even, misleadingly, its &lt;code&gt;x&lt;/code&gt; or &lt;code&gt;y&lt;/code&gt; coordinate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-6213131865230551711?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/6213131865230551711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=6213131865230551711' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/6213131865230551711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/6213131865230551711'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/java-final-is-not-constant.html' title='Java : Final is not constant ?'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-2602383220893784073</id><published>2007-05-18T04:12:00.000-07:00</published><updated>2007-05-18T04:13:56.349-07:00</updated><title type='text'>MS Calendar as Google Calendar Events</title><content type='html'>Just try to forward your Outlook Calendar events to gmail and get surprised. Google automatically converts that to google calendar event and you can view that on your google calendar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-2602383220893784073?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/2602383220893784073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=2602383220893784073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/2602383220893784073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/2602383220893784073'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/ms-calendar-as-google-calendar-events.html' title='MS Calendar as Google Calendar Events'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-2996904224863973418</id><published>2007-05-14T22:15:00.001-07:00</published><updated>2007-05-14T22:15:14.527-07:00</updated><title type='text'>Garbage Collection Report</title><content type='html'>The      new &lt;tt&gt;&lt;span style="font-size: 10pt;"&gt;-Xloggc:&lt;/span&gt;&lt;/tt&gt;&lt;var&gt;&lt;span style="font-family: Arial;"&gt;file&lt;/span&gt;&lt;/var&gt;      option reports on each garbage-collection event, as with &lt;tt&gt;&lt;span style="font-size: 10pt;"&gt;-verbose:gc&lt;/span&gt;&lt;/tt&gt;, but logs this data to &lt;var&gt;&lt;span style="font-family: Arial;"&gt;file&lt;/span&gt;&lt;/var&gt;.      In addition to the information &lt;tt&gt;&lt;span style="font-size: 10pt;"&gt;-verbose:gc&lt;/span&gt;&lt;/tt&gt;      provides, each reported event is preceeded by the time (in seconds) since      the first garbage-collection event.&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-2996904224863973418?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/2996904224863973418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=2996904224863973418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/2996904224863973418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/2996904224863973418'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/garbage-collection-report.html' title='Garbage Collection Report'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-4309834229658705566</id><published>2007-05-14T22:14:00.001-07:00</published><updated>2007-05-14T22:14:46.125-07:00</updated><title type='text'>XCheck:jni - Additional checks for JNI</title><content type='html'>The      new &lt;tt&gt;&lt;span style="font-size: 10pt;"&gt;-Xcheck:jni&lt;/span&gt;&lt;/tt&gt;      command-line option performs additional checks for Java Native Interface      (JNI) functions. Specifically, the Java Virtual Machine validates the      parameters passed to the JNI function as well as the runtime environment      data before processing the JNI request. Any invalid data encountered      indicates a problem in the native code, and the Java Virtual Machine will      terminate with a fatal error in such cases. Expect a performance      degradation when this option is used.&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-4309834229658705566?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/4309834229658705566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=4309834229658705566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/4309834229658705566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/4309834229658705566'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/xcheckjni-additional-checks-for-jni.html' title='XCheck:jni - Additional checks for JNI'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-8631702601395338489</id><published>2007-05-14T22:13:00.001-07:00</published><updated>2007-05-14T22:13:48.036-07:00</updated><title type='text'>Deadlock Detection in Java</title><content type='html'>A      deadlock detection utility has been added to the Java HotSpot VM. The      utility is invoked by a Ctrl+\ on the command line while an application is      running. The utility detects Java-platform-level deadlocks, including      locking done from the Java Native Interface (JNI), the Java Virtual      Machine Profiler Interface (JVMPI), and Java Virtual Machine Debug      Interface (JVMDI).&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-8631702601395338489?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/8631702601395338489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=8631702601395338489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/8631702601395338489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/8631702601395338489'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/deadlock-detection-in-java.html' title='Deadlock Detection in Java'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-5755104166471470990</id><published>2007-05-14T22:05:00.000-07:00</published><updated>2007-05-14T22:12:47.402-07:00</updated><title type='text'>Multiple VM's in Java</title><content type='html'>&lt;!--[endif]--&gt;&lt;span style="font-family:trebuchet ms;"&gt;The Java 2 SDK, Standard Edition, contains two implementations of the Java virtual machine (VM). &lt;/span&gt;  &lt;ul style="font-family: trebuchet ms;"&gt;&lt;li&gt;Java HotSpot Client VM &lt;/li&gt;&lt;li&gt;The Java HotSpot Client VM is the default virtual machine of the Java 2 SDK and Java 2 Runtime Environment. As its name implies, it is tuned for best performance when running applications in a client environment by reducing application start-up time and memory footprint. &lt;/li&gt;&lt;/ul&gt;    &lt;ul style="font-family: trebuchet ms;"&gt;&lt;li&gt;Java HotSpot Server VM &lt;/li&gt;&lt;li&gt;The Java HotSpot Server VM is designed for maximum program execution speed for applications running in a server environment. The Java HotSpot Server VM is invoked by using the -server command-line option when launching an application, as in &lt;/li&gt;&lt;li&gt;java -server MyApp&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;   &lt;p face="trebuchet ms" class="MsoNormal"&gt;  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-5755104166471470990?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/5755104166471470990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=5755104166471470990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/5755104166471470990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/5755104166471470990'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/java-tip-of-day.html' title='Multiple VM&apos;s in Java'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-7226460180526483926</id><published>2007-05-10T00:26:00.000-07:00</published><updated>2007-05-10T00:28:22.045-07:00</updated><title type='text'>XML Namespace and QName Explained</title><content type='html'>The XML Namespaces specification defines a way to group element and attribute names so that schemas created by one organization will not conflict with those created by another. Just as two Java classes can have the same name as long as they are defined in separate packages, two XML elements can have the same name as long as they belong to different namespaces.&lt;br /&gt;&lt;br /&gt;Each namespace defined in an XML document must be associated with a distinct uniform resource identifier (URI), which is usually a URL. These URIs have no semantic meaning and do not refer to actual web resources. You should define namespace URIs using domains that you control to prevent naming conflicts for the same reason that you should follow the URL naming convention for Java packages.&lt;br /&gt;&lt;br /&gt;Two URIs are considered distinct if they are distinct character strings, regardless of whether they would resolve to the same physical resource (i.e. http://localhost and http://george are distinct URIs in the context of XML namespaces even on the host george).&lt;br /&gt;&lt;br /&gt;Namespaces are associated with a prefix when they are declared and this prefix is used along with a local name to represent an element in an XML document. A namespace declaration looks like this:&lt;br /&gt;&lt;br /&gt;&lt;parent a="http://url1" b="http://url2"&gt; ... &lt;/parent&gt;&lt;br /&gt;&lt;br /&gt;The namespace http://url1 is bound to the prefix "a" and the namespace http://url2 is bound to the prefix "b" in this example. Three child elements of &lt;parent&gt;: &lt;child&gt;, &lt;a:child&gt;, and &lt;b:child&gt;, would have no namespace, a namespace of "http://url1", and a namespace of "http://url2", respectively, and all would have the local name "child".&lt;br /&gt;&lt;br /&gt;Namespaces have a scope associated with them. A namespace declared in a parent element is bound to a given prefix for that element as well as for all of its child elements, unless that prefix is "overridden" in a child element by being assigned to a different namespace. The association between the namespace and prefix declared in an element do not apply to the siblings of that element. This is equivalent to the scope of variable names within the Java programming language.&lt;br /&gt;&lt;br /&gt;A default namespace can be defined by omitting the prefix mapping in the declaration as in "xmlns='http://url3'". At most one default namespace is in effect at any given point in an XML document. The default namespace is scoped just as the prefix mappings are. If a default namespace is in scope and an element appears with no prefix then it is associated with that default namespace.&lt;br /&gt;&lt;br /&gt;Attribute names never inherit the default namespace and must be explicitly mapped to a namespace.&lt;br /&gt;&lt;br /&gt;The "qName", or qualified name, argument contains the element name exactly as it appears in the XML document, including the prefix and colon, if appropriate&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-7226460180526483926?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/7226460180526483926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=7226460180526483926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/7226460180526483926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/7226460180526483926'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/xml-namespace-and-qname-explained.html' title='XML Namespace and QName Explained'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234125013394657132.post-852299947937281693</id><published>2007-05-09T22:31:00.000-07:00</published><updated>2007-05-09T22:36:57.693-07:00</updated><title type='text'>CIOS AS TEACHERS</title><content type='html'>&lt;span style="font-size:100%;"&gt;Extracts from one of the internet literature&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CIOs like to grouse about the paltry pickings of job candidates. But experts say instead of grumbling about it, CIOs should go back to school and help beef up the labor pool.&lt;br /&gt;&lt;br /&gt;"While CIOs like to complain about the quality of candidates they've been getting, they're not actually involved in shaping the candidates," said Samuel Bright, an analyst at Cambridge, Mass.-based Forrester Research Inc.&lt;br /&gt;&lt;br /&gt;Enrollment in computer science programs is waning -- down as much as 70% in recent years, according to reports. At the same time, colleges and universities struggle to keep their curricula on par with changes in business.&lt;br /&gt;&lt;br /&gt;"CIOs have expressed optimism about the future of the IT career, but they don't necessarily hire at the entry level," Bright said. "And those that do complain about the quality of the candidates they've been getting."&lt;br /&gt;&lt;br /&gt;Bright said computer science programs often struggle to align with the needs of IT organizations because they focus too much on programming. They also teach students about tools that are obsolete by the time they graduate. Bright said schools need to teach students how to work with multi-platform environments. Often they don't teach key business skills that IT organizations are seeking, such as project management and negotiation.&lt;br /&gt;&lt;br /&gt;In a research survey of 281 IT decision makers, Forrester found that most IT leaders do very little to reach out to local universities. Job fairs were the most common form of engagement between schools and IT organizations, with 57% of large IT organizations (500 or more IT employees) and 36% of small IT organizations participating. Job fairs are an effective recruiting tool, but if quality candidates aren't graduating from the programs, these fairs do CIOs little good.&lt;br /&gt;&lt;br /&gt;The next most common type of engagement between schools and IT organizations was service on a university advisory board, with 28% of large companies and 19% of smaller companies participating. Lecturing in the classroom, sponsoring scholarships, serving on curriculum review committees and donations of technology were all relatively rare.&lt;br /&gt;&lt;br /&gt;Real world experience&lt;br /&gt;&lt;br /&gt;"One of the CIOs I spoke with actually comes into a local university to lecture," Bright said. "After he was done lecturing a professor said, 'We don't have to do two chapters because of what you just said about the challenges of service-oriented architecture. You covered what I would cover in two chapters with what you provided in real world examples.'&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234125013394657132-852299947937281693?l=harshal-at-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://harshal-at-work.blogspot.com/feeds/852299947937281693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234125013394657132&amp;postID=852299947937281693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/852299947937281693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234125013394657132/posts/default/852299947937281693'/><link rel='alternate' type='text/html' href='http://harshal-at-work.blogspot.com/2007/05/cios-as-teachers.html' title='CIOS AS TEACHERS'/><author><name>Harshal Shah</name><uri>http://www.blogger.com/profile/05317666161999659651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
