Wednesday, May 30, 2007

Surface Computing

Hi All,

Look at this amazing new computing technique "Surface Computing" by Microsoft.

http://www.surface.com

Monday, May 28, 2007

10 Useful Utility Softwares

Some of the useful utility software's that really helped me when needed are :

1. Free Undelete
  • Web:-http://officerecovery.com/freeundelete/
  • 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.
2. Easy Cleaner
  • Web:-http://www.toniarts.com
  • 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.
3. cygwin
Web:-www.cygwin.com
Description:-If you need to use unix commands over windows, a really nice utility.

Rest still to come....

securing java

http://today.java.net/pub/a/today/2004/10/22/obfuscation.html

http://www.javaworld.com/cgi-bin/mailto/x_java.cgi

Tuesday, May 22, 2007

closeable and flushable interfaces in Java 5

Java 5 has two separate interfaces in java.io package.

  • Closeable
    • A Closeable 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).
  • Flushable
    • A Flushable is a destination of data that can be flushed. The flush method is invoked to write any buffered output to the underlying stream.

Monday, May 21, 2007

Java : Final is not constant ?

Java doesn’t have anything like C++ const. You might think that final is like const, but it’s not:
  • A final 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!
  • A const variable in C++ can be assigned to only once, where it’s declared, and nothing is allowed to change about the value, whether it’s an object or not. Now that is a nice feature!
This is what Java Language Specification talks about the final variable.

A variable can be declared final. 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 (§16) immediately prior to the assignment.

A blank final is a final variable whose declaration lacks an initializer.

Once a final variable has been assigned, it always contains the same value. If a final 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 final 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.

Declaring a variable final can serve as useful documentation that its value will not change and can help avoid programming errors.

In the example:

class Point {
int x, y;
int useCount;
Point(int x, int y) { this.x = x; this.y = y; }
final static Point origin = new Point(0, 0);
}
the class Point declares a final class variable origin. The origin variable holds a reference to an object that is an instance of class Point whose coordinates are (0, 0). The value of the variable Point.origin can never change, so it always refers to the same Point object, the one created by its initializer. However, an operation on this Point object might change its state-for example, modifying its useCount or even, misleadingly, its x or y coordinate.

Friday, May 18, 2007

MS Calendar as Google Calendar Events

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.

Monday, May 14, 2007

Garbage Collection Report

The new -Xloggc:file option reports on each garbage-collection event, as with -verbose:gc, but logs this data to file. In addition to the information -verbose:gc provides, each reported event is preceeded by the time (in seconds) since the first garbage-collection event.