<?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-1730458209182769184</id><updated>2012-01-18T20:38:03.720-08:00</updated><category term='linux'/><category term='Hotspot'/><category term='Vista'/><category term='Modem'/><category term='JVM'/><category term='SSH'/><category term='64-bit'/><category term='CSS'/><category term='web'/><category term='SFTP'/><category term='Dialog'/><category term='Mobitel'/><category term='screensaver'/><category term='Windows'/><category term='Memory Management'/><category term='bash'/><category term='SWF'/><category term='freeware'/><category term='Java'/><category term='Google'/><category term='corporate'/><category term='WIFI'/><category term='Calender'/><category term='Open source'/><category term='FTP'/><category term='HSDPA'/><category term='HTML'/><category term='Networking'/><category term='source code'/><category term='video'/><category term='GC'/><category term='Knol Google'/><category term='Vodofone'/><category term='LED'/><category term='c++'/><category term='Multicast'/><title type='text'>Innovation &amp; exploration</title><subtitle type='html'>Latest technology updates and Interesting tools</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>72</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-8394780673491744259</id><published>2011-12-05T01:27:00.001-08:00</published><updated>2011-12-05T01:27:01.885-08:00</updated><title type='text'>Evolution of the Hard Disk !</title><content type='html'>&lt;br&gt;&lt;div class="gmail_quote"&gt;&lt;img title="sshot4e94869984867_thumb%25255B2%25255D.jpg?imgmax=800" alt="sshot4e94869984867_thumb%25255B2%25255D.jpg?imgmax=800" src="http://lh3.ggpht.com/-rB1hyUL2GoU/TqVihEiVVyI/AAAAAAAAcDY/uhbABIOAAdY/sshot4e94869984867_thumb%25255B2%25255D.jpg?imgmax=800"&gt;&lt;br clear="all"&gt;  &lt;br&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/1730458209182769184-8394780673491744259?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/8394780673491744259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/12/evolution-of-hard-disk.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8394780673491744259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8394780673491744259'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/12/evolution-of-hard-disk.html' title='Evolution of the Hard Disk !'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-rB1hyUL2GoU/TqVihEiVVyI/AAAAAAAAcDY/uhbABIOAAdY/s72-c/sshot4e94869984867_thumb%25255B2%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1843427263696615298</id><published>2011-11-21T05:01:00.000-08:00</published><updated>2011-11-23T19:54:50.131-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><title type='text'>[video] - The Future of Energy Management</title><content type='html'>Learn how to reduce energy costs by managing Power over Ethernet devices, and much more, with Cisco EnergyWise.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="315" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JT7Dq3Y5974?version=3&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/JT7Dq3Y5974?version=3&amp;amp;hl=en_US" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000;"&gt;&lt;b&gt;Please put your comments here.&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1843427263696615298?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1843427263696615298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/11/future-of-energy-management.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1843427263696615298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1843427263696615298'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/11/future-of-energy-management.html' title='[video] - The Future of Energy Management'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1511017690244820413</id><published>2011-10-24T23:55:00.000-07:00</published><updated>2011-10-25T03:13:31.656-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Multicast'/><category scheme='http://www.blogger.com/atom/ns#' term='source code'/><title type='text'>[CODE] Java MCast Sender &amp; Receiver</title><content type='html'>Most people need to test multicast &amp;nbsp;sender and receiver in&lt;br /&gt;their developments. &amp;nbsp;So I thought to present a Sample java&lt;br /&gt;code for multicast sender and Receiver.&lt;br /&gt;&lt;br /&gt;This MCast sender can send a File as the data of &amp;nbsp;the payload.&lt;br /&gt;Multicast receiver will capture those data and save those data to a&lt;br /&gt;file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MCast Sender source code:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;import java.io.FileInputStream;&lt;br /&gt;import java.io.FileNotFoundException;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.net.DatagramPacket;&lt;br /&gt;import java.net.InetAddress;&lt;br /&gt;import java.net.MulticastSocket;&lt;br /&gt;import java.net.SocketException;&lt;br /&gt;import java.net.UnknownHostException;&lt;br /&gt;&lt;br /&gt;public class MulticastSender {&lt;br /&gt;&lt;br /&gt;  public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;    InetAddress ia = null;&lt;br /&gt;    int port = 0;&lt;br /&gt;    String characters = "Here's some multicast data\n";&lt;br /&gt;    byte[] data = null;&lt;br /&gt;    &lt;br /&gt;    try &lt;br /&gt;    {&lt;br /&gt;  FileInputStream input = new FileInputStream(args[2]);&lt;br /&gt;  System.out.println("Data File Size: " + input.available() + " Bytes");&lt;br /&gt;  data = new byte[input.available()];&lt;br /&gt;  input.read(data);&lt;br /&gt;  System.out.println("Read buffer Size: " + data.length  + " Bytes");&lt;br /&gt; } catch (FileNotFoundException e1) {&lt;br /&gt;  System.err.println(e1);&lt;br /&gt;  e1.printStackTrace();&lt;br /&gt; } catch (IOException e) {&lt;br /&gt;  System.err.println(e);&lt;br /&gt;  e.printStackTrace();&lt;br /&gt; }&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    // read the address from the command line&lt;br /&gt;    try {&lt;br /&gt;      try {&lt;br /&gt;        ia = InetAddress.getByName(args[0]);&lt;br /&gt;      } catch (UnknownHostException e) {&lt;br /&gt;        //ia = InetAddressFactory.newInetAddress(args[0]);&lt;br /&gt;      }&lt;br /&gt;      port = Integer.parseInt(args[1]);&lt;br /&gt;    } catch (Exception e) {&lt;br /&gt;      System.err.println(e);&lt;br /&gt;      System.err.println("Usage: java MulticastSender [MulticastAddress] [port]  [File]");&lt;br /&gt;      System.exit(1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;    DatagramPacket dp = new DatagramPacket(data, data.length, ia, port);&lt;br /&gt;&lt;br /&gt;    try {&lt;br /&gt;      MulticastSocket ms = new MulticastSocket();&lt;br /&gt;      ms.joinGroup(ia);&lt;br /&gt;      ms.send(dp);&lt;br /&gt;      ms.leaveGroup(ia);&lt;br /&gt;      ms.close();&lt;br /&gt;      System.out.println("File send. Length:"+ dp.getLength()  + " Bytes"); &lt;br /&gt;    } catch (SocketException se) {&lt;br /&gt;      System.err.println(se);&lt;br /&gt;    } catch (IOException ie) {&lt;br /&gt;      System.err.println(ie);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;MCast Receiver Source Code:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;import java.net.*;  /* import networking package */&lt;br /&gt;import java.io.*;   /* import input/output package */&lt;br /&gt;&lt;br /&gt;public class mcreceive {&lt;br /&gt;&lt;br /&gt;  public static final int MAX_LEN  = 1024;  /* max receive buffer */&lt;br /&gt;  public static final int MIN_PORT = 1024;  /* min network port */&lt;br /&gt;  public static final int MAX_PORT = 65535; /* max network port */&lt;br /&gt;&lt;br /&gt;  public static void main(String argv[]) {&lt;br /&gt;&lt;br /&gt;    InetAddress mcAddress=null; /* multicast address */&lt;br /&gt;    int mcPort=0;               /* multicast port */&lt;br /&gt;    int ttl=1;                  /* time to live */&lt;br /&gt;    boolean done=false;         /* variable for send loop */&lt;br /&gt;&lt;br /&gt;     /* validate number of arguments */&lt;br /&gt;    if (argv.length != 2) {&lt;br /&gt;      System.out.println("Usage: mcreceive " +&lt;br /&gt;                        "[Multicast IP] [Multicast Port] [Output File]");&lt;br /&gt;      System.exit(1);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;    /* validate the multicast address argument */&lt;br /&gt;    try {&lt;br /&gt;      mcAddress = InetAddress.getByName(args[0]);&lt;br /&gt;        System.out.println("MCast Group: " + group);&lt;br /&gt;    } catch (UnknownHostException e) {&lt;br /&gt;        e.printStackTrace();&lt;br /&gt;      System.err.println(argv[0] + " is not a valid IP address"+ e);&lt;br /&gt;      System.exit(1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /* validate address argument is a multicast IP */&lt;br /&gt;    if (! mcAddress.isMulticastAddress()) {&lt;br /&gt;      System.err.println(mcAddress.getHostAddress() +&lt;br /&gt;                         " is not a multicast IP address.");&lt;br /&gt;      System.exit(1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /* parse and validate port argument */&lt;br /&gt;    try {&lt;br /&gt;      mcPort = Integer.parseInt(args[1]);&lt;br /&gt;    } catch (NumberFormatException nfe) {&lt;br /&gt;      System.out.println("Invalid port number " + argv[1]);&lt;br /&gt;      System.exit(1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if ((mcPort &amp;lt; MIN_PORT) || (mcPort &amp;gt; MAX_PORT)) {&lt;br /&gt;      System.out.println("Invalid port number " + mcPort);&lt;br /&gt;      System.out.println("Port should be in range " + MIN_PORT&lt;br /&gt;                         + " to " + MAX_PORT);&lt;br /&gt;      System.exit(1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    try {&lt;br /&gt;&lt;br /&gt;      /* instantiate a MulticastSocket */&lt;br /&gt;      MulticastSocket sock = new MulticastSocket(mcPort);&lt;br /&gt;&lt;br /&gt;      /* set the address reuse option */&lt;br /&gt;      sock.setReuseAddress(true); // Java 1.4 and higher&lt;br /&gt;&lt;br /&gt;      /* join the multicast group */&lt;br /&gt;      sock.joinGroup(mcAddress);&lt;br /&gt;     &lt;br /&gt;      while (!done) {  /* loop forever */&lt;br /&gt;&lt;br /&gt;        /* create a new DatagramPacket with an empty buffer */&lt;br /&gt;        byte[] buf = new byte[MAX_LEN];&lt;br /&gt;        DatagramPacket packet = new DatagramPacket(buf, buf.length);&lt;br /&gt;&lt;br /&gt;        /* wait to receive packet into the DatagramPacket instance */&lt;br /&gt;        sock.receive(packet);&lt;br /&gt;&lt;br /&gt;        /* output the data from the packet received */&lt;br /&gt;        System.out.println("Received " + packet.getLength() +&lt;br /&gt;            " bytes from " + packet.getAddress() + ": "&lt;br /&gt;            + new String(packet.getData(),0,packet.getLength()));&lt;br /&gt;        FileOutputStream out = new FileOutputStream(args[2],true);&lt;br /&gt;        byte[] bData = new byte[packet.getLength() + 10];&lt;br /&gt;&lt;br /&gt;        for(int i=0;i &amp;lt; packet.getLength();i++)&lt;br /&gt;             bData[i] = packet.getData()[i];&lt;br /&gt;        &lt;br /&gt;        out.write(bData);&lt;br /&gt;        out.close();&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      sock.leaveGroup(mcAddress);&lt;br /&gt;      sock.close();&lt;br /&gt;&lt;br /&gt;    } catch (IOException e) {&lt;br /&gt;      System.err.println(e.toString());&lt;br /&gt;      System.exit(1);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1511017690244820413?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1511017690244820413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/10/code-java-mcast-sender-receiver.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1511017690244820413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1511017690244820413'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/10/code-java-mcast-sender-receiver.html' title='[CODE] Java MCast Sender &amp; Receiver'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1384500949992992171</id><published>2011-10-05T22:38:00.000-07:00</published><updated>2011-10-05T22:38:33.347-07:00</updated><title type='text'>[WEB] Shorten URL of your Blog or Web Site by Google Url Shortener</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.google.com/images/logos/url_shortener_logo.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.google.com/images/logos/url_shortener_logo.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Most of time we need to use an alias URL for out Blog. That is more use full to add to a different blog or while send to a friend. By our experience the google services are very reliable&amp;nbsp; and more clear. An other feature is the tracking the visitors. I used Google Url Shortener to create an alias for my blog. Here it is.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://janaka077.blogsport.com/"&gt;http://janaka077.blogsport.com&lt;/a&gt;&amp;nbsp; &lt;b style="font-family: &amp;quot;Helvetica Neue&amp;quot;,Arial,Helvetica,sans-serif;"&gt;---&amp;gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://goo.gl/Dmt5F"&gt;http://goo.gl/Dmt5F&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;img alt="http://img403.imageshack.us/img403/7336/46googleurl.jpg" height="231" src="http://img403.imageshack.us/img403/7336/46googleurl.jpg" width="400" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1384500949992992171?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1384500949992992171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/10/web-shorten-url-of-your-blog-or-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1384500949992992171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1384500949992992171'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/10/web-shorten-url-of-your-blog-or-web.html' title='[WEB] Shorten URL of your Blog or Web Site by Google Url Shortener'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3233943209030374372</id><published>2011-09-15T22:55:00.001-07:00</published><updated>2011-10-24T23:27:20.928-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='corporate'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>[ARTICLE] - Google Corporate Philosophy</title><content type='html'>&lt;h3&gt;&lt;i&gt;&lt;span style="font-family: georgia,serif;"&gt;&lt;img alt="google_logo.gif" src="http://www.google.com/images/logos/google_logo.gif" title="google_logo.gif" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/h3&gt;&lt;div style="font-family: georgia,serif;"&gt;&lt;i&gt;           &lt;span style="color: #006600;"&gt;""The perfect search engine," says co-founder Larry Page, "would understand exactly what           you mean and give back exactly what you want." When Google began, you would have been           pleasantly surprised to enter a search query and immediately find the right answer.           Google became successful precisely because we were better and faster at finding the right           answer than other search engines at the time.         &lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="color: #006600; font-family: georgia,serif;"&gt;&lt;i&gt;           But technology has come a long way since then, and the face of the web has changed.           Recognizing that search is a problem that will never be solved, we continue to push the           limits of existing technology to provide a fast, accurate and easy-to-use service that           anyone seeking information can access, whether they're at a desk in Boston or on a phone           in Bangkok. We've also taken the lessons we've learned from search to tackle even more           challenges."&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;Ten main points of Google's philosophy&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Focus on the user and all else will follow.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;It's best to do one thing really, really well.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Fast is better than slow.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Democracy on the web works.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;You don't need to be at your desk to need an answer.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;You can make money without doing evil.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;There's always more information out there.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;The need for information crosses all borders.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;You can be serious without a suit.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Great just isn't good enough.&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Visit to Read more : &lt;a href="http://www.google.com/about/corporate/company/tenthings.html"&gt;http://www.google.com/about/corporate/company/tenthings.html&lt;/a&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3233943209030374372?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3233943209030374372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/09/article-google-corporate-philosophy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3233943209030374372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3233943209030374372'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/09/article-google-corporate-philosophy.html' title='[ARTICLE] - Google Corporate Philosophy'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-7125245715865515021</id><published>2011-09-14T22:28:00.000-07:00</published><updated>2011-09-14T22:40:04.342-07:00</updated><title type='text'>[WEB] Download Youtube videos in selected file formats</title><content type='html'>&lt;span style="font-size: small;"&gt;Most of Youtube download tools and sites are available in free. But It is very rear to find a tool for convert the video into other formats during the download. ClipConverter.cc site provide that facility.&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img830.imageshack.us/img830/2441/77cc1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;First you need to enter youtube url in Media URL and select the appropriate file format. And you can adjust several parameters of video quality&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img830.imageshack.us/img830/2441/77cc1.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="380" src="http://img830.imageshack.us/img830/2441/77cc1.jpg" width="640" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Here you can set the output file name. If you didn’t set that it will use the original name of the video&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;Then it will download the video to web server. That will take some times. That time will depends on the size of video.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="free image hosting" border="0" height="349" src="http://www.imgplace.com/img638/1916/64cc2.jpg" width="640" /&gt; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;Finally you will get the link for converted video.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img823.imageshack.us/img823/44/17cc3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="307" src="http://img823.imageshack.us/img823/44/17cc3.jpg" width="640" /&gt;&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/1730458209182769184-7125245715865515021?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/7125245715865515021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/09/web-download-youtube-videos-in-selected.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7125245715865515021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7125245715865515021'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/09/web-download-youtube-videos-in-selected.html' title='[WEB] Download Youtube videos in selected file formats'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-565672606907176737</id><published>2011-09-12T03:56:00.001-07:00</published><updated>2011-09-12T04:07:12.427-07:00</updated><title type='text'>Java 7 introduced the support of String in switch-case statements [CODE]</title><content type='html'>&lt;span style="font-size: small;"&gt;After &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=1223179"&gt;16 years&lt;/a&gt; of complaints, Java 7 has - at last! - introduced the support of String in &lt;i&gt;switch-case&lt;/i&gt;&lt;/span&gt; statements.&lt;br /&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;This allows us to code things such as:&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;boolean primary;&lt;br /&gt;switch(color) {&lt;br /&gt;case "red":&lt;br /&gt; primary=true;&lt;br /&gt; break;&lt;br /&gt;case "green":&lt;br /&gt; primary=true;&lt;br /&gt; break;&lt;br /&gt;case "blue":&lt;br /&gt; primary=true; &lt;br /&gt; break; &lt;br /&gt;default:&lt;br /&gt; primary=false;&lt;br /&gt;}&lt;br /&gt;if (primary) System.out.println("This is a primary color");&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;Here is the issue ticket of that enhancement.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=1223179" style="font-family: arial,helvetica,sans-serif;"&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=1223179&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;This issue is logged in &lt;/span&gt;&lt;span style="font-size: small;"&gt;02-OCT-1995. Hopefully now java developers able to use &lt;i&gt;switch-case&lt;/i&gt; instead of &lt;i&gt;if-else.&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;That will increase the readability and the performance of the Code.&lt;br /&gt;Refer the below WIKI page to understand the performance enhancement of switch-case statements. &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Short-circuit_evaluation"&gt;http://en.wikipedia.org/wiki/Short-circuit_evaluation&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-565672606907176737?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/565672606907176737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/09/java-7-introduced-support-of-string-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/565672606907176737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/565672606907176737'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/09/java-7-introduced-support-of-string-in.html' title='Java 7 introduced the support of String in switch-case statements [CODE]'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3329583166760762323</id><published>2011-09-05T23:27:00.000-07:00</published><updated>2011-10-25T00:44:29.029-07:00</updated><title type='text'>jQuery for Dummies [Ebook]</title><content type='html'>jQuery is all around you. You see it on hugely popular sites such as Twitter&lt;br /&gt;and Facebook. When you visit Yahoo! or Google, there it is. Someone’s&lt;br /&gt;Aunt Mary has a snazzy Web site with jQuery effects for her pet photography&lt;br /&gt;business. But there you are, using animated gifs. Your site looks dated, and&lt;br /&gt;you aren’t keeping up with your competition. It’s time for you to add the&lt;br /&gt;power of jQuery to your site.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/document/fW17JJcS/jQuery_For_Dummies.html" target="_blank"&gt;&lt;img border="0" src="http://dc271.4shared.com/img/fW17JJcS/0.4650454247848278/jQuery_For_Dummies.pdf" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3329583166760762323?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3329583166760762323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/09/jquery-for-dummies-ebook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3329583166760762323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3329583166760762323'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/09/jquery-for-dummies-ebook.html' title='jQuery for Dummies [Ebook]'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3920370756086386866</id><published>2011-08-21T20:17:00.000-07:00</published><updated>2011-08-21T20:17:11.074-07:00</updated><title type='text'>How Browsers Work - Behind the Scenes of Modern Web Browsers</title><content type='html'>&lt;br /&gt;&lt;i&gt;"Web browsers are probably the most widely used software. In this primer, I will explain how they work behind the scenes. We will see what happens when you type &lt;code&gt;google.com&lt;/code&gt; in the address bar until you see the Google page on the browser screen"&lt;/i&gt; - Introduction of this Article.&lt;br /&gt;&amp;nbsp;....&lt;br /&gt;.... &lt;br /&gt;&lt;i&gt;"There are five major browsers used today - Internet Explorer, Firefox, Safari, Chrome and Opera.  I will give examples from the open source browsers - Firefox, Chrome and Safari (which is partly open source).  According to the &lt;a href="http://gs.statcounter.com/"&gt;StatCounter browser statistics&lt;/a&gt;, currently (August 2011), the usage share of Firefox, Safari and Chrome together is nearly 60%.  So nowadays open source browsers are a substantial part of the browser business. " &lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/layers.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/layers.png" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span data-count="1"&gt;Figure &lt;/span&gt;:  Browser main components.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Full Article : &lt;a href="http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/"&gt;http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/&lt;/a&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3920370756086386866?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3920370756086386866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/08/how-browsers-work-behind-scenes-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3920370756086386866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3920370756086386866'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/08/how-browsers-work-behind-scenes-of.html' title='How Browsers Work - Behind the Scenes of Modern Web Browsers'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3664224465611718973</id><published>2011-08-16T00:24:00.001-07:00</published><updated>2011-10-24T23:27:56.533-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>CSS cheat Sheet [PDF]</title><content type='html'>&lt;div&gt;This is good for web developers for day today usage.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://dl.dropbox.com/u/1509699/manuals/css.pdf"&gt;http://dl.dropbox.com/u/1509699/manuals/css.pdf&lt;/a&gt;&lt;/div&gt;Size: 316 KB (322,842 bytes)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3664224465611718973?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3664224465611718973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/08/css-cheat-sheet-pdf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3664224465611718973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3664224465611718973'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/08/css-cheat-sheet-pdf.html' title='CSS cheat Sheet [PDF]'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-934204773475022043</id><published>2011-08-08T20:16:00.000-07:00</published><updated>2011-08-08T20:16:40.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WIFI'/><category scheme='http://www.blogger.com/atom/ns#' term='LED'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>German geniuses hit 800Mbps with light bulb WLAN</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://www.blogcdn.com/www.engadget.com/media/2008/10/led_wifi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.blogcdn.com/www.engadget.com/media/2008/10/led_wifi.jpg" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Last year, Chinese scientists showed off some new  old-school tech, transmitting data with blue LEDs that flicker faster  than the human eye can perceive. This throwback to the good ol' days of  IR receivers was able to hit &lt;a href="http://www.engadget.com/2010/05/17/chinese-scientists-demonstrate-2mbps-internet-connection-over-le/"&gt;speeds of 2Mbps&lt;/a&gt;, but leave it to the fine folks at the Heinrich Hertz Institute to push the &lt;a href="http://www.engadget.com/2008/10/07/light-bulb-networks-could-be-the-next-wifi/"&gt;light bulb networking&lt;/a&gt; tech to the extremes. Earlier this year researchers hit &lt;a href="http://www.engadget.com/2010/01/21/siemens-gurus-hit-500mbps-with-white-led-lights-dare-you-to-bli/"&gt;500Mbps&lt;/a&gt;  with white LEDs; now, using a combination of white, green, blue, and  red, the team ramped that up to 800Mbps, officially putting Ethernet on  notice. The line-of-sight networking won't actually replace your  standard Cat 5 line or WiFi router, but it could find a home in places  like hospitals where radio-based wireless technology can cause problems  for sensitive equipment. With any luck, we'll soon be bathing our homes  in HD-streaming illumination.                         			&lt;/div&gt;&lt;div class="post_footer_left"&gt;                      &lt;table class="spanks"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="bottom"&gt; 			&lt;div class="post_via "&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-934204773475022043?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/934204773475022043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/08/german-geniuses-hit-800mbps-with-light.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/934204773475022043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/934204773475022043'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/08/german-geniuses-hit-800mbps-with-light.html' title='German geniuses hit 800Mbps with light bulb WLAN'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-5455575468080102580</id><published>2011-08-04T22:04:00.001-07:00</published><updated>2011-08-04T22:04:47.697-07:00</updated><title type='text'>Google Web Fonts Provides a Variety of Fonts for Your Site</title><content type='html'>&lt;p&gt;Finding fonts to use on your website can be a pain, but a lot of  people don't realize that Google has an interface for finding and using  fonts on any site. &lt;a target="_blank" href="http://www.google.com/webfonts#HomePlace:home"&gt;Google Web Fonts&lt;/a&gt;  lets you see samples of over 200 fonts in either a single word,  sentence, or paragraph format. The amount of sample text it shows varies  based upon which of those formats you choose.&lt;/p&gt; &lt;p&gt;After you've found a font that you like just click the "Quick-use"  link to see an estimation of how this could affect your page load time,  and then also the code you need to add to your site to use the font. The  nice thing is that Google will host all of the scripts and CSS so that  you don't have to worry about forking over the extra bandwidth yourself.&lt;/p&gt; &lt;p&gt;The site also has a "Collection" system that will essentially let you  bookmark a bunch of fonts to make reviewing them a little easier later  on. The whole system is pretty awesome, and I applaud Google for putting  all of this together for web developers to use.&lt;/p&gt;&lt;p&gt;&lt;img title="custom_online_font.png" alt="custom_online_font.png" src="http://s1.postimage.org/5aghblio5/custom_online_font.png"&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href="http://www.google.com/webfonts#HomePlace:home"&gt;http://www.google.com/webfonts#HomePlace:home&lt;/a&gt;&lt;/b&gt;&lt;br&gt; &lt;/p&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-5455575468080102580?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/5455575468080102580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/08/google-web-fonts-provides-variety-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5455575468080102580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5455575468080102580'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/08/google-web-fonts-provides-variety-of.html' title='Google Web Fonts Provides a Variety of Fonts for Your Site'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-204916855079531824</id><published>2011-08-04T04:26:00.001-07:00</published><updated>2011-08-04T04:26:14.376-07:00</updated><title type='text'>Sony Play Station Network is Hacked !!</title><content type='html'>As per the &lt;b&gt;PSMag.com&lt;/b&gt; Reports:&lt;br&gt;&lt;i&gt;&lt;br&gt;&amp;quot;&lt;span id="intellitxt" name="intellitxt"&gt;The outage officially began on Wednesday with &lt;a class="" href="http://www.pcmag.com/article2/0,2817,2383924,00.asp"&gt;Sony itself noting&lt;/a&gt;,  that evening, that, &amp;quot;We&amp;#39;re aware certain functions of PlayStation  Network are down.&amp;quot;  The note came straight from the mouth, er, keys of  senior director of corporate communications and social media Patrick  Seybold.  And that was just the beginning. &lt;/span&gt;&amp;quot;&lt;/i&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;As per the &lt;b&gt;&lt;a href="http://eweek.com"&gt;eweek.com&lt;/a&gt;&lt;/b&gt; Reports:&lt;br&gt;&lt;br&gt;&lt;p&gt;&lt;i&gt;&amp;quot;Sony's PlayStation Network has been down for nearly a week, and the company finally admitted that an  unauthorized person had stolen personal information belonging to 77 million account holders.&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;An attacker gained "illegal" access to personal information stored on both the PlayStation Network and the Qriocity online music and video service, &lt;a href="http://blog.us.playstation.com/2011/04/26/update-on-playstation-network-and-qriocity/"&gt;Sony announced on its blog on April 26&lt;/a&gt;. The information included names, addresses, log-in and password credentials, password security answers, email addresses, and birth dates. User purchase history and credit card information may also have been compromised.&amp;quot;&lt;/i&gt;&lt;/p&gt;&lt;b&gt;&lt;br&gt;&lt;a href="http://www.pcmag.com/article2/0,2817,2384214,00.asp"&gt;http://www.pcmag.com/article2/0,2817,2384214,00.asp&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.betanews.com/article/With-PlayStation-Network-still-down-Sony-admits-it-was-hacked/1303586929"&gt;http://www.betanews.com/article/With-PlayStation-Network-still-down-Sony-admits-it-was-hacked/1303586929&lt;/a&gt;&lt;/b&gt;&lt;br clear="all"&gt; &lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-204916855079531824?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/204916855079531824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/08/sony-play-station-network-is-hacked.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/204916855079531824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/204916855079531824'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/08/sony-play-station-network-is-hacked.html' title='Sony Play Station Network is Hacked !!'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-4721900604238160646</id><published>2011-08-03T23:56:00.000-07:00</published><updated>2011-08-04T03:58:47.567-07:00</updated><title type='text'>Use PAC file to configure your proxy settings</title><content type='html'>Proxy-Auto-Config (PAC) file defines how to web browser choose the&lt;br /&gt;appropriate proxy server for connect to web site. PAC file contains a&lt;br /&gt;java script function “FindProxyForURL(url, host)” . This function&lt;br /&gt;returns one or more access method specifications.&amp;nbsp; This&lt;br /&gt;function allows to define simple and complex rules to find the proxy&lt;br /&gt;server for given URL. That rule can be defined by the&lt;br /&gt;Protocol&amp;nbsp; or Specific host or Specific Port. So user can&lt;br /&gt;define different proxies to different URLs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Examples:&lt;br /&gt;&lt;br /&gt;Proxy1.pac:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: php"&gt;function FindProxyForURL(url, host)&lt;br /&gt;{&lt;br /&gt;/* SPECIAL CASES FOR NON-BALANCED ROUTING */&lt;br /&gt;// Direct connections to non-FQDN hosts&lt;br /&gt;if (isPlainHostName(host) ||&lt;br /&gt;(host == "127.0.0.1") ||&lt;br /&gt;(host == "www.pcs-computing.com") ||&lt;br /&gt;(host == "pcs-computing.com") ||&lt;br /&gt;(shExpMatch(host, "*.pcs-intranet.com")) ||&lt;br /&gt;(shExpMatch(host, "90.0.0.*")) ||&lt;br /&gt;(shExpMatch(host, "10.*"))) {&lt;br /&gt;return "DIRECT" /* Directly connect to site */&lt;br /&gt;} else {&lt;br /&gt;/* Go through Proxy Server */&lt;br /&gt;return "PROXY pcsproxy.pcs-computing.com:8080" }&lt;br /&gt;}&lt;/pre&gt;&lt;pre class="brush: php"&gt;&lt;/pre&gt;Proxy2.pac:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: php"&gt;function FindProxyForURL(url, host) {&lt;br /&gt;/* our local URLs from the domains below example.com don't need a proxy: */&lt;br /&gt;if (shExpMatch(host, "*.example.com"))&lt;br /&gt;{&lt;br /&gt;return "DIRECT";&lt;br /&gt;}&lt;br /&gt;// URLs within this network are accessed through&lt;br /&gt;// port 8080 on fastproxy.example.com:&lt;br /&gt;if (isInNet(host, "10.0.0.0", "255.255.248.0"))&lt;br /&gt;{&lt;br /&gt;return "PROXY fastproxy.example.com:8080";&lt;br /&gt;}&lt;br /&gt;// All other requests go through port 8080 of proxy.example.com.&lt;br /&gt;// should that fail to respond, go directly to the WWW:&lt;br /&gt;return "PROXY proxy.example.com:8080; DIRECT";&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Set PAC file path in Mozilla FireFox,&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://xs.to/storage/anonym/2011/08/04/79296.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://xs.to/storage/anonym/2011/08/04/79296.jpeg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Information Source :&lt;a href="http://www.blogger.com/%20http://en.wikipedia.org/wiki/Proxy_auto-config%20"&gt; &lt;i&gt;http://en.wikipedia.org/wiki/Proxy_auto-config &lt;/i&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Sample Scripts:&amp;nbsp;&lt;i&gt; &lt;a href="https://calomel.org/proxy_auto_config.html"&gt;https://calomel.org/proxy_auto_config.html&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&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/1730458209182769184-4721900604238160646?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/4721900604238160646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/08/use-pac-file-to-configure-your-proxy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4721900604238160646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4721900604238160646'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/08/use-pac-file-to-configure-your-proxy.html' title='Use PAC file to configure your proxy settings'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-6110816237923150894</id><published>2011-07-25T21:38:00.001-07:00</published><updated>2011-07-25T21:38:26.921-07:00</updated><title type='text'>News about Google</title><content type='html'>&lt;br&gt;          &lt;div class="gmail_quote"&gt;&lt;div link="blue" vlink="purple" lang="EN-US"&gt;  &lt;div&gt;  &lt;p class="MsoNormal"&gt;&lt;img src="cid:image001.png@01CC4B7B.657AA9A0" width="976" height="838"&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;/u&gt; &lt;u&gt;&lt;/u&gt;&lt;/p&gt;&lt;br&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-6110816237923150894?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/6110816237923150894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/07/news-about-google.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6110816237923150894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6110816237923150894'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/07/news-about-google.html' title='News about Google'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-131181857952260458</id><published>2011-07-20T04:05:00.001-07:00</published><updated>2011-07-20T04:05:14.729-07:00</updated><title type='text'>Type your article or blog in Sinhala [Google transliterate]</title><content type='html'>Now Google provide facility to type Sinhala words in Web Interface. &lt;br&gt;This tool translate English words to Sinhala in real time.&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img title="googleindic.jpg" alt="googleindic.jpg" src="http://img694.imageshack.us/img694/3443/googleindic.jpg"&gt;&lt;br clear="all"&gt; &lt;b&gt;&lt;a href="http://www.google.com/transliterate/"&gt;http://www.google.com/transliterate/&lt;/a&gt;&lt;/b&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-131181857952260458?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/131181857952260458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/07/type-your-article-or-blog-in-sinhala.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/131181857952260458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/131181857952260458'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/07/type-your-article-or-blog-in-sinhala.html' title='Type your article or blog in Sinhala [Google transliterate]'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-5800537371239766034</id><published>2011-07-19T04:54:00.001-07:00</published><updated>2011-07-19T04:57:01.589-07:00</updated><title type='text'>Open source Spelling checking facility for Web based application [Web Service, JavaScript]</title><content type='html'>&lt;h2 style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;&lt;h2 style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;After the Deadline use artificial intelligence and natural language processing technology to &lt;a href="http://www.afterthedeadline.com/features.slp"&gt;find your writing errors&lt;/a&gt; and  offer smart suggestions.&lt;/span&gt;&lt;/h2&gt;&lt;h2&gt;Use After the Deadline&lt;/h2&gt;&lt;div class="left c1"&gt;&lt;style&gt;ul.uses li { padding-top: 0.5em; padding-bottom: 0.5em; }&lt;/style&gt;  &lt;br /&gt;&lt;ul class="uses"&gt;&lt;li&gt;&lt;b&gt;In your browser:&lt;/b&gt; After the Deadline is available as a &lt;a href="http://firefox.afterthedeadline.com/"&gt;Firefox add-on&lt;/a&gt; and a &lt;a href="http://chrome.afterthedeadline.com/"&gt;Google Chrome extension&lt;/a&gt;. Now you can use our technology on any site.&lt;/li&gt;&lt;li&gt;&lt;b&gt;With your blog:&lt;/b&gt; For bloggers, After the Deadline is available as a &lt;a href="http://www.afterthedeadline.com/download.slp?platform=WordPress"&gt;WordPress plugin&lt;/a&gt;. You may also use our &lt;a href="http://www.afterthedeadline.com/download.slp?platform=IntenseDebate"&gt;Intense Debate plugin&lt;/a&gt; to let your readers check their comments.&lt;/li&gt;&lt;li&gt;&lt;b&gt;On your site:&lt;/b&gt; Add our grammar, style, and spelling checker to your forms with our plugins for &lt;a href="http://www.afterthedeadline.com/download.slp?platform=jQuery"&gt;jQuery&lt;/a&gt; and &lt;a href="http://www.afterthedeadline.com/download.slp?platform=TinyMCE"&gt;TinyMCE&lt;/a&gt;. Our &lt;a href="http://open.afterthedeadline.com/"&gt;server technology&lt;/a&gt; is open source too.&lt;/li&gt;&lt;li&gt;&lt;b&gt;With OpenOffice.org Writer:&lt;/b&gt; Our grammar, style, and misused word checker is available as an &lt;a href="http://www.afterthedeadline.com/download.slp?platform=OpenOffice"&gt;OpenOffice.org extension&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;&lt;img alt="ie1FBE.jpg" height="373" src="http://i.min.us/ie1FBE.jpg" title="ie1FBE.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sample Web Service Response:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family: georgia,serif; font-size: x-small;"&gt;&amp;lt;results&amp;gt;&lt;br /&gt;&amp;lt;error&amp;gt;&lt;br /&gt;&amp;lt;string&amp;gt;to be&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Passive voice&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;precontext&amp;gt;want&amp;lt;/precontext&amp;gt;&lt;br /&gt;&amp;lt;type&amp;gt;grammar&amp;lt;/type&amp;gt;&lt;br /&gt;&amp;lt;url&amp;gt;&lt;a href="http://service.afterthedeadline.com/info.slp?text=to+be"&gt;http://service.afterthedeadline.com/info.slp?text=to+be&lt;/a&gt;&amp;lt;/url&amp;gt;&lt;br /&gt;&amp;lt;/error&amp;gt;&lt;br /&gt;&amp;lt;error&amp;gt;&lt;br /&gt;&amp;lt;string&amp;gt;wether&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Did you mean...&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;precontext&amp;gt;determine&amp;lt;/precontext&amp;gt;&lt;br /&gt;&amp;lt;suggestions&amp;gt;&lt;br /&gt;&amp;lt;option&amp;gt;whether&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;option&amp;gt;weather&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;/suggestions&amp;gt;&lt;br /&gt;&amp;lt;type&amp;gt;spelling&amp;lt;/type&amp;gt;&lt;br /&gt;&amp;lt;url&amp;gt;&lt;a href="http://service.afterthedeadline.com/info.slp?text=wether"&gt;http://service.afterthedeadline.com/info.slp?text=wether&lt;/a&gt;&amp;lt;/url&amp;gt;&lt;br /&gt;&amp;lt;/error&amp;gt;&lt;br /&gt;&amp;lt;/results&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;-- &lt;br /&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com/"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-5800537371239766034?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/5800537371239766034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/07/open-source-spelling-checking-facility.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5800537371239766034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5800537371239766034'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/07/open-source-spelling-checking-facility.html' title='Open source Spelling checking facility for Web based application [Web Service, JavaScript]'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-5518905604011056496</id><published>2011-07-18T21:21:00.000-07:00</published><updated>2011-07-18T21:21:19.319-07:00</updated><title type='text'>Selenium is a suite of tools to automate web browsers</title><content type='html'>&amp;nbsp;&lt;b&gt;Selenium is a suite of tools&lt;/b&gt; to automate web browsers across many platforms.         &lt;br /&gt;&lt;h3 id="step1"&gt;1. Begin: write and run tests in Firefox.&lt;/h3&gt;&lt;div&gt;&lt;a href="http://seleniumhq.org/projects/ide/"&gt;&lt;img alt="Selenium IDE Logo" class="icon" src="http://seleniumhq.org/images/selenium-ide-logo.png" /&gt;&lt;/a&gt;        &lt;b&gt;&lt;a href="http://seleniumhq.org/projects/ide/"&gt;Selenium IDE&lt;/a&gt;&lt;/b&gt;       is a Firefox add-on that records clicks, typing, and other       actions to make a test, which you can play back in the       browser.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://seleniumhq.org/download"&gt;Download Selenium IDE&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://seleniumhq.org/projects/ide/"&gt;Learn more&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://seleniumhq.org/projects/ide/"&gt;Screenshots&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 id="step2"&gt;2. Customize: your language, your browser.&lt;/h3&gt;&lt;div&gt;&lt;a href="http://seleniumhq.org/projects/remote-control/index.html"&gt;&lt;img alt="Selenium RC Logo" class="icon" src="http://seleniumhq.org/images/selenium-rc-logo.png" /&gt;&lt;/a&gt;        &lt;b&gt;&lt;a href="http://seleniumhq.org/projects/remote-control/"&gt;Selenium       Remote Control (RC)&lt;/a&gt;&lt;/b&gt; runs your tests in &lt;a href="http://seleniumhq.org/about/platforms.html#browsers"&gt;multiple browsers&lt;/a&gt; and       &lt;a href="http://seleniumhq.org/about/platforms.html#operating-systems"&gt;platforms&lt;/a&gt;.       Tweak your tests in your &lt;a href="http://seleniumhq.org/about/platforms.html#programming-languages"&gt;preferred       language&lt;/a&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://seleniumhq.org/download"&gt;Download Selenium RC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://seleniumhq.org/projects/remote-control"&gt;Learn more&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 id="step3"&gt;3. Deploy: scale out, speed up.&lt;/h3&gt;&lt;div&gt;&lt;a href="http://selenium-grid.openqa.org/"&gt;&lt;img alt="Selenium Grid Logo" class="icon" src="http://seleniumhq.org/images/selenium-grid-logo.png" /&gt;&lt;/a&gt;        &lt;b&gt;&lt;a href="http://selenium-grid.openqa.org/"&gt;Selenium Grid&lt;/a&gt;&lt;/b&gt;       extends Selenium RC to distribute your tests across multiple       servers, saving you time by running tests in parallel.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://selenium-grid.openqa.org/download.html"&gt;Download         Selenium Grid&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://selenium-grid.seleniumhq.org/how_it_works.html"&gt;Learn         more&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;How It Works.....&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://seleniumhq.org/about/how-it-works.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://seleniumhq.org/about/how-it-works.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-5518905604011056496?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/5518905604011056496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/07/selenium-is-suite-of-tools-to-automate.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5518905604011056496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5518905604011056496'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/07/selenium-is-suite-of-tools-to-automate.html' title='Selenium is a suite of tools to automate web browsers'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1863182239914273429</id><published>2011-06-29T02:42:00.000-07:00</published><updated>2011-06-29T02:42:41.852-07:00</updated><title type='text'>Free Image Hosting (Multiple Imges at One time)</title><content type='html'>&lt;a href="http://postimage.org/"&gt;[Link]&amp;nbsp;&lt;/a&gt;- http://postimage.org&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.postimage.org/" target="_blank"&gt;&lt;img alt="1" border="0" src="http://s3.postimage.org/peu3kices/image.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1863182239914273429?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1863182239914273429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/06/free-image-hosting-multiple-imges-at.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1863182239914273429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1863182239914273429'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/06/free-image-hosting-multiple-imges-at.html' title='Free Image Hosting (Multiple Imges at One time)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1108604157508355139</id><published>2011-06-29T02:36:00.000-07:00</published><updated>2011-06-29T02:36:37.225-07:00</updated><title type='text'>FastStone Photo Resizer</title><content type='html'>&lt;ul&gt;&lt;li&gt;FastStone Photo Resizer is an image converter and renaming tool that intends to enable users to convert, rename, resize, crop, rotate, change color depth, add text and watermarks to images in a quick and easy batch mode. Drag and Drop mouse operation is well supported.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Features&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Convert and Rename images in batch mode&lt;br /&gt;Support JPEG, BMP, GIF, PNG, TIFF and JPEG2000&lt;br /&gt;Resize, crop, change color depth, apply color effects, add text, watermark and border effects&lt;br /&gt;Rename images with sequential number&lt;br /&gt;Search and replace texts in the file names &lt;br /&gt;Preview conversion and renaming&lt;br /&gt;Support folder/non-folder structure&lt;br /&gt;&amp;nbsp;Load and save settings&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.faststone.org/FSResizerDownload.htm"&gt;&lt;strong&gt;[Download]&amp;nbsp;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://www.postimage.org/" target="_blank"&gt;&lt;img alt="1" border="0" src="http://s1.postimage.org/57dcnlu86/image.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.postimage.org/" target="_blank"&gt;&lt;img alt="2" border="0" src="http://s1.postimage.org/57deb56py/image.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.postimage.org/" target="_blank"&gt;&lt;img alt="3" border="0" src="http://s1.postimage.org/57dfyoj7q/image.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1108604157508355139?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1108604157508355139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/06/faststone-photo-resizer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1108604157508355139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1108604157508355139'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/06/faststone-photo-resizer.html' title='FastStone Photo Resizer'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3763768160114031889</id><published>2011-06-17T04:35:00.001-07:00</published><updated>2011-06-17T04:35:02.734-07:00</updated><title type='text'>Check errors in Your CSS scripts - CSS Lint (online)</title><content type='html'>CSS Lint is a tool to help point out problems with your CSS code. It does basic syntax checking as well as applying a set of rules to the code that look for problematic patterns or signs of inefficiency. The rules are all pluggable, so you can easily write your own or omit ones you don&amp;#39;t want.&lt;br&gt;&lt;br&gt;&lt;img title="tsjQm.jpg" alt="tsjQm.jpg" src="http://i.imgur.com/tsjQm.jpg" width="600" height="359"&gt;&lt;br&gt;&lt;br&gt;&lt;img title="q8d9G.jpg" alt="q8d9G.jpg" src="http://i.imgur.com/q8d9G.jpg" width="593" height="485"&gt;&lt;br clear="all"&gt; &lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3763768160114031889?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3763768160114031889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/06/check-errors-in-your-css-scripts-css.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3763768160114031889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3763768160114031889'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/06/check-errors-in-your-css-scripts-css.html' title='Check errors in Your CSS scripts - CSS Lint (online)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-2545896380157813717</id><published>2011-05-24T20:59:00.001-07:00</published><updated>2011-05-24T20:59:04.923-07:00</updated><title type='text'>Extract Compiler Information Of a Executable File. [PEID]</title><content type='html'>&lt;p align="left"&gt;&lt;b&gt;PEiD&lt;/b&gt; is a tool that extract compiler information of a given executable file. This is a free tool. &lt;br&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;b&gt;&lt;u&gt;Features of PEiD Tool,&lt;/u&gt;&lt;/b&gt;&lt;br&gt;&lt;/p&gt; 	  1. It has a superb GUI and the interface is really intuitive and simple.&lt;br&gt; 	    2. Detection rates are amongst the best given by any other identifier.&lt;br&gt; 	    3. Special scanning modes for *advanced* detections of modified and unknown files.&lt;br&gt; 	    4. Shell integration, Command line support, Always on top and Drag&amp;#39;n&amp;#39;Drop capabilities.&lt;br&gt; 	    5. Multiple file and directory scanning with recursion.&lt;br&gt; 	    6. Task viewer and controller.&lt;br&gt; 	    7. Plugin Interface with plugins like Generic OEP Finder and Krypto ANALyzer.&lt;br&gt; 	    8. Extra scanning techniques used for even better detections.&lt;br&gt; 	    9. Heuristic Scanning options.&lt;br&gt; 	    10. New PE details, Imports, Exports and TLS viewers&lt;br&gt; 	    11. New built in quick disassembler.&lt;br&gt; 	    12. New built in hex viewer.&lt;br&gt; 	    13. External signature interface which can be updated by the user.&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;a href="http://www.peid.info/getfile.php?id=1"&gt;Download it from Here&lt;/a&gt;.&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Home Page : &lt;a href="http://www.peid.info/"&gt;http://www.peid.info/&lt;/a&gt;&lt;/b&gt;&lt;br&gt; &lt;br clear="all"&gt;&lt;img title="PKUHQ.jpg" alt="PKUHQ.jpg" src="http://i.imgur.com/PKUHQ.jpg"&gt;&lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-2545896380157813717?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/2545896380157813717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/05/extract-compiler-information-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2545896380157813717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2545896380157813717'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/05/extract-compiler-information-of.html' title='Extract Compiler Information Of a Executable File. [PEID]'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1078064936207525943</id><published>2011-05-22T20:51:00.001-07:00</published><updated>2011-05-22T20:51:49.553-07:00</updated><title type='text'>Dropdo: Online File Viewer.</title><content type='html'>&lt;div class="gmail_quote"&gt;&lt;img title="icxtW.jpg" alt="icxtW.jpg" src="http://i.imgur.com/icxtW.jpg" width="576" height="400"&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;It can be a pain sharing files with other people if you don't know whether they will have issues opening a document, or whether they even have the necessary programs installed. For example, lets say you had a Photoshop file that you wanted to show someone. Do you just send them the original file in hopes that they'll be able to open it, or do you take the time to save it into a more universally accepted image format?&lt;/p&gt; &lt;p&gt;&lt;a href="http://dropdo.com/" target="_blank"&gt;Dropdo&lt;/a&gt; wants to solve this exact issue by working to become a universal online file viewer. To get a file on the site you can upload it or point it to a file that already exists on the web. Here's an overview and some examples of the different types of files that can be uploaded and viewed online:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Documents (Word, Excel, PDF, PowerPoint, OpenOffice, RTF, CSV, etc.) – &lt;a href="http://dropdo.com/20/consultants.doc" target="_blank"&gt;DOC example&lt;/a&gt;, &lt;a href="http://dropdo.com/F/HTML_Cheat_Sheet.pdf" target="_blank"&gt;PDF example&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;Images (including formats like EPS, SVG, PSD, Illustrator, etc.) – &lt;a href="http://dropdo.com/B/Chaos.jpg" target="_blank"&gt;JPG example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Few video formats – &lt;a href="http://dropdo.com/Fg/cat-laser-bowling" target="_blank"&gt;example&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;Few audio formats (including MP3) – &lt;a href="http://dropdo.com/C/02_-_Flim.mp3" target="_blank"&gt;MP3 example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Plaintext&lt;/li&gt;&lt;li&gt;Markdown – &lt;a href="http://dropdo.com/x/cowboy-readme.md" target="_blank"&gt;MD example&lt;/a&gt;&lt;/li&gt;  &lt;/ul&gt; &lt;p&gt;If you try to use a file format that Dropdo doesn't directly support it will still accept it, but it will only be able to provide a download link rather than using a web-based viewer. According to the FAQs you are restricted to files that are smaller than 25MB, but the good news is that files will stick around indefinitely (unless they violate the terms of service). The big drawback is that as of right now there's no way to have your file(s) removed without emailing the developer. Hopefully that feature will be coming&lt;/p&gt;&lt;img title="7iqFS.jpg" alt="7iqFS.jpg" src="http://i.imgur.com/7iqFS.jpg" width="554" height="278"&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/1730458209182769184-1078064936207525943?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1078064936207525943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/05/dropdo-online-file-viewer_22.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1078064936207525943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1078064936207525943'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/05/dropdo-online-file-viewer_22.html' title='Dropdo: Online File Viewer.'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-6422024395481187207</id><published>2011-04-25T21:41:00.001-07:00</published><updated>2011-04-25T21:44:29.768-07:00</updated><title type='text'>USBDeview - List all connected USB Devices.</title><content type='html'>&lt;b&gt;USBDeview - GUI&lt;/b&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-C8IdPwwkzjU/TbZNkbbF9PI/AAAAAAAABwc/DUqfMwKPdRA/s1600/Usbdeview.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 239px;" src="http://3.bp.blogspot.com/-C8IdPwwkzjU/TbZNkbbF9PI/AAAAAAAABwc/DUqfMwKPdRA/s400/Usbdeview.jpg" alt="" id="BLOGGER_PHOTO_ID_5599748474913813746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;USBDeview - Speed Test&lt;/b&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-eXxqsopskxE/TbZNktErcLI/AAAAAAAABwk/TSqDjkiJr0w/s1600/Usb%2BSpeed%2BTest.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 204px;" src="http://2.bp.blogspot.com/-eXxqsopskxE/TbZNktErcLI/AAAAAAAABwk/TSqDjkiJr0w/s400/Usb%2BSpeed%2BTest.jpg" alt="" id="BLOGGER_PHOTO_ID_5599748479651639474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;USBDeview is a small utility that lists all USB devices that currently connected to your computer, as well as all devices that you previously used. For each device, extended information is displayed: name/description, type, serial number (for mass storage), the date/time that device was added, Vendor ID, Product ID etc. USBDeview also allows you to uninstall USB devices that you previously used and disconnect those currently connected. You can also use the program on a remote computer, as long as you are logged into that computer as admin.&lt;br /&gt;&lt;br /&gt;* 64-bit version is available for &lt;a href="http://www.nirsoft.net/utils/usbdeview-x64.zip"&gt;download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* This is a freeware.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.portablefreeware.com/download.php?dd=1004"&gt;[Download&lt;/a&gt;]&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-6422024395481187207?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/6422024395481187207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/04/usbdeview-list-all-connected-usb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6422024395481187207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6422024395481187207'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/04/usbdeview-list-all-connected-usb.html' title='USBDeview - List all connected USB Devices.'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-C8IdPwwkzjU/TbZNkbbF9PI/AAAAAAAABwc/DUqfMwKPdRA/s72-c/Usbdeview.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-5160605129579090175</id><published>2011-04-17T22:40:00.001-07:00</published><updated>2011-04-17T22:40:11.372-07:00</updated><title type='text'>RegExr: Free Online RegEx Testing Tool</title><content type='html'>&lt;p&gt;RegExr is an online tool for editing and testing Regular Expressions (RegExp / RegEx). It provides a simple interface to enter RegEx expressions, and visualize matches in real-time editable source text. It also provides a handy RegExp snippet sidebar with descriptions and usage examples to make it easier to learn Regular Expressions through trial and error.&lt;/p&gt; &lt;p&gt;Free desktop version also available  for Mac OSX and Windows built with AIR .&lt;/p&gt;&lt;p&gt;&lt;img src="http://gskinner.com/blog/assets/RegExr0_1.jpg" width="550" height="332"&gt;&lt;/p&gt; &lt;p&gt;.&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;Regular Expression References:&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;a href="http://www.night-ray.com/regex.pdf"&gt;http://www.night-ray.com/regex.pdf&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;a href="http://www.inxconstruction.com/medias/1/regexp.pdf"&gt;http://www.inxconstruction.com/medias/1/regexp.pdf&lt;/a&gt;&lt;/i&gt;&lt;br&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.beedub.com/book/3rd/regexp.pdf"&gt;&lt;i&gt;http://www.beedub.com/book/3rd/regexp.pdf&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;b&gt;Online Regular Expression Editor  : &lt;a href="http://gskinner.com/RegExr/"&gt;http://gskinner.com/RegExr/&lt;/a&gt;&lt;/b&gt;&lt;br clear="all"&gt; &lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-5160605129579090175?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/5160605129579090175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/04/regexr-free-online-regex-testing-tool.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5160605129579090175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5160605129579090175'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/04/regexr-free-online-regex-testing-tool.html' title='RegExr: Free Online RegEx Testing Tool'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-6154819096472355449</id><published>2011-04-01T00:04:00.001-07:00</published><updated>2011-04-01T00:04:24.294-07:00</updated><title type='text'>Google motion is released !</title><content type='html'>&lt;br clear="all"&gt;Motion is the news technology of communication in Google. It is very different from other Google services. &lt;br&gt;Google motion try to achieve the very effective new way of  HCI (Human Computer Interaction) .&lt;br&gt; &lt;ul class="features"&gt;&lt;li class="even"&gt;             &lt;a href="http://mail.google.com/mail/help/images/motion/schematic_large.jpg" target="_blank"&gt;&lt;img alt="Gmail Motion - How it works" src="http://mail.google.com/mail/help/images/motion/schematic.jpg" width="453" height="230"&gt;&lt;/a&gt;             &lt;h2&gt;               How it works             &lt;/h2&gt;             &lt;p&gt;               Gmail Motion uses your computer&amp;#39;s built-in webcam and Google&amp;#39;s patented spatial               tracking technology to detect your movements and translate them into meaningful               characters and commands. Movements are designed to be simple and intuitive for people               of all skill levels.             &lt;/p&gt;           &lt;/li&gt;&lt;li class="odd"&gt;             &lt;a href="http://mail.google.com/mail/help/images/motion/motion_printable_guide.pdf" target="_blank"&gt;&lt;img alt="Gmail Motion - Motion Guide" src="http://mail.google.com/mail/help/images/motion/motion_printable_guide.gif" width="453" height="230"&gt;&lt;/a&gt;&lt;/li&gt; &lt;li class="odd"&gt;             &lt;a href="http://mail.google.com/mail/help/images/motion/safety_diagram_large.jpg" target="_blank"&gt;&lt;img alt="Gmail Motion - Safety precautions" src="http://mail.google.com/mail/help/images/motion/safety_diagram.jpg" width="453" height="230"&gt;&lt;/a&gt;&lt;/li&gt; &lt;li class="odd"&gt;&lt;img alt="Gmail Motion - Coming soon to Google Docs" src="http://mail.google.com/mail/help/images/motion/docs.jpg" width="453" height="230"&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-6154819096472355449?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/6154819096472355449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/04/google-motion-is-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6154819096472355449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6154819096472355449'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/04/google-motion-is-released.html' title='Google motion is released !'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-8427202799376129531</id><published>2011-03-17T06:07:00.000-07:00</published><updated>2011-03-17T06:16:44.849-07:00</updated><title type='text'>Mozilla XULRunner Tutorial</title><content type='html'>&lt;strong&gt;Step 1 – Download XULRunner:&lt;/strong&gt; The&lt;br /&gt;Mozilla developer page lists &lt;a href="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.2.15/runtimes/xulrunner-1.9.2.15.en-US.win32.zip"&gt;1.9.2.15&lt;/a&gt;&lt;br /&gt;as the most recent release&lt;br /&gt;The XULRunner download is a ZIP file, not a true install. As a&lt;br /&gt;developer, I like the idea that XULRunner only needs to be unzipped&lt;br /&gt;onto my machine. I am assuming that it doesn’t need to hook into my&lt;br /&gt;Windows system and that’s a good thing.&lt;br /&gt;&lt;strong&gt;Step 2 – Install XULRunner:&lt;/strong&gt; I&lt;br /&gt;unzipped the archive to a new “c:\program files\xulrunner” folder.&lt;br /&gt;Pretty simple so far.&lt;br /&gt;Time to start a simple, bare bones application shell. Call it&lt;br /&gt;a XUL&lt;br /&gt;“Hello World” if you want, but I need to make sure that XULRunner will&lt;br /&gt;work at all. Googling turned up a nice tutorial &lt;a href="http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx"&gt;here&lt;/a&gt;.&lt;br /&gt;It is definately worth reading. Using the tutorial, I created a simple&lt;br /&gt;bootstrap application. All of what you see below can be found in Ryan’s&lt;br /&gt;tutorial and the Mozilla &lt;a href="http://developer.mozilla.org/en/docs/XULRunner"&gt;XULRunner&lt;/a&gt;&lt;br /&gt;documentation pages.&lt;br /&gt;&lt;strong&gt;Step 3 – Create application folder struture:&lt;/strong&gt;&lt;br /&gt;I create the root in a new “c:\program files\xulapp” folder. Here is&lt;br /&gt;the subfolder structure:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;/xulapp&lt;br /&gt; /chrome&lt;br /&gt;   /content&lt;br /&gt;     main.xul&lt;br /&gt;   chrome.manifest&lt;br /&gt; /defaults&lt;br /&gt;   /preferences&lt;br /&gt;     prefs.js&lt;br /&gt; application.ini&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Notice that there are 4 files in the folder structure:&lt;br /&gt;application.ini, chrome.manifest, prefs.js &amp;amp; main.xul&lt;br /&gt;&lt;strong&gt;Step 4 – Setup application.ini:&lt;/strong&gt;&lt;br /&gt;The &lt;a href="http://developer.mozilla.org/en/docs/XUL_Application_Packaging"&gt;application.ini&lt;/a&gt;&lt;br /&gt;file acts as the XULRunner entry point for your application. It seems&lt;br /&gt;to be used to &lt;a href="http://developer.mozilla.org/en/docs/XULRunner:Deploying_XULRunner_1.8"&gt;configure&lt;/a&gt;&lt;br /&gt;how your application intends to use the XULRunner platform as well as&lt;br /&gt;configure some information that XULRunner uses to run your application.&lt;br /&gt;Here is mine:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;[App]&lt;br /&gt;Vendor=Finkle&lt;br /&gt;Name=Test App&lt;br /&gt;Version=1.0&lt;br /&gt;BuildID=20060101&lt;br /&gt;Copyright=Copyright (c) 2006 Mark Finkle&lt;br /&gt;ID=xulapp@starkravingfinkle.org&lt;br /&gt;&lt;br /&gt;[Gecko]&lt;br /&gt;MinVersion=1.8&lt;br /&gt;MaxVersion=1.8&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;Step 5 – Setup Chrome Manifest:&lt;/strong&gt;&lt;br /&gt;The chrome manifest&lt;br /&gt;file is used by XULRunner to define specific URI’s which in turn are&lt;br /&gt;used to locate application resources. This will become clearer when we&lt;br /&gt;see how the “chrome://” URI is used. Applications can be distributed&lt;br /&gt;compressed in a JAR file or uncompressed as folders and files. I am&lt;br /&gt;using the uncompressed method for now. Here is my manifest:&lt;br /&gt;&lt;code&gt;content myapp file:content/&lt;/code&gt;&lt;br /&gt;&lt;strong&gt;Step 6 – Setup Preferences:&lt;/strong&gt; The&lt;br /&gt;prefs.js files is used to tell XULRunner the name of the &lt;a href="http://developer.mozilla.org/en/docs/XULRunner:Specifying_Startup_Chrome_Window"&gt;XUL&lt;br /&gt;file to use as the main window&lt;/a&gt;. Here is mine:&lt;br /&gt;&lt;code&gt;pref("toolkit.defaultChromeURI",&lt;br /&gt;"chrome://myapp/content/main.xul");&lt;/code&gt;&lt;br /&gt;XULRunner preferences include:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&lt;a href="http://developer.mozilla.org/en/docs/toolkit.defaultChromeURI"&gt;toolkit.defaultChromeURI&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href="http://developer.mozilla.org/en/docs/toolkit.defaultChromeFeatures"&gt;toolkit.defaultChromeFeatures&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href="http://developer.mozilla.org/en/docs/toolkit.singletonWindowType"&gt;toolkit.singletonWindowType&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;strong&gt;Step 7 – Create some XUL:&lt;/strong&gt;&lt;br /&gt;Finally, we need to&lt;br /&gt;create a simple XUL window. Nothing fancy here, just the minimum we&lt;br /&gt;need to make a window. No menus or anything:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;window id="main" title="My App" width="300" height="300"&lt;br /&gt;xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&amp;gt;&lt;br /&gt; &amp;lt;caption label="Hello World"/&amp;gt;&lt;br /&gt;&amp;lt;/window&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt; Step 8 – Run the App:&lt;/strong&gt; The moment&lt;br /&gt;of truth. We need&lt;br /&gt;to get XULRunner to launch the bare-bones application. From a command&lt;br /&gt;prompt opened to the “c:\program files\myapp” folder, we should be able&lt;br /&gt;to execute this:&lt;br /&gt;&lt;code&gt;xulrunner.exe application.ini&lt;/code&gt;&lt;br /&gt;Of course, xulrunner.exe must be in the PATH. Because of where&lt;br /&gt;I&lt;br /&gt;unzipped XULRunner, I could also try this if xulrunner.exe is not in&lt;br /&gt;the PATH:&lt;br /&gt;&lt;code&gt;..\xulrunner\xulrunner.exe application.ini&lt;/code&gt;&lt;br /&gt;&lt;strong&gt;Success!&lt;/strong&gt; Here is a screenshot of&lt;br /&gt;the bare bones application running on Win2K:&lt;br /&gt;&lt;img alt="My App screenshot" id="image56" src="http://starkravingfinkle.org/blog/wp-content/uploads/2006/07/myapp.png" /&gt;&lt;br /&gt;My next step will be to add much more to the bare bones&lt;br /&gt;application.&lt;br /&gt;&lt;br /&gt;Here is my sample application, This is included XULRunner also.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.2shared.com/file/xzO_y391/myapp.html"&gt;[myapp]&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-8427202799376129531?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/8427202799376129531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/03/mozilla-xulrunner-tutorial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8427202799376129531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8427202799376129531'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/03/mozilla-xulrunner-tutorial.html' title='Mozilla XULRunner Tutorial'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-8344508599783052660</id><published>2011-03-16T03:19:00.001-07:00</published><updated>2011-03-16T03:19:03.883-07:00</updated><title type='text'>People who new to Linux</title><content type='html'>I found a good reference guide for linux Users. &lt;br&gt;That is contained basic linux commands for day today use.&lt;br&gt;I have a attach download link here. &lt;br&gt;&lt;br&gt;&lt;a href="http://danleff.net/downloads/linux/linux_quick_ref_card.pdf"&gt;Link for PDF&lt;/a&gt;&lt;br clear="all"&gt; &lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-8344508599783052660?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/8344508599783052660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/03/people-who-new-to-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8344508599783052660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8344508599783052660'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/03/people-who-new-to-linux.html' title='People who new to Linux'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-4245712332081350678</id><published>2011-03-15T02:01:00.001-07:00</published><updated>2011-03-15T21:02:12.710-07:00</updated><title type='text'>C++ Constructor and Destructor work in different ways</title><content type='html'>Some times you may know this facts !!&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush:php"&gt;&lt;![CDATA[&lt;br /&gt;class A&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;A(){cout&lt;&lt;"Create A"&lt;&lt;endl;}&gt;&lt;br /&gt;~A(){cout&lt;&lt;"Delete A"&lt;&lt;endl;}&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;class B : public A&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;B(){cout&lt;&lt;"Create B"&lt;&lt;endl;}&gt;&lt;br /&gt;~B(){cout&lt;&lt;"Delete B"&lt;&lt;endl;}&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int main(int argc, char* argv[])&lt;br /&gt;{&lt;br /&gt;B* b = new B();&lt;br /&gt;delete b;&lt;br /&gt;}&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT::&lt;br /&gt;Create A&lt;br /&gt;Create B&lt;br /&gt;Delete B&lt;br /&gt;Delete A&lt;br /&gt;&lt;br /&gt;#########################################################&lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush:php"&gt;&lt;![CDATA[&lt;br /&gt;class A&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;A(){cout&lt;&lt;"Create A"&lt;&lt;endl;}&gt;&lt;br /&gt;~A(){cout&lt;&lt;"Delete A"&lt;&lt;endl;}&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;class B : public A&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;B(){cout&lt;&lt;"Create B"&lt;&lt;endl;}&gt;&lt;br /&gt;~B(){cout&lt;&lt;"Delete B"&lt;&lt;endl;}&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int main(int argc, char* argv[])&lt;br /&gt;{&lt;br /&gt;A* b = new B();&lt;br /&gt;delete b;&lt;br /&gt;}&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT::&lt;br /&gt;Create A&lt;br /&gt;Create B&lt;br /&gt;Delete A&lt;br /&gt;&lt;br /&gt;####################################################################&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush:php"&gt;&lt;![CDATA[&lt;br /&gt;class A&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;A(){cout&lt;&lt;"Create A"&lt;&lt;endl;}&gt;&lt;br /&gt;~A(){cout&lt;&lt;"Delete A"&lt;&lt;endl;}&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;class B : public A&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;B(){cout&lt;&lt;"Create B"&lt;&lt;endl;}&gt;&lt;br /&gt;~B(){cout&lt;&lt;"Delete B"&lt;&lt;endl;}&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int main(int argc, char* argv[])&lt;br /&gt;{&lt;br /&gt;A* b = new B();&lt;br /&gt;delete (B*)b;&lt;br /&gt;}&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;OUTPUT::&lt;br /&gt;Create A&lt;br /&gt;Create B&lt;br /&gt;Delete B&lt;br /&gt;Delete A&lt;br /&gt;&lt;br /&gt;As the above sample codes, Always objects should be distroied as it's original class type not in parent class type.&lt;br /&gt;Other wise destructor should be Virtual function.&lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush:php"&gt;&lt;![CDATA[&lt;br /&gt;class A&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;A(){cout&lt;&lt;"Create A"&lt;&lt;endl;}&gt;&lt;br /&gt;virtual ~A(){cout&lt;&lt;"Delete A"&lt;&lt;endl;}&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;class B : public A&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;B(){cout&lt;&lt;"Create B"&lt;&lt;endl;}&gt;&lt;br /&gt;~B(){cout&lt;&lt;"Delete B"&lt;&lt;endl;}&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int main(int argc, char* argv[])&lt;br /&gt;{&lt;br /&gt;A* b = new B();&lt;br /&gt;delete b;&lt;br /&gt;}&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;OUTPUT::&lt;br /&gt;Create A&lt;br /&gt;Create B&lt;br /&gt;Delete B&lt;br /&gt;Delete A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-4245712332081350678?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/4245712332081350678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/03/fwd-c-constructor-and-destructor-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4245712332081350678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4245712332081350678'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/03/fwd-c-constructor-and-destructor-work.html' title='C++ Constructor and Destructor work in different ways'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-677954957687713354</id><published>2011-03-09T02:21:00.001-08:00</published><updated>2011-03-09T02:21:36.594-08:00</updated><title type='text'>Why same code work in different in Java and C</title><content type='html'>    I wrote following codes in java and C. But output of those programs are different.&lt;br&gt;Java application gave 21 and C application gave 22 (I use GCC compiler).&lt;br&gt;&lt;br&gt;Still I am investigating the reason for this.&lt;br&gt;&lt;br&gt; Here is the JAVA code.&lt;br&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt;class test&lt;br&gt;{&lt;br&gt;&lt;br&gt;    public static void main(String args[])&lt;br&gt;     {&lt;br&gt;        int a =5;&lt;br&gt;        int b = (++a) + (++a) + (++a);&lt;br&gt;        System.out.println(b);&lt;br&gt;    }&lt;br&gt;&lt;br&gt;}&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;Here is the C code.&lt;br&gt;&lt;br&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; #include &amp;lt;stdio.h&amp;gt;&lt;br&gt;&lt;br&gt;int main( int argc, const char* argv[] )&lt;br&gt;{&lt;br&gt;	int a =5;&lt;br&gt;	int b = (++a) + (++a) + (++a);&lt;br&gt;	printf(&amp;quot;%d \n&amp;quot;,b);&lt;br&gt;}&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--&lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-677954957687713354?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/677954957687713354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/03/why-same-code-work-in-different-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/677954957687713354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/677954957687713354'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/03/why-same-code-work-in-different-in-java.html' title='Why same code work in different in Java and C'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3109795479633024191</id><published>2011-01-17T21:40:00.001-08:00</published><updated>2011-01-17T21:40:35.811-08:00</updated><title type='text'>Firefox "about" Commands List</title><content type='html'> 												 								 								 								 				  				&lt;p&gt; &lt;/p&gt;              &lt;div class="insidecontent"&gt;  &lt;img alt="http://kyrionhackingtutorials.com/blog/wp-content/uploads/2010/07/Extreme-Makeover-Mozilla-Firefox-Edition.jpg" src="http://kyrionhackingtutorials.com/blog/wp-content/uploads/2010/07/Extreme-Makeover-Mozilla-Firefox-Edition.jpg" height="165" width="165"&gt;&lt;br&gt; We love Firefox, so when our  resident geek compiled this  interesting list of &amp;quot;about&amp;quot; commands, &lt;br&gt;we couldn&amp;#39;t resist sharing it with  you guys. &lt;br&gt; &lt;/div&gt;    &lt;p&gt;To use the about commands just type the it into the Firefox address bar.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;about:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Just typing &amp;quot;about:&amp;quot; will show general and version information. It&amp;#39;s kind of short for about firefox :)&lt;br&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;about:mozilla&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;It&amp;#39;s a firefox easter egg. Try it.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;about:blank&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Shows a blank page. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;about:config&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Shows Firefox configuration. &lt;/p&gt;&lt;p&gt; &lt;strong&gt;about:cache&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Shows information about Firefox cache. You can even browse the files in the cache&lt;/p&gt;&lt;p&gt;&lt;strong&gt;about:credits&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;Shows the list of contributors who helped develop Firefox.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;about:plugins&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Displays a list of plugins installed on Firefox&lt;/p&gt;&lt;p&gt;&lt;strong&gt;about:buildconfig&lt;/strong&gt;&lt;/p&gt;Information about the particular build of Firefox. Of interest to only geeks :)&lt;br&gt;&lt;br&gt;&lt;img alt="http://www.tweakguides.com/images/Firefox_17.jpg" src="http://www.tweakguides.com/images/Firefox_17.jpg" height="459" width="633"&gt;&lt;br&gt; -- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3109795479633024191?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3109795479633024191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/01/firefox-about-commands-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3109795479633024191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3109795479633024191'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/01/firefox-about-commands-list.html' title='Firefox &quot;about&quot; Commands List'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-7174018695987020363</id><published>2011-01-11T20:22:00.001-08:00</published><updated>2011-01-11T20:23:00.032-08:00</updated><title type='text'>Xinorbis 5.2 -- Free Hard Drive Space Analyzer with Advanced Reporting</title><content type='html'>&lt;div class="entry"&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/appicons/xinorbis_small.jpg" alt="" height="166" width="250"&gt; &lt;/p&gt; 					&lt;p&gt;Xinorbis is a simple but powerful hard disk analyser. Using a  sophisticated mix of graphs, tables and tree displays, it gives the user  a complete overview of the contents of a hard disk, folder, removable  or network drive. &lt;/p&gt; 					&lt;p&gt;It makes it easy to see the contents, structure and file  distribution and file composition of a whole hard disk, directory, or  mapped network drive. Includes full report creation. &lt;/p&gt; 					&lt;p&gt;Xinorbis is  available for download with an installer, the  recommended option, or as a ZIP archive for expert users who want more  control; installing Xinorbis on to a USB flash drive. &lt;/p&gt; 					&lt;p align="left"&gt;Several additions have been made to Xinorbis to  make it operate more efficiently as a &amp;quot;portable application&amp;quot;, for more  information see the help pages. &lt;/p&gt; 					&lt;p align="left"&gt;Xinorbis supports seamless integration with &lt;strong&gt;SQlite3&lt;/strong&gt; or &lt;strong&gt;ODBC&lt;/strong&gt; for its Folder History data archive. Compare the contents of a hard drive or folder at any time or date. &lt;/p&gt;  				&lt;/div&gt;&lt;br clear="all"&gt;&lt;div class="post"&gt; 			&lt;div class="post-bgtop"&gt; 			&lt;div class="post-bgbtm"&gt; 				&lt;h2 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://www.freshney.org/xinorbis/index.htm#"&gt;Features&lt;/a&gt;&lt;/font&gt;&lt;/h2&gt; 				&lt;div class="entry"&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; analyse a single drive, folder or merge several together in one report &lt;/p&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; view  file distribution by file type, location, attributes, size, user (owner) and date/time&lt;/p&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; the Folder History feature allows you to compare the contents of a folder or drive at various times and dates  &lt;/p&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; in-bullt powerful search engine (+ save results to a file or clipboard)  &lt;/p&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; find duplicate files (by name and size) &lt;/p&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; complex report generation (with many user customisations) with export to HTML, ASCII, CSV or XML &lt;/p&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; save reports and tables for later comparison or for inclusion in other documents&lt;/p&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; shell support, scan a directory through Windows Explorer &lt;/p&gt; 					&lt;p&gt;&lt;img src="http://www.freshney.org/images/greycube.gif" alt="" height="8" width="12"&gt; updated regularly&lt;/p&gt; 				&lt;/div&gt; 			&lt;/div&gt; 			&lt;/div&gt; 			&lt;/div&gt;&lt;font size="4"&gt;&lt;b&gt;&lt;a href="http://www.freshney.org/xinorbis/Xinorbis.zip"&gt;Download&lt;/a&gt;&lt;/b&gt;&lt;/font&gt;&lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-7174018695987020363?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/7174018695987020363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/01/xinorbis-52-free-hard-drive-space.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7174018695987020363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7174018695987020363'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/01/xinorbis-52-free-hard-drive-space.html' title='Xinorbis 5.2 -- Free Hard Drive Space Analyzer with Advanced Reporting'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1845551841421263751</id><published>2011-01-10T01:40:00.001-08:00</published><updated>2011-01-10T01:40:26.862-08:00</updated><title type='text'>XnView - a utility for viewing and converting graphic files.</title><content type='html'>&lt;p&gt;&lt;b&gt;It has the features :&lt;/b&gt;&lt;/p&gt; 									&lt;p class="grey"&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Import about &lt;b class="grey"&gt;400&lt;/b&gt; &lt;a href="http://www.xnview.com/en/formats.html" class="red"&gt;graphic file formats&lt;/a&gt;&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Export about &lt;b class="grey"&gt;50&lt;/b&gt; &lt;a href="http://www.xnview.com/en/formats.html" class="red"&gt;graphic file formats&lt;/a&gt;&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Multipage TIFF, Animated GIF, Animated ICO support&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Image IPTC, EXIF metadata support&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;EXIF auto rotation support&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;IPTC editing&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Resize, rotate, crop support&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Lossless rotate &amp;amp; crop (jpeg) support&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Adjust brightness, contrast...&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Auto levels, contrast&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Modify number of colors&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Apply filters (blur, average, emboss, ...)&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Apply effects (lens, wave, ...)&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Fullscreen mode&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Slide show with effects&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Batch convert, batch rename&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Create WEB page and PDF Files from Images easily&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Screen capture&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Create contact Sheet&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Create or edit Multi-page file (TIFF, DCX, LDF)&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;TWAIN &amp;amp; WIA support (Windows only)&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Print support (Windows only)&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Drag &amp;amp; Drop support (Windows only)&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Compare image side by side&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;Filmstrip layout&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;44 languages support (Windows only)&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;And many many other things...&lt;br&gt; 										&lt;img src="http://www.xnview.com/img/puce.gif" border="0" height="10" width="15"&gt;&lt;b&gt;No Adware, No Spyware&lt;/b&gt; 									&lt;/p&gt; 									&lt;p&gt;&lt;br&gt;&lt;b class="blue"&gt;XnView&lt;/b&gt; is provided as &lt;b class="grey"&gt;FREEWARE&lt;/b&gt; for private non-commercial or educational use (including non-profit organization)&lt;/p&gt;&lt;b&gt;Browser Window&lt;/b&gt; (windows version) 							&lt;p align="center"&gt;&lt;a href="http://download2.xnview.com/screenshots/browser-700x560.gif" target="_blank"&gt;&lt;img src="http://download2.xnview.com/screenshots/browser-400x320.gif" alt="" border="0" height="320" width="400"&gt;&lt;/a&gt;&lt;/p&gt;  							&lt;p&gt;&lt;b&gt;Viewer Window&lt;/b&gt; (windows version)&lt;/p&gt; 							&lt;p align="center"&gt;&lt;a href="http://www.xnview.com/img/screenshots/win2.jpg" target="_blank"&gt;&lt;img src="http://www.xnview.com/img/screenshots/win2s.jpg" alt="" border="0" height="266" width="333"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br clear="all"&gt; &lt;font size="4"&gt;&lt;b&gt;&lt;a href="http://www.xnview.com/en/downloadwin32.html"&gt;Download (Portable and Install Versions)&lt;/a&gt;&lt;/b&gt;&lt;/font&gt;&lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1845551841421263751?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1845551841421263751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/01/xnview-utility-for-viewing-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1845551841421263751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1845551841421263751'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/01/xnview-utility-for-viewing-and.html' title='XnView - a utility for viewing and converting graphic files.'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-2429894348107191549</id><published>2011-01-09T23:36:00.001-08:00</published><updated>2011-01-09T23:36:46.255-08:00</updated><title type='text'>iSafePDF - The open source PDF protection software</title><content type='html'>&lt;p&gt;iSafePDF is a free open source PDF protection software.&lt;/p&gt; &lt;p&gt;it allows you to encrypt PDF document, signe them using a certificate and timestamp the signature.&lt;/p&gt; &lt;p&gt;all those features are PDF standards so your document will be readable/editable with all standard PDF programs.&lt;/p&gt;&lt;h3&gt;The document tab&lt;/h3&gt;  &lt;p&gt;&lt;img alt="isafepdf-main.jpg" src="http://www.codeproject.com/KB/security/isafepdf/isafepdf-main.jpg" height="474" width="600"&gt;&lt;/p&gt;  &lt;p&gt;In this tab, you have to choose at least:&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;The source file: this is the document you want to sign, the document itself will not be modified.&lt;/li&gt;&lt;li&gt;The target file: this document will be a copy of the source document to which the signature and encryption will be applied.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If you want, you can modify the document meta-data.&lt;/p&gt;  &lt;h3&gt;The signature tab&lt;/h3&gt;  &lt;p&gt;&lt;img alt="isafepdf-signature.jpg" src="http://www.codeproject.com/KB/security/isafepdf/isafepdf-signature.jpg" height="474" width="600"&gt;&lt;/p&gt;  &lt;p&gt;This tab allows you to control the digital signature. If you have  locally installed certificates you will see them in the Certificates  list. You also have the choice to sign your document using a &lt;em&gt;pfx&lt;/em&gt; file if certificates are exported to &lt;em&gt;pfx&lt;/em&gt; format (see my first article for more information).&lt;/p&gt;  &lt;p&gt;PDF Signature standard allows you to add three fields to the digital  signature: the reason, the contact, and the location they are visible  when you visualize the digital signature information.&lt;/p&gt;  &lt;p&gt;If you want, you can make the signature visible in the document; in  this case, it will be put on the first page in the lower left corner (in  the next release, I&amp;#39;ll add more options to configure visible  signatures: position, custom image ...etc).&lt;/p&gt;  &lt;p&gt;The PDF standard allows you to use a time stamp authority (TSA);  using this feature will make your document signature valid even if the  digital signature certificate expires, as the TSA will prove that the  certificate was valid when the document was signed.&lt;/p&gt;&lt;h1&gt;&lt;a href="http://isafepdf.eurekaa.org/download-isafepdf/" title="Download iSafePDF"&gt;Download iSafePDF&lt;/a&gt;&lt;/h1&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-2429894348107191549?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/2429894348107191549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2011/01/isafepdf-open-source-pdf-protection.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2429894348107191549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2429894348107191549'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2011/01/isafepdf-open-source-pdf-protection.html' title='iSafePDF - The open source PDF protection software'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3298811160301304293</id><published>2010-11-01T02:18:00.001-07:00</published><updated>2010-11-01T02:18:08.990-07:00</updated><title type='text'>WebP: Google's new attempt at speeding up the web</title><content type='html'>As part of Google's initiative to make the web faster, over the past few  months we have released a number of tools to help site owners speed up  their websites. We launched the &lt;a href="http://code.google.com/speed/page-speed/"&gt;Page Speed&lt;/a&gt; Firefox extension to evaluate the performance of web pages and to get suggestions on how to improve them, we introduced the &lt;a href="http://code.google.com/webtoolkit/speedtracer/"&gt;Speed Tracer&lt;/a&gt; Chrome extension to help identify and fix performance problems in web applications, and we released a set of &lt;a href="http://code.google.com/closure/compiler/"&gt;closure tools&lt;/a&gt;  to help build rich web applications with fully optimized JavaScript  code. While these tools have been incredibly successful in helping  developers optimize their sites, as we've evaluated our progress, we  continue to notice a single component of web pages is consistently  responsible for the majority of the latency on pages across the web:  images. &lt;br&gt;&lt;br&gt;Most of the common image formats on the web today were  established over a decade ago and are based on technology from around  that time. Some engineers at Google decided to figure out if there was a  way to further compress lossy images like JPEG to make them load  faster, while still preserving quality and resolution. As part of this  effort, we are releasing a developer preview of a new image format, &lt;a href="http://code.google.com/speed/webp/"&gt;WebP&lt;/a&gt;, that promises to significantly reduce the byte size of photos on the web, allowing web sites to load faster than before. &lt;br&gt; &lt;br&gt;Images  and photos make up about 65% of the bytes transmitted per web page  today. They can significantly slow down a user's web experience,  especially on bandwidth-constrained networks such as a mobile network.  Images on the web consist primarily of lossy formats such as JPEG, and  to a lesser extent lossless formats such as PNG and GIF. Our team  focused on improving compression of the lossy images, which constitute  the larger percentage of images on the web today.&lt;br&gt;&lt;br&gt;To improve on the compression that JPEG provides, we used an image compressor based on the VP8 codec that Google &lt;a href="http://blog.webmproject.org/2010/05/introducing-webm-open-web-media-project.html"&gt;open-sourced&lt;/a&gt;  in May 2010. We applied the techniques from VP8 video intra frame  coding to push the envelope in still image coding. We also adapted a  very lightweight container based on &lt;a href="http://en.wikipedia.org/wiki/Resource_Interchange_File_Format"&gt;RIFF&lt;/a&gt;.  While this container format contributes a minimal overhead of only 20  bytes per image, it is extensible to allow authors to save meta-data  they would like to store.&lt;br&gt;&lt;br&gt;While the benefits of a VP8 based image  format were clear in theory, we needed to test them in the real world.  In order to gauge the effectiveness of our efforts, we randomly picked  about 1,000,000 images from the web (mostly JPEGs and some PNGs and  GIFs) and re-encoded them to WebP without perceptibly compromising  visual quality. This resulted in an average 39% reduction in file size.  We expect that developers will achieve in practice even better file size  reduction with WebP when starting from an uncompressed image.&lt;br&gt;&lt;br&gt;To  help you assess WebP's performance with other formats, we have shared a  selection of open-source and classic images along with file sizes so  you can visually compare them on &lt;a href="http://code.google.com/speed/webp/gallery.html"&gt;this site&lt;/a&gt;.  We are also releasing a conversion tool that you can use to convert  images to the WebP format. We're looking forward to working with the  browser and web developer community on the WebP spec and on adding  native support for WebP. While WebP images can't be viewed until  browsers support the format, we are developing a patch for WebKit to  provide native support for WebP in an upcoming release of Google Chrome.  We plan to add support for a transparency &lt;a href="http://en.wikipedia.org/wiki/Layers_%28digital_image_editing%29"&gt;layer&lt;/a&gt;, also known as &lt;a href="http://en.wikipedia.org/wiki/Alpha_compositing"&gt;alpha&lt;/a&gt; channel in a future update.&lt;br&gt; &lt;br&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;p&gt;JPEG&lt;/p&gt;         &lt;/th&gt;&lt;th&gt;&lt;p&gt;WEBP&lt;/p&gt;       &lt;/th&gt;&lt;/tr&gt;       &lt;tr&gt;         &lt;td&gt;&lt;p&gt;&lt;img src="http://code.google.com/speed/webp/images/1.jpg" border="1" width="250"&gt;&lt;/p&gt;&lt;/td&gt;         &lt;td&gt;&lt;p&gt;&lt;img src="http://code.google.com/speed/webp/images/1_webp.png" border="1" width="250"&gt;&lt;/p&gt;&lt;/td&gt;       &lt;/tr&gt;       &lt;tr&gt;         &lt;td&gt;&lt;font size="1"&gt;136780 bytes&lt;/font&gt;&lt;/td&gt;         &lt;td&gt;122260 bytes (10.6%)&lt;/td&gt;       &lt;/tr&gt;       &lt;tr&gt; 	&lt;td colspan="2"&gt;&lt;font size="1"&gt;Image URL: &lt;a href="http://en.wikipedia.org/wiki/File:%22Forever_Tall%22_CITYarts,_Inc._mural.jpg"&gt;http://en.wikipedia.org/wiki/File:%22Forever_Tall%22_CITYarts,_Inc._mural.jpg&lt;/a&gt;&lt;br&gt; 	Image Title: &amp;quot;Forever Tall CITYarts, Inc. mural at Cooper Square in the East Village of Manhattan, 2001&lt;br&gt; 	Image Author: Muralizer&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br clear="all"&gt;&lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3298811160301304293?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3298811160301304293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/11/webp-googles-new-attempt-at-speeding-up.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3298811160301304293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3298811160301304293'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/11/webp-googles-new-attempt-at-speeding-up.html' title='WebP: Google&apos;s new attempt at speeding up the web'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-2819294643624263111</id><published>2010-10-26T21:30:00.001-07:00</published><updated>2010-11-01T02:20:49.119-07:00</updated><title type='text'>FTP Rush: A Free Windows FTP Client</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xNB1HlMyns8/TM6GYEvWAII/AAAAAAAAAjs/tCou3uX6FDs/s1600/desktop-ftp-client.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 269px;" src="http://3.bp.blogspot.com/_xNB1HlMyns8/TM6GYEvWAII/AAAAAAAAAjs/tCou3uX6FDs/s400/desktop-ftp-client.jpg" alt="" id="BLOGGER_PHOTO_ID_5534508740232216706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/arrowstart.png" alt="arrow" /&gt; &lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/windows.png" alt="Windows" title="Windows" /&gt; Windows only&lt;/em&gt; &lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/arrowend.png" alt="arrow" /&gt;&lt;br /&gt;When it comes down to free FTP clients for Windows there are only a  handful of them I ever hear people talk about. Normally they consist of  apps like &lt;a target="_blank" href="http://filezilla-project.org/"&gt;FileZilla&lt;/a&gt; or &lt;a target="_blank" href="http://winscp.net/"&gt;WinSCP&lt;/a&gt;,  and some people just stick to the standard Windows Explorer if they are  only connecting to FTP sites. I came across a different app the other  day that I'd definitely put on par with apps like FileZilla. That app is  &lt;a target="_blank" href="http://www.wftpserver.com/ftprush.htm"&gt;FTP Rush&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;This free app comes from a company that also makes a paid and more  feature-packed FTP client, but their free alternative should be more  than suitable for most of your needs. Here's a list of some key features  for the app:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Supports FXP – Site-to-Site transfers&lt;/li&gt;&lt;li&gt;Tabbed interface and multiple connections&lt;/li&gt;&lt;li&gt;Supports FTP, FTPS, TFTP and SFTP (FTP over SSH).&lt;/li&gt;&lt;li&gt;GUI Customization and Integrated Docking&lt;/li&gt;&lt;li&gt;Drag-And-Drop files via Explorer-like interface&lt;/li&gt; &lt;li&gt;Automated transfer by writing FTP scripts&lt;/li&gt;&lt;li&gt;Built-in Task Manager including Synchronize&lt;/li&gt;&lt;li&gt;Supports HTTP Proxy, Socks 4&amp;amp;5&lt;/li&gt;&lt;li&gt;Fast SFV checking on client side&lt;/li&gt;&lt;li&gt;Supports Unicode/UTF8 charset&lt;/li&gt; &lt;li&gt;Supports UPnP Port-mapping&lt;/li&gt;&lt;li&gt;On-The-Fly Mode Z Compression&lt;/li&gt;&lt;li&gt;High performance Disk Buffer&lt;/li&gt;&lt;li&gt;Caching folders speeds your browsing&lt;/li&gt;&lt;li&gt;Keep alive your FTP connections&lt;/li&gt;&lt;li&gt;Smart Skip &amp;amp; Allow transfer&lt;/li&gt; &lt;li&gt;Row color and highlights&lt;/li&gt;&lt;li&gt;Super fast file search&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;What actually surprised me a bit was that they actually include a  portable version of the app weighing in under 10MB once extracted on  your machine. I haven't seen a lot of cases where the developer of the  FTP program also supplies a portable version, which made this a nice  touch. I think the interface could use a little work, but I find that's  the case with most of the FTP clients.&lt;/p&gt; &lt;p&gt;&lt;a target="_blank" href="http://www.wftpserver.com/ftprush.htm"&gt;FTP Rush Homepage&lt;/a&gt; (Windows only; Freeware)&lt;/p&gt;&lt;br /&gt;--&lt;br /&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com/"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-2819294643624263111?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/2819294643624263111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/10/ftp-rush-free-windows-ftp-client.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2819294643624263111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2819294643624263111'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/10/ftp-rush-free-windows-ftp-client.html' title='FTP Rush: A Free Windows FTP Client'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xNB1HlMyns8/TM6GYEvWAII/AAAAAAAAAjs/tCou3uX6FDs/s72-c/desktop-ftp-client.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-8306861879261306630</id><published>2010-10-26T20:17:00.000-07:00</published><updated>2010-10-26T20:20:06.066-07:00</updated><title type='text'>Sony Rollable Colour OLED Display Announced</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Well, the 4.1 inch wide, 432×240 OLED panels, what with them being so  thin and all, could be used in all manner of places. Although the cost  of such technology is currently astronomic, in the future it will  inevitably become cheap as chips, and when the time comes you may find  these things springing up even in things such as labelling and  packaging. But that’s just my predictions anyway, I’m sure the technical  guys behind these developments plan for bigger and better things than  just that, but right now I doubt they’re willing to disclose such  intentions.&lt;/span&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;At the moment, the most they are willing to show is the extraordinary  ability of the devices to display moving images whilst wrapped  cylindrically around a tube of 4mm radius. At this point, you may be  thinking that they’ll just break, or at least lose picture clarity.  However, the plans show that even up to 1000 cycles of rolling and  unrolling the screen, there is no clear degradation in the display’s  quality – clearly the &lt;a href="http://www.zath.co.uk/sony-monolithic-design-concept-interview/"&gt;Sony design people&lt;/a&gt; will be very eager to create some really innovative product designs with this technology as soon as they are able. &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;So what do you think of these &lt;a href="http://www.gadgetvenue.com/sony-rollable-colour-oled-display-05263054/"&gt;Sony Rollable OLED Display&lt;/a&gt;  developments? There has been a lot of talk of this kind of OLED  technology implementation recently, but up until now there has been no  real concrete proof of the possibility. But here it is, so let us know  what you make of it and perhaps what you would do with a ‘rollable’ OLED  display?&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;SRC: http://www.zath.co.uk/sony-rollable-colour-oled-display-announced/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object id="aexternal" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="400" width="586"&gt;&lt;param name="movie" value="http://www.sony.co.jp/video3/player.swf"&gt;&lt;param name="flashVars" value="config=/video3/201005/10-0526/config.xml&amp;amp;lang=en"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.sony.co.jp/video3/player.swf" type="application/x-shockwave-flash" flashvars="config=/video3/201005/10-0526/config.xml&amp;amp;lang=en" allowfullscreen="true" allowscriptaccess="always" height="400" width="586"&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/1730458209182769184-8306861879261306630?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/8306861879261306630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/10/sony-rollable-colour-oled-display.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8306861879261306630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8306861879261306630'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/10/sony-rollable-colour-oled-display.html' title='Sony Rollable Colour OLED Display Announced'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-4471434332898422841</id><published>2010-10-18T02:22:00.001-07:00</published><updated>2010-10-18T02:22:07.975-07:00</updated><title type='text'>Digital &amp; Analog devices display resolution in bref</title><content type='html'>The &lt;b&gt;display resolution&lt;/b&gt; of a &lt;a href="http://en.wikipedia.org/wiki/Digital_television" title="Digital television"&gt;digital television&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Display_device" title="Display device"&gt;display device&lt;/a&gt; is the number of distinct &lt;a href="http://en.wikipedia.org/wiki/Pixel" title="Pixel"&gt;pixels&lt;/a&gt;  in each dimension that can be displayed. It can be an ambiguous term  especially as the displayed resolution is controlled by all different  factors in &lt;a href="http://en.wikipedia.org/wiki/Cathode_ray_tube" title="Cathode ray tube"&gt;cathode ray tube&lt;/a&gt; (CRT) and flat panel or projection displays using fixed picture-element (&lt;a href="http://en.wikipedia.org/wiki/Pixel" title="Pixel"&gt;pixel&lt;/a&gt;) arrays.&lt;br&gt; &lt;br&gt;This chart shows the most &lt;a href="http://en.wikipedia.org/wiki/List_of_common_resolutions" title="List of common resolutions"&gt;common display resolutions&lt;/a&gt;, with the color of each resolution type indicating the display ratio&lt;br&gt; &lt;a href="http://upload.wikimedia.org/wikipedia/commons/e/e5/Vector_Video_Standards2.svg"&gt;&lt;img alt="File:Vector Video Standards2.svg" src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Vector_Video_Standards2.svg/749px-Vector_Video_Standards2.svg.png" height="599" width="749"&gt;&lt;/a&gt;&lt;br&gt; &lt;br&gt;These are the results of &lt;a href="http://en.wikipedia.org/wiki/Steam_%28content_delivery%29" title="Steam (content delivery)" class="mw-redirect"&gt;Steam&lt;/a&gt; hardware survey of March 2010.&lt;br&gt;&lt;table id="sortable_table_id_0" class="wikitable sortable" height="394" width="762"&gt; &lt;tbody&gt;&lt;tr&gt;&lt;th style="background-color: rgb(204, 204, 204);"&gt;Code&lt;a href="http://en.wikipedia.org/wiki/Display_resolution#" class="sortheader"&gt;&lt;span class="sortarrow"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/th&gt; &lt;th style="background-color: rgb(204, 204, 204);"&gt;Name&lt;a href="http://en.wikipedia.org/wiki/Display_resolution#" class="sortheader"&gt;&lt;span class="sortarrow"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/th&gt; &lt;th style="background-color: rgb(204, 204, 204);"&gt;Aspect ratio&lt;a href="http://en.wikipedia.org/wiki/Display_resolution#" class="sortheader"&gt;&lt;span class="sortarrow"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/th&gt; &lt;th style="background-color: rgb(204, 204, 204);"&gt;Width&lt;a href="http://en.wikipedia.org/wiki/Display_resolution#" class="sortheader"&gt;&lt;span class="sortarrow"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/th&gt; &lt;th style="background-color: rgb(204, 204, 204);"&gt;Height&lt;a href="http://en.wikipedia.org/wiki/Display_resolution#" class="sortheader"&gt;&lt;span class="sortarrow"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/th&gt; &lt;th style="background-color: rgb(204, 204, 204);"&gt; % of Steam users&lt;a href="http://en.wikipedia.org/wiki/Display_resolution#" class="sortheader"&gt;&lt;span class="sortarrow"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;VGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Video Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;4:3&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;640&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;480&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;n/a&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;SVGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Super Video Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;4:3&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;800&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;600&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;n/a&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;XGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;eXtended Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;4:3&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1024&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;768&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;12.36%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;XGA+&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;eXtended Graphics Array Plus&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;4:3&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1152&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;864&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;2.22%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;WXGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Widescreen eXtended Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;5:3&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1280&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;768&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;0.72%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;WXGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Widescreen eXtended Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;8:5 (16:10)&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1280&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;800&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;6.44%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;SXGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Super eXtended Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;4:3&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1280&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;960&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1.54%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;SXGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Super eXtended Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;5:4&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1280&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1024&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;19.10%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;HD&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;High Definition (Basic)&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;16:9&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1366&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;768&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;4.50%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;WSXGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Widescreen Super eXtended Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;8:5 (16:10)&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1440&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;900&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;10.53%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;HD+&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;High Definition (Plus)&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;16:9&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1600&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;900&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;UXGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Ultra eXtended Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;4:3&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1600&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1200&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1.01%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;WSXGA+&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Widescreen Super eXtended Graphics Array Plus&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;8:5 (16:10)&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1680&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1050&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;18.23%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;HD-1080&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Full High Definition&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;16:9&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1920&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1080&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;9.68%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;WUXGA&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Widescreen Ultra eXtended Graphics Array&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;8:5 (16:10)&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1920&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;1200&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;5.93%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;&lt;br&gt;&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;Other&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;&lt;br&gt;&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;&lt;br&gt;&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;&lt;br&gt;&lt;/td&gt; &lt;td style="background-color: rgb(204, 204, 204);"&gt;3.42%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;br&gt;Here is the television standards in countries.&lt;br&gt;&lt;div id="CC_table_title"&gt;&lt;h2&gt;Television Standards by Country&lt;/h2&gt;&lt;/div&gt;  				&lt;table style="background-color: rgb(204, 204, 204);" id="main_table" border="0" cellpadding="0" cellspacing="0" height="4200" width="456"&gt;&lt;tbody&gt;&lt;tr class="th_2"&gt; 						&lt;td class="th_2"&gt;&lt;b&gt;Country 						&lt;/b&gt;&lt;/td&gt;&lt;td class="th_2"&gt;&lt;b&gt;Signal Type 						 				&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Afghanistan&lt;/td&gt; 							&lt;td&gt;PAL B, SECAM B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Albania&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Algeria&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Angola&lt;/td&gt; 							&lt;td&gt;PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Antarctica&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Antigua &amp;amp; Barbuda&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Argentina&lt;/td&gt; 							&lt;td&gt;PAL N&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Armenia&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Aruba&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Australia&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Austria&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Azerbaijan&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Azores&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Bahamas&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Bahrain&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Bangladesh&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Barbados&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Belarus&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Belgium&lt;/td&gt; 							&lt;td&gt;PAL B/H&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Belgium (Armed Forces Network)&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Belize&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Benin&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Bermuda&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Bolivia&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Bosnia/Herzegovina&lt;/td&gt; 							&lt;td&gt;PAL B/H&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Botswana&lt;/td&gt; 							&lt;td&gt;SECAM K, PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Brazil&lt;/td&gt; 							&lt;td&gt;PAL M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;British Indian Ocean Territory &lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Brunei Darussalam&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Bulgaria&lt;/td&gt; 							&lt;td&gt;PAL&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Burkina Faso&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Burundi&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Cambodia&lt;/td&gt; 							&lt;td&gt;PAL B/G, NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Cameroon&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Canada&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Canary Islands&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Central African Republic&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Chad&lt;/td&gt; 							&lt;td&gt;SECAM D&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Chile&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;China (People&amp;#39;S Republic)&lt;/td&gt; 							&lt;td&gt;PAL D&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Colombia&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Congo (People&amp;#39;S Republic)&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Congo, Dem. Rep. (Zaire)&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Cook Islands&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Costa Rica&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Cote D&amp;#39;Ivoire (Ivory Coast)&lt;/td&gt; 							&lt;td&gt;SECAM K/D&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Croatia&lt;/td&gt; 							&lt;td&gt;PAL B/H&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Cuba&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Cyprus&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Czech Republic&lt;/td&gt; 							&lt;td&gt;PAL B/G (cable), PAL D/K (broadcast)&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Denmark&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Diego Garcia&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Djibouti&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Dominica&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Dominican Republic&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;East Timor&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Easter Island&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Ecuador&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Egypt&lt;/td&gt; 							&lt;td&gt;PAL B/G, SECAM B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;El Salvador&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Equitorial Guinea&lt;/td&gt; 							&lt;td&gt;SECAM B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Estonia&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Ethiopia&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Falkland Islands (Las Malvinas)&lt;/td&gt; 							&lt;td&gt;PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Fiji&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Finland&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;France&lt;/td&gt; 							&lt;td&gt;SECAM L&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;France (French Forces Tv)&lt;/td&gt; 							&lt;td&gt;SECAM G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Gabon&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Galapagos Islands&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Gambia&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Georgia&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Germany&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Germany (Armed Forces Tv Germany)&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Ghana&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Gibraltar&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Greece&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Greenland&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Grenada&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Guam&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Guadeloupe&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Guatemala&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Guiana (French)&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Guinea&lt;/td&gt; 							&lt;td&gt;PAL K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Guyana&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Haiti&lt;/td&gt; 							&lt;td&gt;SECAM&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Honduras&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Hong Kong&lt;/td&gt; 							&lt;td&gt;PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Hungary&lt;/td&gt; 							&lt;td&gt;PAL K/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Iceland&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;India&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Indonesia&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Iran&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Iraq&lt;/td&gt; 							&lt;td&gt;PAL&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Ireland, Republic Of&lt;/td&gt; 							&lt;td&gt;PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Isle Of Man&lt;/td&gt; 							&lt;td&gt; PAL&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Israel&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Italy&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Jamaica&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Japan&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Johnstone Island&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Jordan&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Kazakhstan&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Kenya&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Korea (North)&lt;/td&gt; 							&lt;td&gt;SECAM D, PAL D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Korea (South)&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Kuwait&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Kyrgyz Republic&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Laos&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Latvia&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Lebanon&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Lesotho&lt;/td&gt; 							&lt;td&gt;PAL K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Liberia&lt;/td&gt; 							&lt;td&gt;PAL B/H&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Libya&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Liechtenstein&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Lithuania&lt;/td&gt; 							&lt;td&gt;PAL B/G, SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Luxembourg&lt;/td&gt; 							&lt;td&gt;PAL B/G, SECAM L&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Macau&lt;/td&gt; 							&lt;td&gt;PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Macedonia&lt;/td&gt; 							&lt;td&gt;PAL B/H&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Madagascar&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Madeira&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Malaysia&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Maldives&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Mali&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Malta&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Marshall Islands&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Martinique&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Mauritania&lt;/td&gt; 							&lt;td&gt;SECAM B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Mauritius&lt;/td&gt; 							&lt;td&gt;SECAM B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Mayotte&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Mexico&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Micronesia&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Midway Island&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Moldova (Moldavia)&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Monaco&lt;/td&gt; 							&lt;td&gt;SECAM L, PAL G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Mongolia&lt;/td&gt; 							&lt;td&gt;SECAM D&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Montenegro&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Montserrat&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Morocco&lt;/td&gt; 							&lt;td&gt;SECAM B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Mozambique&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Myanmar (Burma)&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Namibia&lt;/td&gt; 							&lt;td&gt;PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Nepal&lt;/td&gt; 							&lt;td&gt;B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Netherlands&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Netherlands (Armed Forces Network)&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Netherlands Antilles&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;New Caledonia&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;New Zealand&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Nicaragua&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Niger&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Nigeria&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Norfolk Island&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;North Mariana Islands&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Norway&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Oman&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Pakistan&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Palau&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Panama&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Papua New Guinea&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Paraguay&lt;/td&gt; 							&lt;td&gt;PAL N&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Peru&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Philippines&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Poland&lt;/td&gt; 							&lt;td&gt;PAL D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Polynesia (French)&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Portugal&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Puerto Rico&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Qatar&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Reunion&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Romania&lt;/td&gt; 							&lt;td&gt;PAL D/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Russia&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;St. Kitts &amp;amp; Nevis&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;St. Lucia&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;St. Pierre Et Miquelon&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;St. Vincent&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Sao Tomé E Principe&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Samoa, American&lt;/td&gt; 							&lt;td&gt;NTSC&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Saudi Arabia&lt;/td&gt; 							&lt;td&gt;SECAM B/G, PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Samoa&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Senegal&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Serbia&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Seychelles&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Sierra Leone&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Singapore&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Slovakia&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Slovenia&lt;/td&gt; 							&lt;td&gt;PAL B/H&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Somalia&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;South Africa&lt;/td&gt; 							&lt;td&gt;PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Spain&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Sri Lanka&lt;/td&gt; 							&lt;td&gt;PAL&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Sudan&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Suriname&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Swaziland&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Sweden&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Switzerland&lt;/td&gt; 							&lt;td&gt;PAL B/G (GERMAN ZONE, SECAM L (FRENCH ZONE&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Syria&lt;/td&gt; 							&lt;td&gt;SECAM B, PAL G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Tahiti&lt;/td&gt; 							&lt;td&gt;SECAM&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Taiwan&lt;/td&gt; 							&lt;td&gt;NTSC&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Tajikistan&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Tanzania&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Thailand&lt;/td&gt; 							&lt;td&gt;PAL B/M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Togo&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Trinidad &amp;amp; Tobago&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Tunisia&lt;/td&gt; 							&lt;td&gt;SECAM B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Turkey&lt;/td&gt; 							&lt;td&gt;PAL B&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Turkmenistan&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Turks &amp;amp; Caicos Islands&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Uganda&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Ukraine&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Uruguay&lt;/td&gt; 							&lt;td&gt;PAL N&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;United Arab Emirates&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;United States&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;United Kingdom&lt;/td&gt; 							&lt;td&gt;PAL I&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Uzbekistan&lt;/td&gt; 							&lt;td&gt;SECAM D/K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Venezuela&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Vietnam&lt;/td&gt; 							&lt;td&gt;NTSC M, SECAM D&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Virgin Islands (Us &amp;amp; British)&lt;/td&gt; 							&lt;td&gt;NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Wallis &amp;amp; Futuna&lt;/td&gt; 							&lt;td&gt;SECAM K&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Yemen&lt;/td&gt; 							&lt;td&gt;PAL B/NTSC M&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Zambia&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt; 							 					&lt;/tr&gt; 				 					&lt;tr&gt; 							&lt;td align="left"&gt;Zimbabwe&lt;/td&gt; 							&lt;td&gt;PAL B/G&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;i&gt;Source: &lt;a href="http://en.wikipedia.org/wiki/Display_resolution"&gt;http://en.wikipedia.org/wiki/Display_resolution&lt;/a&gt;&lt;/i&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-4471434332898422841?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/4471434332898422841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/10/digital-analog-devices-display.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4471434332898422841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4471434332898422841'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/10/digital-analog-devices-display.html' title='Digital &amp; Analog devices display resolution in bref'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-572509601402542218</id><published>2010-10-13T01:56:00.001-07:00</published><updated>2010-10-13T01:56:44.038-07:00</updated><title type='text'>EtherCodes let you share and collaborate codes with other peers in real-time</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/_xNB1HlMyns8/TLV0TPihawI/AAAAAAAAAjc/l7GbR2om1b4/s1600/2010-10-13_143110-704039.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_xNB1HlMyns8/TLV0TPihawI/AAAAAAAAAjc/l7GbR2om1b4/s320/2010-10-13_143110-704039.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5527451991604816642" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1 style="font-weight: normal;"&gt;&lt;font size="2"&gt;EtherCodes let you share and collaborate codes with other peers in real-time, with simply a web browser.&lt;/font&gt;&lt;/h1&gt;&lt;h1 style="font-weight: normal;"&gt;&lt;font size="2"&gt;How often had I being annoyed by the inconvenience of the simply wish of sharing codes and collecting     improvements from my colleagues,     through emails, via instant messages, on web paste bin, over a VNC, etc... all that didn&amp;#39;t satisfy me from either a     verbose setup process or the chaos when having to figure out     piece of codes from messy, EtherCodes enlighten me of the way how this should just work, and even refreshes my style     of working to a way that&amp;#39;s more open, and efficient, happy coding!&lt;/font&gt;&lt;/h1&gt;   Try &lt;a href="http://ethercodes.com/"&gt;http://ethercodes.com/&lt;/a&gt;&lt;br clear="all"&gt;&lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-572509601402542218?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/572509601402542218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/10/ethercodes-let-you-share-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/572509601402542218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/572509601402542218'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/10/ethercodes-let-you-share-and.html' title='EtherCodes let you share and collaborate codes with other peers in real-time'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xNB1HlMyns8/TLV0TPihawI/AAAAAAAAAjc/l7GbR2om1b4/s72-c/2010-10-13_143110-704039.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-343829056518548090</id><published>2010-07-19T04:06:00.000-07:00</published><updated>2010-07-19T04:11:11.618-07:00</updated><title type='text'>Easy Desktop Organizer</title><content type='html'>&lt;b&gt;Fences™ &lt;/b&gt;is a program that helps you organize your desktop, and  can hide your icons when they're not in use. A "Fence", a term coined by  this program, is an icon group on your desktop. Fences is an add-on to  your desktop, not a replacement.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Rope off your desktop&lt;/b&gt;&lt;br /&gt;Fences allows you to create shaded areas  on your desktop that you can place icons in. You can label them however  you wish, and move/resize them anywhere on the desktop. Pre-included  layouts help speed the process for new users.&lt;br /&gt;   &lt;br /&gt;   &lt;b&gt;See your wallpaper again! Quickly hide &amp;amp; show all your icons  with an easy double-click&lt;/b&gt;&lt;br /&gt;   Double click blank space on your desktop, and all your icons will  fade out. Double click again, and they’ll return. We think this feature  is so useful and unique, that we’ve applied for a patent on it. You can  even pick icons and individual Fences to exclude!&lt;br /&gt;   &lt;br /&gt;   &lt;b&gt;Create snapshots, and have automatic scaling (for screen size  changes)&lt;/b&gt;&lt;br /&gt;   Take and restore snapshots of your Fence layouts for backup, or for  when you are doing different tasks. Change your resolultion for playing  games and Fences will keep them in the same relative spots. In the Pro  version of Fences, the "snapshot" feature has been enhanced to  automatically take and keep recent snapshots on hand, ensuring your  desktop layout never gets lost.             &lt;img style="width: 734px; height: 550px;" alt="http://www.stardock.com/products/fences/images/screenshots/fences_image_4.png" src="http://www.stardock.com/products/fences/images/screenshots/fences_image_4.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://sdcbase.stardock.com/bounce/?url=http://storage.stardock.com/files/fences_public.exe"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-343829056518548090?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/343829056518548090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/07/easy-desktop-organizer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/343829056518548090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/343829056518548090'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/07/easy-desktop-organizer.html' title='Easy Desktop Organizer'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-5341817897905653281</id><published>2010-06-17T23:12:00.001-07:00</published><updated>2010-06-17T23:12:31.792-07:00</updated><title type='text'>Grep GUI for Windows</title><content type='html'>       &lt;div id="header_logo" class="leftHeader"&gt;&lt;img src="http://astrogrep.sourceforge.net/pics/astrogrep.gif" style="border: medium none;"&gt;&lt;b&gt;&lt;font size="4"&gt; AstroGrep&lt;/font&gt;&lt;/b&gt;  is a Microsoft Windows grep utility. Grep is a UNIX  command-line program which searches within files for keywords.        AstroGrep supports regular expressions, versatile printing  options,        stores most recently used paths and has a &amp;quot;context&amp;quot; feature which  is very nice for looking at source code.       &lt;br&gt;&lt;br&gt;- Regular expressions&lt;br&gt;          - Concurrent multiple file types&lt;br&gt;          - Recursive directory searching&lt;br&gt;          - A &amp;quot;context&amp;quot; feature that selects the lines above and below  your search expression&lt;br&gt;          - Most Recently Used list for search paths&lt;br&gt;          - Somewhat versatile printing options&lt;br&gt;          - Double click to open file with editor of your choice&lt;br&gt;          - Store Most Recently Used file names and search expressions&lt;br&gt;          - Match Whole Word Only&lt;br&gt;          - Syntax highlighing&lt;br&gt;          - Free of charge and Open Source           &lt;br&gt;&lt;img src="http://astrogrep.sourceforge.net/pics/ss_main.gif" alt="Main  Screen" border="0"&gt;&lt;br&gt;&lt;b&gt;&lt;br&gt;&lt;a href="http://astrogrep.sourceforge.net/"&gt;[ Home  ]&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://prdownloads.sourceforge.net/astrogrep/AstroGrep_v4.1.4.zip?download"&gt;[ Download ]&lt;/a&gt;&lt;/b&gt; &lt;br&gt;&lt;/div&gt;&lt;br clear="all"&gt; &lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-5341817897905653281?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/5341817897905653281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/06/grep-gui-for-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5341817897905653281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5341817897905653281'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/06/grep-gui-for-windows.html' title='Grep GUI for Windows'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-5745374102713575318</id><published>2010-05-19T03:36:00.001-07:00</published><updated>2010-05-19T03:36:35.573-07:00</updated><title type='text'>Free Flash charts and graphs for web development</title><content type='html'>&lt;b&gt;&lt;a href="http://www.amcharts.com/"&gt;[http://www.amcharts.com/&lt;/a&gt;]&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;b style="color: rgb(51, 102, 255);"&gt;AmCharts&lt;/b&gt; is a set of &lt;b&gt;Flash charts&lt;/b&gt; for your websites and Web-based products. AmCharts can extract data from simple &lt;b&gt;CSV or XML&lt;/b&gt; files, or they can read dynamic data generated with &lt;b&gt;PHP, .NET, Java, Ruby on Rails, Perl, ColdFusion&lt;/b&gt;, and many other programming languages.&lt;br&gt; &lt;br&gt;&lt;b&gt;&lt;i&gt;Try this in your project !!&lt;/i&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt; &lt;a href="http://www.amcharts.com/docs/_detail/v.1/stock/basics/stock1.jpg?id=v.1%3Astock%3Abasics%3Agetting_started&amp;amp;cache=cache" class="media" title="v.1:stock:basics:stock1.jpg"&gt;&lt;img src="http://www.amcharts.com/docs/_media/v.1/stock/basics/stock1.jpg?w=&amp;amp;h=&amp;amp;cache=cache" class="media" alt=""&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;a href="http://www.amcharts.com/docs/_detail/ampie_1.gif?id=v.1%3Abundle%3Abasics%3Agetting_started&amp;amp;cache=cache" class="media" title="ampie_1.gif"&gt;&lt;img src="http://www.amcharts.com/docs/_media/ampie_1.gif?w=&amp;amp;h=&amp;amp;cache=cache" class="media" alt=""&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;br clear="all"&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-5745374102713575318?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/5745374102713575318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/05/free-flash-charts-and-graphs-for-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5745374102713575318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5745374102713575318'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/05/free-flash-charts-and-graphs-for-web.html' title='Free Flash charts and graphs for web development'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3773466682818557569</id><published>2010-05-14T00:29:00.001-07:00</published><updated>2010-05-19T03:39:17.630-07:00</updated><title type='text'>Batch Compress/Resize Images with RIOT</title><content type='html'>&lt;div style="margin: 0px 2px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"&gt; &lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"&gt; &lt;/div&gt;  &lt;div style="margin: 0px 1px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"&gt; &lt;/div&gt; &lt;div style="margin: 0px 2px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"&gt; &lt;/div&gt; &lt;div style="margin: 0px 10px; overflow: auto; font-family: sans-serif; width: 100%;"&gt;&lt;p style="text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/arrowstart.png" alt="arrow" /&gt; &lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/windows.png" alt="Windows" title="Windows" /&gt; Windows only&lt;/em&gt; &lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/arrowend.png" alt="arrow" /&gt;&lt;br /&gt;The free and portable &lt;a href="http://luci.criosweb.ro/riot/"&gt;Radical Image Optimization Tool&lt;/a&gt; (RIOT) has been an app I've recommended for a few years now (I think I've been using it since about 2008). As the name suggests it focuses on doing one thing, and doing it well: optimizing images. It can compress, resize, adjust, and convert your images in a way that leaves you in control of the end result.&lt;/p&gt; &lt;p&gt;The thing I like the most about riot is how easily I can manipulate multiple photos in just a few clicks. Thanks to the "batch" button on the toolbar I can select an entire folder of images that I want to resize and/or compress, and the speed at which it can process the images is rather incredible. This is great for emailing off a slew of photos when you're concerned about the attachment size.&lt;/p&gt; &lt;p&gt;Most of the time I use RIOT for batch optimizations, but this regularly-updated app is equipped with all kinds of other features:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Open many image types including rare/scientific types&lt;/li&gt; &lt;li&gt;Save and optimize JPEG, GIF and PNG with a simple, clean user interface&lt;/li&gt; &lt;li&gt;Works in dual view: (original – optimized image) or single view (optimized image).&lt;/li&gt; &lt;li&gt;Automatic preview of resulting image&lt;/li&gt; &lt;li&gt;In-place compare function (alternativelly display the original image over the optimized image to notice small pixel changes)&lt;/li&gt; &lt;li&gt;Compress files to desired filesize threshold&lt;/li&gt; &lt;li&gt;Fast processing (all is done in memory);&lt;/li&gt; &lt;li&gt;See instant results including resulting filesize&lt;/li&gt; &lt;li&gt;Batch support (process multiple files at once)&lt;/li&gt; &lt;li&gt;Transparency handling options&lt;/li&gt; &lt;li&gt;Decide if you want to keep metadata (comments, IPTC, Adobe XMP, EXIF profiles, ICC profiles).&lt;/li&gt; &lt;li&gt;Transfer metadata between image formats (destination format must support them)&lt;/li&gt; &lt;li&gt;Common tools: pan and zoom, rotate, flip&lt;/li&gt; &lt;li&gt;Basic image adjustments: brightness, contrast, gamma, invert&lt;/li&gt; &lt;li&gt;Visually reduce number of unique colors for PNG and GIF images in order to reduce filesize&lt;/li&gt; &lt;li&gt;Resize image by using well known resample filters (ex: Lanczos3, Catmull Rom, Bicubic, and others)&lt;/li&gt; &lt;li&gt;Compression and the results are comparable to those of commercial products, even higher.&lt;/li&gt; &lt;li&gt;Adaptive logarithmic tone mapping algorithm (Drago) used for HDR images&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Seeing that RIOT is free and portable you can give it a try without much worry. I highly recommend keeping this one in your toolbox.&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin: 0px 2px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"&gt; &lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: 0px 2px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3773466682818557569?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3773466682818557569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/05/batch-compressresize-images-with-riot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3773466682818557569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3773466682818557569'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/05/batch-compressresize-images-with-riot.html' title='Batch Compress/Resize Images with RIOT'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-7758434585402479573</id><published>2010-04-16T18:20:00.000-07:00</published><updated>2010-04-16T18:21:02.710-07:00</updated><title type='text'>Convert your videos quickly, easily, and all at once with WinFF &amp;  FFmpeg.</title><content type='html'>&lt;div class="feature"&gt;&lt;p align="justify"&gt;&lt;img src="http://winff.org/images/winff.gif" alt="" align="left" width="100" height="70"&gt;&lt;/p&gt;&lt;/div&gt;WinFF is a GUI for the command line video converter, &lt;a href="http://ffmpeg.org/"&gt; &lt;b&gt;FFMPEG&lt;/b&gt;&lt;/a&gt;&lt;b&gt;.&lt;/b&gt; It will convert most any video file that FFmpeg will convert.  WinFF does multiple files in multiple formats at one time. You can for  example convert mpeg&amp;#39;s, flv&amp;#39;s, and mov&amp;#39;s, all into avi&amp;#39;s all at once.  WinFF is available for Windows 95, 98 , ME, NT, XP, VISTA, and Debian,  Ubuntu, Redhat based GNU/Linux distributions. WinFF is available in  Brazilian Portuguese, Bulgarian, Chinese Traditional, Danish, Dutch,  English, French, German, Greek, Hebrew, Italian, Norwegian, Polish,  Portuguese, Russian, Serbian, Slovenian, Spanish and Turkish.&lt;br&gt;&lt;br&gt;&lt;p align="justify"&gt;&lt;a href="http://winff.org/images/screenshots/winff044-xp.jpg"&gt;&lt;img src="http://winff.org/images/screenshots/winff044-xp-small.jpg" alt="" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;b&gt;&lt;a href="http://winff.googlecode.com/files/winff-1.2-setup.exe"&gt;[Download for windows&lt;/a&gt;]         &lt;/b&gt;&lt;b&gt; [&lt;a href="http://www.winpenpack.com/main/download.php?view.1093"&gt;Portable version&lt;/a&gt;]&lt;/b&gt;&lt;br clear="all"&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-7758434585402479573?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/7758434585402479573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/04/convert-your-videos-quickly-easily-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7758434585402479573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7758434585402479573'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/04/convert-your-videos-quickly-easily-and.html' title='Convert your videos quickly, easily, and all at once with WinFF &amp;  FFmpeg.'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-4288728350450777577</id><published>2010-02-24T03:33:00.001-08:00</published><updated>2010-02-24T03:33:35.867-08:00</updated><title type='text'>Free Windows System Explorer</title><content type='html'>Keeping tabs on my machine is something I’ve done for as long as I can remember. I like watching the performance of my applications, monitoring network connections, and all of that stuff most people would never think twice about. One of the most popular utilities for doing this is the &lt;a target="_blank" href="http://cybernetnews.com/replace-the-task-manager-with-process-explorer-11/"&gt;Process Explorer&lt;/a&gt; that is put out by Microsoft, but there’s another free app that I really love called &lt;a target="_blank" href="http://systemexplorer.mistergroup.org/"&gt;System Explorer&lt;/a&gt;. &lt;p&gt;What makes this program so great? In some ways I view it as an all-in-one suite for monitoring and managing the apps on your PC. You can view all of the common stats like memory/CPU usage, but you can also do things like view network connection, manage startup items, and add/remove apps. My favorite thing, however, is the ability to right-click on any process and upload that file to virustotal.com for analysis. Once it’s uploaded you’ll instantly see the results in your browser.&lt;/p&gt; &lt;p&gt;After you start using System Explorer for a little bit you’ll start to notice some of the niceties and attention to detail. One example is in the screenshot above… look at the CPU usage of the “firefox.exe” process. At the time I took the screenshot the CPU was at 0%, but the green bars behind it represent a mini graph of CPU usage for that particular app. If you scroll through the list of processes you can quickly see CPU-heavy processes simply by looking for those bright green lines.&lt;/p&gt; &lt;p&gt;Here’s a rundown on some of the things System Explorer is capable of:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Detailed informations about Tasks, Processes, Modules, Startups, IE Addons, Uninstallers, Windows, Services, Drivers, Connections and Opened Files.&lt;/li&gt;&lt;li&gt;Easy check of suspicious files via VirusTotal or Jotti service.&lt;/li&gt;&lt;li&gt;Easy search details about file/process via online databases.&lt;/li&gt;&lt;li&gt;Launcher (“New Task…” dialog) with integrated AutoSearch and AutoCompletion.&lt;/li&gt;&lt;li&gt;Action History for monitoring processes activities.&lt;/li&gt;&lt;li&gt;Performance graphs for monitoring usage of system resources in time.&lt;/li&gt;&lt;li&gt;System Snapshots for easy finding of system changes.&lt;/li&gt;&lt;li&gt;System Report builds rich text report containing major informations about your System.&lt;/li&gt;&lt;li&gt;Multilanguage and Plugins Support.&lt;/li&gt;&lt;li&gt;Version 2.0 brings brand new user interface and Windows 7 support.&lt;/li&gt;&lt;li&gt;Security feature with online File Reviews.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;And here are a bunch of screenshots:&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;i&gt;(Click thumbnail to enlarge)&lt;/i&gt;&lt;br /&gt;&lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_1.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_1-tm.jpg" alt="system_explorer_1.jpg" width="200" height="151" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_2.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_2-tm.jpg" alt="system_explorer_2.jpg" width="200" height="151" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_3.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_3-tm.jpg" alt="system_explorer_3.jpg" width="200" height="151" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_4.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_4-tm.jpg" alt="system_explorer_4.jpg" width="200" height="151" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_5.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_5-tm.jpg" alt="system_explorer_5.jpg" width="200" height="151" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_6.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_6-tm.jpg" alt="system_explorer_6.jpg" width="200" height="151" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_7.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_7-tm.jpg" alt="system_explorer_7.jpg" width="200" height="151" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_8.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_8-tm.jpg" alt="system_explorer_8.jpg" width="200" height="151" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_9.jpg"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/system_explorer_9-tm.jpg" alt="system_explorer_9.jpg" width="200" height="151" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;If you like to keep an eye on your system I highly recommend taking a look at this free app. It’s available for both 32-bit and 64-bit versions of Windows, and is even bundled in a portable format for those who don’t want to install it.&lt;/p&gt; &lt;p&gt;&lt;a target="_blank" href="http://systemexplorer.mistergroup.org/"&gt;System Explorer Homepage&lt;/a&gt; (Windows only; Freeware)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-4288728350450777577?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/4288728350450777577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/02/free-windows-system-explorer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4288728350450777577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4288728350450777577'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/02/free-windows-system-explorer.html' title='Free Windows System Explorer'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-266804547931164555</id><published>2010-02-18T21:50:00.001-08:00</published><updated>2010-02-18T21:50:13.449-08:00</updated><title type='text'>SPlayer: A Light and Fast Media Player</title><content type='html'>&lt;p style="text-align: center;"&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/splayer.png" alt="splayer.png" width="530" height="295"&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/arrowstart.png" alt="arrow"&gt; &lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/windows.png" alt="Windows" title="Windows"&gt; Windows only&lt;/em&gt; &lt;img src="http://cybernetnews.com/wp-content/uploads/2008/04/arrowend.png" alt="arrow"&gt;&lt;br&gt;  These days computers are becoming more and more of a media hub for users to watch movies or television shows on. For awhile I've switched between a handful of media players including &lt;a target="_blank" href="http://www.videolan.org/vlc/"&gt;VLC&lt;/a&gt;, &lt;a target="_blank" href="http://www.kmplayer.com/forums/index.php?s=abcc6594a67c84a0b2f9eb1af7c56c7e&amp;amp;"&gt;KMPlayer&lt;/a&gt;, and &lt;a target="_blank" href="http://www.gomlab.com/eng/GMP_Introduction.html"&gt;GOM&lt;/a&gt;. All of those are excellent in their own way, and now I think I'll also have to add SPlayer to the list. On top of supporting the wide array of media types that the others do, SPlayer is &lt;i&gt;fast&lt;/i&gt;.&lt;/p&gt; &lt;p&gt;The best thing about &lt;a target="_blank" href="http://www.splayer.org/index.en.html"&gt;SPlayer&lt;/a&gt; is hands-down the simple interface. As you can see in the screenshot above it's nice because all of the buttons are overlaid on the video when you move your mouse, and there are no visible menus to distract you. Not only that, but there is a minimalist mode (pictured above) that gets rid of the minimize/maximize/close buttons that are typically at the top of a window so that you get a very clean viewing experiencing without needing to go to full-screen mode.&lt;/p&gt; &lt;p&gt;&lt;img src="http://cybernetnews.com/wp-content/uploads/2010/02/splayer-windows-7.png" alt="splayer windows 7.png" style="float: right; margin-bottom: 5px; margin-left: 10px;" width="260" height="222"&gt;As expected SPlayer also integrates with Windows 7 nicely. One way it does that is to show the progress of whatever you're watching in the Taskbar icon, and I'm hoping that in an upcoming release it will also some basic jumplist support (for things like recently played movies). Thanks to some out-of-the-box jumplist functionality in Windows 7, however, you can always drag a file onto the SPlayer icon to have that particular file pinned to the jumplist menu. Whenever you select that video from the list SPlayer will immediately open and start playing it.&lt;/p&gt; &lt;p&gt;And I can't forget to mention the performance, which is rather incredible. Starting up SPlayer takes about a second on my machine, and to start playing a video all I have to do is drag the file somewhere in the window. In terms of memory usage SPlayer uses about 5MB when sitting idle and around 36MB when a movie is playing. That definitely falls within the range of acceptability.&lt;/p&gt; &lt;p&gt;Everything about this app feels snappy, clean, and well thought out. I give the developers a lot of credit for the attention to detail that ensures users will have the best experience possible. I highly recommend checking it out if you haven't already.&lt;/p&gt;&lt;br clear="all"&gt;&lt;br&gt;-- &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-266804547931164555?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/266804547931164555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/02/splayer-light-and-fast-media-player.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/266804547931164555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/266804547931164555'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/02/splayer-light-and-fast-media-player.html' title='SPlayer: A Light and Fast Media Player'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-2397953247380815026</id><published>2010-02-18T04:20:00.001-08:00</published><updated>2010-02-18T04:20:06.706-08:00</updated><title type='text'>Check the quality of a Film (with multiple parts)</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://4.bp.blogspot.com/_xNB1HlMyns8/S30wdnKWUkI/AAAAAAAAAdw/uhjTAW4izx0/s1600-h/qyxu9y.jpg-706706.gif"&gt;&lt;img src="http://4.bp.blogspot.com/_xNB1HlMyns8/S30wdnKWUkI/AAAAAAAAAdw/uhjTAW4izx0/s320/qyxu9y.jpg-706706.gif"  border="0" alt="" id="BLOGGER_PHOTO_ID_5439557210220155458" /&gt;&lt;/a&gt;&lt;/p&gt;When i am downloading a film with multiple parts. I need to check the quality of that film with out downloading all parts. here is a simple method for that.&lt;br&gt;I thing this will very helpful for you all.&lt;br&gt;  &lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-2397953247380815026?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/2397953247380815026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/02/check-quality-of-film-with-multiple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2397953247380815026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2397953247380815026'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/02/check-quality-of-film-with-multiple.html' title='Check the quality of a Film (with multiple parts)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xNB1HlMyns8/S30wdnKWUkI/AAAAAAAAAdw/uhjTAW4izx0/s72-c/qyxu9y.jpg-706706.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-8558397304226087360</id><published>2010-01-07T02:10:00.000-08:00</published><updated>2010-01-07T19:32:26.227-08:00</updated><title type='text'>Free Network Bandwidth Monitor</title><content type='html'>&lt;strong&gt;NetWorx&lt;/strong&gt; is a simple and free, yet powerful tool that helps you objectively evaluate your bandwidth situation. You can use it to collect bandwidth usage data and measure the speed of your Internet or any other network connection. NetWorx can help you identify possible sources of network problems, ensure that you do not exceed the bandwidth limits specified by your ISP, or track down suspicious network activity characteristic of Trojan horses and hacker attacks.     &lt;p&gt; The program allows you to monitor all your network connections or a specific network connection (such as Ethernet or PPP) only. The software also features a system of highly customizable visual and sound alerts. You can set it up to alert you when the network connection is down or when some suspicious activity, such as unusually heavy data flow, occurs. It can also automatically disconnect all dialup connections and shut down the system.&lt;/p&gt;     &lt;p&gt; The incoming and outgoing traffic is represented on a line chart and logged to a file, so that you can always view statistics about your daily, weekly and monthly bandwidth usage and dialup duration. The reports can be exported to a variety of formats, such as HTML, MS Word and Excel, for further analysis.&lt;/p&gt;&lt;hr /&gt;  &lt;h2&gt;Key Features&lt;/h2&gt;  &lt;ul&gt;&lt;li&gt; Clear graphic and/or numeric display. &lt;/li&gt;&lt;li&gt; Usage reports with export to a variety of file formats, including Excel, MS Word and HTML. &lt;/li&gt;&lt;li&gt; Permits close supervision of uploads and downloads. &lt;/li&gt;&lt;li&gt; Works with dial-up, ISDN, cable modems, ADSL, Ethernet cards, and more. &lt;/li&gt;&lt;li&gt; Includes network information &amp;amp; testing tools with advanced netstat that displays applications using your Internet connection. &lt;/li&gt;&lt;li&gt;Scalable to your own modem download capabilities. &lt;/li&gt;&lt;li&gt; Option to notify user or disconnect from the Internet automatically when network activity exceeds a certain level. &lt;/li&gt;&lt;li&gt; Speed meter to accurately time downloads and report the average transfer rates. &lt;/li&gt;&lt;li&gt; Dial-up session journal with detailed information about every session.&lt;/li&gt;&lt;li&gt; Absolutely free and does not contain any adware/spyware/malware.&lt;/li&gt;&lt;/ul&gt;     &lt;h2&gt;With NetWorx You Can ... &lt;/h2&gt;     &lt;ul&gt;&lt;li&gt; Find out and monitor how fast your Internet connection is. &lt;/li&gt;&lt;li&gt; Find out and monitor how much Internet traffic you consume. &lt;/li&gt;&lt;li&gt; Verify whether your ISP charges your Internet usage fairly. &lt;/li&gt;&lt;li&gt; Detect a suspicious network activity on your computer. &lt;/li&gt;&lt;li&gt; Perform simple network tests such as ping and trace route. &lt;/li&gt;&lt;li&gt; Be notified about excessive Internet usage. &lt;/li&gt;&lt;/ul&gt; &lt;div class="yellowbox"&gt;   &lt;p&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;/div&gt;    &lt;h2&gt;Screenshots&lt;/h2&gt;     &lt;div class="screenshot"&gt;       &lt;p&gt;Right-click the NetWorx system tray icon (as shown on the picture) to bring up the program's menu. This menu lets you control the utility. Left-clicking the system tray icon displays the current NetWorx state. NetWorx can also display the real time traffic data.&lt;/p&gt;       &lt;img src="http://www.softperfect.com/products/networx/scr_menu.gif" alt="The NetWorx popup menu" width="176" height="241" /&gt;     &lt;img src="http://www.softperfect.com/products/networx/scr_tooltip.gif" alt="NetWorx tooltip" width="177" height="241" /&gt;    &lt;img src="http://www.softperfect.com/products/networx/scr_graph.gif" alt="NetWorx realtime graph" width="290" height="117" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;    &lt;div&gt;  &lt;/div&gt;        &lt;div class="screenshot"&gt;       &lt;p&gt;As well as accumulated daily, weekly and monthly totals, and lets you export that information to a number of formats. Click a picture to enlarge!&lt;/p&gt;       &lt;a href="javascript:showimage('scr_stat_general.gif',614,413)"&gt;&lt;img src="http://www.softperfect.com/products/networx/scr_small_stat_general.gif" alt="NetWorx general statistics" width="307" border="0" height="207" /&gt;&lt;/a&gt; &lt;a href="javascript:showimage('scr_stat_daily.gif',639,438)"&gt;&lt;img src="http://www.softperfect.com/products/networx/scr_small_stat_daily.gif" alt="NetWorx daily statistics" width="302" border="0" height="207" /&gt;&lt;/a&gt;  &lt;/div&gt;     &lt;div class="screenshot"&gt;       &lt;p&gt;NetWorx is highly customizable and includes network tools such as ping, trace route and netstat.&lt;/p&gt;       &lt;a href="javascript:showimage('scr_settings_general.gif',540,409)"&gt;&lt;img src="http://www.softperfect.com/products/networx/scr_small_settings_general.gif" alt="NetWorx settings" width="293" border="0" height="222" /&gt;&lt;/a&gt;       &lt;a href="javascript:showimage('scr_trace.gif',408,408)"&gt;&lt;img src="http://www.softperfect.com/products/networx/scr_small_trace.gif" alt="NetWorx trace route" width="222" border="0" height="222" /&gt;&lt;/a&gt;    &lt;a href="javascript:showimage('scr_netstat.gif',607,444)"&gt;&lt;img src="http://www.softperfect.com/products/networx/scr_small_netstat.gif" alt="NetWorx NetStat" width="304" border="0" height="222" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.softperfect.com/download/freeware/networx_portable.zip"&gt;http://www.softperfect.com/download/freeware/networx_portable.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&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/1730458209182769184-8558397304226087360?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/8558397304226087360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2010/01/networx-is-simple-and-free-yet-powerful.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8558397304226087360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8558397304226087360'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2010/01/networx-is-simple-and-free-yet-powerful.html' title='Free Network Bandwidth Monitor'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-8176638349527530844</id><published>2009-10-28T04:37:00.000-07:00</published><updated>2009-10-28T04:49:11.876-07:00</updated><title type='text'>How to Acquire image by scanner in java</title><content type='html'>You may required to use a image scanner with your java application. But JDK is not support for that kind of functionality. So Third party library is    needed.&lt;br /&gt;&lt;a href="http://www.blogger.com/www.twain.org"&gt;TWAIN  &lt;/a&gt;is a very famous  library. But it is a written in C.&lt;br /&gt;Don't warry I found a java wrapper for  &lt;a href="http://www.twain.org/index.html"&gt;TWAIN &lt;/a&gt;dll.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.twain.org/images/twain_2_0_available.png"&gt;&lt;img style="cursor: pointer; width: 200px; height: 59px;" src="http://www.twain.org/images/twain_2_0_available.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Source code : &lt;a href="http://www.mms-computing.co.uk/uk/co/mmscomputing/device/twain/index.php"&gt;http://www.mms-computing.co.uk/uk/co/mmscomputing/device/twain/index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Library:&lt;a href="http://www.mms-computing.co.uk/uk/co/mmscomputing/device/twain/uk.co.mmscomputing.device.twain.jar"&gt;http://www.mms-computing.co.uk/uk/co/mmscomputing/device/twain/uk.co.mmscomputing.device.twain.jar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sample Code: &lt;a href="http://www.mms-computing.co.uk/uk/co/mmscomputing/device/twain/TwainExample.java"&gt; http://www.mms-computing.co.uk/uk/co/mmscomputing/device/twain/TwainExample.java&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ok. Now you continue with your development.&lt;br /&gt;&lt;br /&gt;Bye!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-8176638349527530844?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/8176638349527530844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/10/how-to-acquire-image-by-scanner-in-java.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8176638349527530844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8176638349527530844'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/10/how-to-acquire-image-by-scanner-in-java.html' title='How to Acquire image by scanner in java'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1880616734625262458</id><published>2009-10-22T05:13:00.000-07:00</published><updated>2009-10-22T05:25:36.915-07:00</updated><title type='text'>Remote Compiling and Debuging IDE - C++</title><content type='html'>Most of the times we need to compile our C++ Applications in a UNIX or Solaris Environments. If our Desktop Pc is operated on Windows Platform then we need to use a terminal application (Like PuTTy) and do the rest in command line. Working with Command line is not so convenient. I found  a god solution, That is &lt;span style="font-weight: bold;"&gt;BVRDE&lt;/span&gt;.&lt;br /&gt;      &lt;strong&gt;BVRDE&lt;/strong&gt; is an Integrated Development Environment (IDE) for C and C++.  It is designed to make cross-platform development easy. Its features  include project management, application wizards, an integrated  interactive debugger, and a powerful source editor with source browsing and syntax highlighting.&lt;br /&gt;&lt;br /&gt;The goal of this tool is to allow a developer to compile and debug applications entirely on a remote computer, while editing and issuing compile and debug commands through a local interface. BVRDE supports a variety of network protocols to allow connectivity with various remote systems. This includes FTP and secure &amp;amp; encrypted protocols such as SSH and SFTP.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bvrde.sourceforge.net/screenshot2.jpg"&gt;&lt;img style="cursor: pointer; width: 670px; height: 497px;" src="http://bvrde.sourceforge.net/screenshot2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://bvrde.sourceforge.net/screenshots.htm"&gt;      More Screen Shots&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://downloads.sourceforge.net/bvrde/bvrde-v1.3.exe"&gt;     Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1880616734625262458?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1880616734625262458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/10/remote-compiling-and-debuging-ide-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1880616734625262458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1880616734625262458'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/10/remote-compiling-and-debuging-ide-c.html' title='Remote Compiling and Debuging IDE - C++'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3729790226232464652</id><published>2009-09-08T20:48:00.001-07:00</published><updated>2009-09-08T20:48:19.968-07:00</updated><title type='text'>How to download a Streaming Video ?</title><content type='html'>           Most of web sites broadcast multimedia streams. If you can download that stream then you can watch it when you are in offline.&lt;br&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt; &amp;quot;&lt;b&gt;SDP Multimedia&lt;/b&gt;&amp;quot;&lt;/span&gt; &lt;/span&gt;is a good tools for that purpose.&lt;br&gt; &lt;br&gt;&lt;font size="2" face="Arial, Helvetica, sans-serif"&gt;&lt;font size="4" color="#c19f39"&gt;What can SDP Downloader actually do?&lt;/font&gt; &lt;br&gt; The current free version of SDP can download the following protocols, remember this is for Windows Media Streaming only. &lt;br&gt;         HTTP v1.0 streaming protocol - sometimes referred to as MMSH. &lt;br&gt;          HTTP           progressive (simple http download)&lt;br&gt;       MMS, MMST and MMSU over           both TCP and UDP transport protocols.&lt;br&gt;       Preview the stream while downloading - using your favorite existing media player.&lt;br&gt;       &lt;/font&gt;&lt;font size="2" face="Arial, Helvetica, sans-serif"&gt;Download Live and Pre recorded  videos and music straight to your hard drive. Like a video recorder. &lt;br&gt;         Note that the free version of SDP will still be maintained as best as possible - updates should still appear. &lt;br&gt; Types of URL to look for usually start with &amp;quot;MMS://, MMST://, or HTTP://&amp;quot; and end with something like &amp;quot;.asf, .wmv or .wma&amp;quot; etc.. &lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://tinypic.com/view.php?pic=a4d1g&amp;amp;s=3" id="TB_ImageOff" title="Close"&gt;&lt;img id="TB_Image" src="http://i25.tinypic.com/a4d1g.jpg" alt="&amp;lt;br/&amp;gt;&amp;lt;a href=&amp;quot;http://i25.tinypic.com/a4d1g.jpg&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;View Raw Image&amp;lt;/a&amp;gt;" height="400" width="543"&gt;&lt;/a&gt;&lt;br&gt; &lt;br&gt;&lt;font size="4"&gt;&lt;b&gt;&lt;a href="http://sdp.ppona.com/zipfiles/SDP_v2_3_0.msi"&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;/a&gt;&lt;/b&gt;&lt;a href="http://sdp.ppona.com/zipfiles/SDP_v2_3_0.msi"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="http://sdp.ppona.com/zipfiles/SDP_v2_3_0.msi"&gt;Download  &amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;/a&gt;&lt;/b&gt;&lt;/font&gt;&lt;br&gt; -- &lt;br&gt;_____  &lt;a href="http://janaka077.blogspot.com"&gt;http://janaka077.blogspot.com&lt;/a&gt;  ____&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3729790226232464652?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3729790226232464652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/09/how-to-download-streaming-video.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3729790226232464652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3729790226232464652'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/09/how-to-download-streaming-video.html' title='How to download a Streaming Video ?'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i25.tinypic.com/a4d1g_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1075339287344341463</id><published>2009-09-06T21:56:00.000-07:00</published><updated>2009-09-21T20:29:24.387-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mobitel'/><category scheme='http://www.blogger.com/atom/ns#' term='HSDPA'/><category scheme='http://www.blogger.com/atom/ns#' term='Vodofone'/><category scheme='http://www.blogger.com/atom/ns#' term='Dialog'/><category scheme='http://www.blogger.com/atom/ns#' term='Modem'/><title type='text'>Unlock the Huawei E220 HSDPA modem</title><content type='html'>&lt;div class="gmail_quote"&gt;&lt;p&gt;Huawei e220 or Vodafone e220 is the HSDPA modem we usually get from Dialog Telecom or Mobitel GSM (probably from Airtel) when we purchase a mobile broadband connection. But usually it's operator locked, so we can't switch between networks when the current ISP starts treating us like dust. Here I'm gonna explain how I did that and I'll try to be as simple as I can...&lt;/p&gt; &lt;p&gt;&lt;img src="http://i44.tinypic.com/2058idy.jpg" /&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;Disclaimer: I’m not responsible, nor will be held liable, for anything you do with the information I provide in this tutorial. Use it at your own risk.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Ok, since we are done with the traditional "Disclaimer" Lets see what you have to do.&lt;/p&gt; &lt;p&gt;First you'll have to download the following tools.&lt;br /&gt;&lt;a href="http://www.sfrentreprises.fr/elements/documents/espace-utilisateur/global_access/Huawei_E220.zip" target="_blank"&gt;e220 CardLock UnLocker&lt;img style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; line-height: normal; background-color: transparent; width: 14px; height: 12px; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v6.7/t.gif" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;a href="http://www.mobilebroadbandrocks.com/wp-content/uploads/software/E220Update_11.117.09.00.00.zip" target="_blank"&gt;e220 Updater version 11.117.09.04.00&lt;img style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; line-height: normal; background-color: transparent; width: 14px; height: 12px; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v6.7/t.gif" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;a href="http://revskills.de/pages/download.html" target="_blank"&gt;QC Mobile Analysis Tool&lt;img style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; line-height: normal; background-color: transparent; width: 14px; height: 12px; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v6.7/t.gif" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;a href="http://mh-nexus.de/downloads/HxDSetupEN.zip" target="_blank"&gt;Hex editor&lt;img style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; max-height: 2000px; max-width: 2000px; min-width: 0px; min-height: 0px; font-style: normal; font-weight: normal; font-family: &amp;quot;trebuchet ms&amp;quot;,arial,helvetica,sans-serif; float: none; line-height: normal; background-color: transparent; width: 14px; height: 12px; background-repeat: no-repeat; text-decoration: none; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v6.7/t.gif" /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;p&gt;Basically, Unlocking the e220 is simple as running the E220 CardLock Unlock tool and entering the unlock code and pressing the "Ok" button. But that's when you "know" the unlock code.&lt;/p&gt; &lt;p&gt;&lt;img src="http://i39.tinypic.com/2aeuvsy.jpg" /&gt; &lt;/p&gt; &lt;p&gt;So how do we find the unlock code for our modem? that's where the other tools come in handy.&lt;/p&gt; &lt;p&gt;Plug your modem to the computer and run the E220 Updater. Wait till it detects your modem and then press the "Cancel" button. yes! Cancel it! This is just to make it easier for the "real tool" to identify the modem.&lt;/p&gt; &lt;p&gt;&lt;img src="http://i39.tinypic.com/30a84up.jpg" /&gt; &lt;/p&gt; &lt;p&gt;Now open the QC BQS Analyzer and click on Hardware forensics menu, select Use Com/USB Port&lt;/p&gt; &lt;p&gt;&lt;img src="http://i44.tinypic.com/2wn1aj4.jpg" /&gt; &lt;/p&gt; &lt;p&gt;Now the "QC Com Diag" window should be open. Most of the time your modem and com port is automatically selected on the Serial Com port drop down list. If not you'll have to select it manually. And then click on the "Send Cmd" button and wait till the message "Successfully sent command" appears on the bottom right.&lt;/p&gt; &lt;p&gt;&lt;img src="http://i43.tinypic.com/34g4x00.jpg" /&gt; &lt;/p&gt; &lt;p&gt;Now Select " Read EFS" from the Diag Functions drop down menu and Click the "Lets go" button. When it asks, enter the file name e220.bin and save it. A message saying "Successfully read EFS" should appear.&lt;/p&gt; &lt;p&gt;&lt;img src="http://i41.tinypic.com/sncpcn.jpg" /&gt; &lt;/p&gt; &lt;p&gt;Now its time to do some hex reading :) Open the e220.bin file from your Hex Editor. And search for the ASCII string Sd, (including the comma) or Search for the for the Hex string 53 64 2c&lt;br /&gt;After few random characters you'll see a clean 8 digit code. Believe me, it's easily recognizable and guess what! thats our Unlock code :D&lt;/p&gt; &lt;p&gt;&lt;img src="http://i40.tinypic.com/2ypnh5e.jpg" /&gt; &lt;/p&gt; &lt;p&gt;Once you've found the unlock key all you have to do is enter it on the CardLock Unlock utility and click "OK" And your modem is... Unlocked!!! :D&lt;/p&gt; &lt;p&gt;Hope this will be helpful. I'd absolutely love to know your views on this. Good luck with unlocking your modems :)&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1075339287344341463?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1075339287344341463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/09/unlock-huawei-e220-hsdpa-modem.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1075339287344341463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1075339287344341463'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/09/unlock-huawei-e220-hsdpa-modem.html' title='Unlock the Huawei E220 HSDPA modem'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i44.tinypic.com/2058idy_th.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-7081723203705536958</id><published>2009-08-25T22:28:00.000-07:00</published><updated>2009-08-25T22:44:24.121-07:00</updated><title type='text'>Run time Configurability with Java (JDK7)</title><content type='html'>In JDK - 7 ,  Scripting support is provided. I thing it is very interesting and Impotent Feature. JavaScript is the language that you have to use for Scripting&lt;br /&gt;&lt;br /&gt;Here is the features that point out by the SUN.&lt;br /&gt;Some useful characteristics of scripting languages are: &lt;ul&gt;&lt;li&gt;&lt;b&gt;Convenience&lt;/b&gt;: Most scripting languages are dynamically typed. You can usually create new variables  without declaring the variable type, and you can reuse variables to store objects of different types. Also, scripting languages tend to perform many type conversions automatically, for example, converting  the number 10 to the text "10" as necessary.  &lt;/li&gt;&lt;li&gt;&lt;b&gt;Developing rapid prototypes&lt;/b&gt;: You can avoid the edit-compile-run cycle and just use edit-run! &lt;/li&gt;&lt;li&gt;&lt;b&gt;Application extension/customization&lt;/b&gt;: You can "externalize" parts of your application - like configuration scripts, business logic/rules and math expressions for financial applications. &lt;/li&gt;&lt;li&gt;&lt;b&gt;"Command line" shells for applications&lt;/b&gt; -for debugging, runtime/deploy time configuration etc.  Most applications have a web-based GUI configuaration tool these days. But sysadmins/deployers frequently prefer command line tools. Instead of inventing ad-hoc scripting language for that purpose, a "standard" scripting language can be used.  &lt;/li&gt;&lt;/ul&gt;Here is a Screen Shots of a  Sample .&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i28.tinypic.com/2wgrbkx.jpg"&gt;&lt;img style="cursor: pointer; width: 703px; height: 365px;" src="http://i28.tinypic.com/2wgrbkx.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span bg="" text="#000000" link="#0000FF" vlink="#000077" alink="#FF0000" style="color: rgb(255, 255, 255);"&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/1730458209182769184-7081723203705536958?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/7081723203705536958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/08/run-time-configurability-with-java-jdk7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7081723203705536958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7081723203705536958'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/08/run-time-configurability-with-java-jdk7.html' title='Run time Configurability with Java (JDK7)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i28.tinypic.com/2wgrbkx_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-7691299757492329943</id><published>2009-07-28T04:01:00.000-07:00</published><updated>2009-07-28T04:07:32.040-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><title type='text'>Easy source code backup - bash script</title><content type='html'>Most of developers (specially &lt;span style="font-weight: bold;"&gt; Linux&lt;/span&gt; peoples) are used to backup their code by making tar-balls (making .tar files). That is the most preliminary source code version  (CVS) system. But you have to rename those tar-balls by the date and time for more clarity. Here is a bash script for that purpose.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to use:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First create a folder for keep your backups&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&gt;mkdir /home/backups&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Create a folder for your bash script and copy the bash script file to that folder&lt;br /&gt;&gt;mkdir / home/scripts&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Add that folder to environment variable.&lt;br /&gt;Ex:&lt;br /&gt;&gt; PATH=$PATH:/home/scripts&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Then  goto the source folder.&lt;br /&gt;&gt;cd /home/project/project_one/&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; Run the script without any comment&lt;br /&gt;&gt;backup&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Or  you can add a comment for your backup&lt;br /&gt;&gt;backup  “This is my initial backup”&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;This will create two files. Those are &lt;span style="font-weight: bold;"&gt;“project_one.txt”&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;“project_one-20090708-1120.gz”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The text file keep your comments regarding your backups.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://deltasoft.googlecode.com/files/backup.zip"&gt;&lt;span style="font-weight: bold;"&gt;Download Script&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-7691299757492329943?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/7691299757492329943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/07/easy-source-code-backup-bash-script.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7691299757492329943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7691299757492329943'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/07/easy-source-code-backup-bash-script.html' title='Easy source code backup - bash script'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1641331499430516445</id><published>2009-07-09T03:15:00.000-07:00</published><updated>2009-07-09T03:24:47.900-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Calender'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Make the Life easy with Google Calender</title><content type='html'>&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img alt="http://www.gadgetizer.com/wp-content/uploads/2007/05/google-calendar_logo.JPG" src="http://www.gadgetizer.com/wp-content/uploads/2007/05/google-calendar_logo.JPG" /&gt;Organizing your schedule shouldn't be a burden. With Google Calendar, it's easy to keep track of life's important events all in one place.&lt;/span&gt;&lt;/p&gt;  &lt;div class="list-item"&gt; &lt;h5&gt;&lt;span style="font-size:100%;"&gt;1.   Share your schedule  &lt;/span&gt;&lt;/h5&gt; &lt;div&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt; Let your co-workers, family, and friends see your calendar, and view schedules that others have shared with you. When you know when everyone is free or busy, scheduling is a snap.&lt;/span&gt;&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;  &lt;div style="float: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="list-item"&gt; &lt;h5&gt;&lt;span style="font-size:100%;"&gt;2.   Get your calendar on the go  &lt;/span&gt;&lt;/h5&gt; &lt;div&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt; With two-way syncing to your mobile phone's built-in calendar or a &lt;a href="http://www.google.com/support/mobile/bin/answer.py?answer=65923&amp;amp;topic=13561"&gt;mobile version&lt;/a&gt; of Google Calendar that's made for the small screen, you can access your calendar while you're away from your desk. &lt;/span&gt;&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;  &lt;div style="float: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="list-item"&gt; &lt;h5&gt;&lt;span style="font-size:100%;"&gt;3.   Never forget another event again  &lt;/span&gt;&lt;/h5&gt; &lt;div&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt; Customizable &lt;a href="http://www.google.com/support/calendar/bin/answer.py?answer=37242&amp;amp;topic=15301"&gt;reminders&lt;/a&gt; help you stay on schedule. You can choose to be notified by email or get a text message sent right to your mobile phone.&lt;/span&gt;&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;  &lt;div style="float: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="list-item"&gt; &lt;h5&gt;&lt;span style="font-size:100%;"&gt;4.   Send invitations and track RSVPs  &lt;/span&gt;&lt;/h5&gt; &lt;div&gt; &lt;p&gt; &lt;span style="font-size:100%;"&gt;&lt;a href="http://www.google.com/support/calendar/bin/answer.py?hl=en&amp;amp;answer=37161"&gt;Invite other people&lt;/a&gt; to events on your calendar. Guests can RSVP to your events by email or via Google Calendar. &lt;/span&gt;&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;  &lt;div class="list-item"&gt; &lt;h5&gt;&lt;span style="font-size:100%;"&gt;5.     Sync with your desktop applications  &lt;/span&gt;&lt;/h5&gt; &lt;div&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt; Access your calendar however and whenever you want by syncing events with &lt;a href="http://www.google.com/support/calendar/bin/answer.py?answer=98563&amp;amp;topic=13948"&gt;Microsoft Outlook&lt;/a&gt;,  &lt;a href="http://www.google.com/support/calendar/bin/answer.py?answer=99357"&gt;Apple iCal&lt;/a&gt; and &lt;a href="http://www.google.com/support/calendar/bin/answer.py?answer=99357"&gt;Mozilla Sunbird&lt;/a&gt;. &lt;/span&gt;&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;  &lt;div class="list-item"&gt; &lt;h5&gt;&lt;span style="font-size:100%;"&gt;6.     Work offline  &lt;/span&gt;&lt;/h5&gt; &lt;div&gt; &lt;p&gt; &lt;span style="font-size:100%;"&gt;Know where you're supposed to be even when you don't have internet access. With &lt;a href="http://www.google.com/support/calendar/bin/answer.py?hl=en&amp;amp;answer=141744"&gt;offline access&lt;/a&gt;, you can view a read-only version of your calendar no matter where you are.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;My Google Calender....&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xNB1HlMyns8/SlXErDuMLNI/AAAAAAAAAIs/0fzXVi-SrFQ/s1600-h/cal.JPG"&gt;&lt;img style="cursor: pointer; width: 390px; height: 292px;" src="http://4.bp.blogspot.com/_xNB1HlMyns8/SlXErDuMLNI/AAAAAAAAAIs/0fzXVi-SrFQ/s400/cal.JPG" alt="" id="BLOGGER_PHOTO_ID_5356403575839534290" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt; &lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1641331499430516445?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1641331499430516445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/07/make-life-easy-with-google-calender.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1641331499430516445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1641331499430516445'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/07/make-life-easy-with-google-calender.html' title='Make the Life easy with Google Calender'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xNB1HlMyns8/SlXErDuMLNI/AAAAAAAAAIs/0fzXVi-SrFQ/s72-c/cal.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1728406258917936627</id><published>2009-06-28T22:53:00.001-07:00</published><updated>2009-07-09T04:00:09.106-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Open source'/><category scheme='http://www.blogger.com/atom/ns#' term='source code'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>Source Code line counting tool  -  SrcAnalyser  (Freeware)</title><content type='html'>&lt;b&gt;SrcAnalyser&lt;/b&gt; analysis source folders and generate report about the source codes, It measures the total code lines, comment lines, blank lines in the source files. SrcAnalyser can analysis c++ and Java codes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Features:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Count Comment line, Source lines and blank lines in Source files.&lt;/li&gt;&lt;li&gt;Support for Java and C++ source codes.&lt;/li&gt;&lt;li&gt;Report can be export as a plain text file.&lt;/li&gt;&lt;/ol&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/p/srcanalyser/"&gt;&lt;img style="cursor: pointer; width: 507px; height: 513px;" src="http://i44.tinypic.com/2eyj1aa.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://srcanalyser.googlecode.com/files/SrcAnalyser.exe"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;[ Download version 1.0 ]&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;        &lt;/span&gt;                 &lt;span style="font-weight: bold;"&gt;  &lt;a href="http://code.google.com/p/srcanalyser/"&gt;[Home Page]&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1728406258917936627?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1728406258917936627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/06/source-code-analysing-tool-freeware.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1728406258917936627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1728406258917936627'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/06/source-code-analysing-tool-freeware.html' title='Source Code line counting tool  -  SrcAnalyser  (Freeware)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i44.tinypic.com/2eyj1aa_th.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-4212131064051919143</id><published>2009-05-14T03:19:00.000-07:00</published><updated>2009-05-14T03:38:19.701-07:00</updated><title type='text'>Use global or static variable in Multi-threaded Application (TLS)</title><content type='html'>If you use a static or a global variable in a function it is not a thread safe method. Because if that method is invoked by the multiple threads then the value of the static variable is not accurate.&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt; TLS&lt;/span&gt; (Thread local storage) is a good solution for this problem. In TLS, Same variable pointed to different memory locations in different thread. Actually that variable becomes a non-static variable relative to the application.&lt;br /&gt;     Most of the programming languages supported for TLS. In here I discuss only C and Java’s TLS implementation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;span style="color: rgb(51, 0, 153);"&gt;public static void main(String args[]){&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;ThreadLocal &lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;integer&gt; local = new &lt;/integer&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;ThreadLocal&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;integer&gt;();&lt;/integer&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;br /&gt; local.set(10);&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;br /&gt;  System.out.println(local.get());&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;GCC:&lt;/span&gt;&lt;br /&gt; &lt;span style=";font-family:courier new;font-size:85%;"  &gt; &lt;span style="color: rgb(51, 0, 153);"&gt;  static &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;__thread&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt; int x = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;     x = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;     cout&lt;&lt;"x = "&lt;&lt;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;References:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Thread-Specific_Storage"&gt;http://en.wikipedia.org/wiki/Thread-Specific_Storage&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ThreadLocal.html"&gt;http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ThreadLocal.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-4212131064051919143?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/4212131064051919143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/05/use-global-or-static-variable-in-multi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4212131064051919143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4212131064051919143'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/05/use-global-or-static-variable-in-multi.html' title='Use global or static variable in Multi-threaded Application (TLS)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-2249078690341907166</id><published>2009-05-13T21:50:00.000-07:00</published><updated>2009-06-24T21:09:09.937-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='SSH'/><category scheme='http://www.blogger.com/atom/ns#' term='SFTP'/><title type='text'>WinSCP Portable FTP Client</title><content type='html'>&lt;span style="font-weight: bold;"&gt;WinSCP&lt;/span&gt; &lt;span style="color: rgb(255, 102, 102); font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;P&lt;/span&gt;ortable&lt;/span&gt; is a free SFTP, FTP and SCP client for Windows with lots of great features: &lt;ul&gt;&lt;li&gt;An Open source Application&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://portableapps.com/apps/internet/putty_portable"&gt;PuTTY Portable&lt;/a&gt; integration&lt;/li&gt;&lt;li&gt;Graphical user interface&lt;/li&gt;&lt;li&gt;Translated into several languages&lt;/li&gt;&lt;li&gt;All common operations with files&lt;/li&gt;&lt;li&gt;Support for SFTP and SCP protocols over SSH-1 and SSH-2 and plain old FTP protocol&lt;/li&gt;&lt;li&gt;Directory synchronization in several semi or fully automatic ways&lt;/li&gt;&lt;li&gt;Integrated text editor&lt;/li&gt;&lt;li&gt;Support for online editing (Not need to copy files to client PC for editing)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Support for SSH password, keyboard-interactive, public key and Kerberos (GSS) authentication&lt;/li&gt;&lt;li&gt;Windows Explorer-like and Norton Commander-like interfaces&lt;/li&gt;&lt;li&gt;&lt;span class="li"&gt;Optionally &lt;a href="http://winscp.net/eng/docs/ui_login_save" class="wikilink1" title="ui_login_save" onclick="return svchk()" onkeypress="return svchk()"&gt;stores session information&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xNB1HlMyns8/SgukYTWhOYI/AAAAAAAAAGI/0m4cCV36now/s1600-h/1.JPG"&gt;&lt;img style="cursor: pointer; width: 494px; height: 340px;" src="http://4.bp.blogspot.com/_xNB1HlMyns8/SgukYTWhOYI/AAAAAAAAAGI/0m4cCV36now/s400/1.JPG" alt="" id="BLOGGER_PHOTO_ID_5335538920969025922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.adrive.com/public/6f607e6106c83ae1af74d62a239ccca66166bdf4083b7fa9e252bb34a0dce719.html"&gt;[ Download  1.5MB ]&lt;/a&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/1730458209182769184-2249078690341907166?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/2249078690341907166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/05/winscp-portable-ftp-client.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2249078690341907166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/2249078690341907166'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/05/winscp-portable-ftp-client.html' title='WinSCP Portable FTP Client'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xNB1HlMyns8/SgukYTWhOYI/AAAAAAAAAGI/0m4cCV36now/s72-c/1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-127278584714322006</id><published>2009-03-29T21:15:00.000-07:00</published><updated>2009-03-29T22:25:36.760-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GC'/><category scheme='http://www.blogger.com/atom/ns#' term='Hotspot'/><category scheme='http://www.blogger.com/atom/ns#' term='JVM'/><category scheme='http://www.blogger.com/atom/ns#' term='Memory Management'/><title type='text'>Tips of fine-tuning of Garbage Collector in JVM</title><content type='html'>All Java developers don’t concern on Memory Management while developing application. Since they totally relay on JVM for that task. But JVM always done it as its default way. Until JVM doesn’t have a knowledge about your application and running platform your can’t get the best performance of Application.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But now you can tune up the JVM for specific Application and Environment.  Since J2SE 5.0 release Java Hotspot JVM provide a rich configuration capabilities for Garbage Collector (GC). Older versions also have some capabilities. Rest of this Article will provide summarized information about Configurations of GC.&lt;br /&gt;&lt;br /&gt;GC has several algorithms for collecting garbage memory (no longer referenced Memory)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.    Serial and Parallel &lt;/span&gt;&lt;br /&gt;Parallel GC is good for multi-processor systems&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.    Concurrent versus Stop-the-world&lt;/span&gt;&lt;br /&gt;When stop-the-world performs JVM stop other executions. So GC do not worry about modification of objects while cleaning. But Concurrent garbage collection has some over head.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.    Compacting versus Non-compacting versus Copying&lt;/span&gt;&lt;br /&gt;In Compacting GC Compact free memory as one linear memory space but there is a memory moving overhead.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Throughput Goal&lt;/span&gt;&lt;br /&gt;The throughput goal is measured in terms of the time spent doing garbage collection and the time spent&lt;br /&gt;outside of garbage collection (referred to as application time). The goal is specified by the command line&lt;br /&gt;option&lt;br /&gt;-XX:GCTimeRatio=n&lt;br /&gt;The ratio of garbage collection time to application time is&lt;br /&gt;1 / (1 + n)&lt;br /&gt;For example -XX:GCTimeRatio=19 sets a goal of 5% of the total time for garbage collection. The&lt;br /&gt;default goal is 1% (i.e. n= 99). The time spent in garbage collection is the total time for all generations.&lt;br /&gt;If the throughput goal is not being met, the sizes of the generations are increased in an effort to&lt;br /&gt;increase the time the application can run between collections. A larger generation takes more time to&lt;br /&gt;fill up.&lt;br /&gt;&lt;br /&gt;Here is some configuration flags for GC tuning.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Garbage Collector  Selection&lt;/span&gt;&lt;style type="text/css"&gt;.nobrtable br { display: none&lt;/style&gt;&lt;br /&gt;&lt;div class="nobrtable"&gt;&lt;br /&gt;&lt;table style="border: 1px solid rgb(204, 204, 204);" border="1" cellpadding="0" cellspacing="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="223"&gt;&lt;p&gt;&lt;strong&gt;Option&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="216"&gt;&lt;p&gt;&lt;strong&gt;Garbage Collector    Selected&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="223"&gt;&lt;p&gt;–XX:+UseSerialGC&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="216"&gt;&lt;p&gt;Serial&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="223"&gt;&lt;p&gt;–XX:+UseParallelGC&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="216"&gt;&lt;p&gt;Parallel&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="223"&gt;&lt;p&gt;–XX:+UseParallelOldGC&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="216"&gt;&lt;p&gt;Parallel compacting&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="223"&gt;&lt;p&gt;–XX:+UseConcMarkSweepGC&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="216"&gt;&lt;p&gt;Concurrent mark–sweep (CMS)&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;Garbage Collector Statistics&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="border: 1px solid rgb(204, 204, 204);" cellpadding="0" cellspacing="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="283"&gt;&lt;strong&gt;Option  &lt;/strong&gt;&lt;p&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="307"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;p&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="283"&gt;–XX:+PrintGC  &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="307"&gt;Outputs basic information at every garbage collection.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="283"&gt;–XX:+PrintGCDetails  &lt;p&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="307"&gt;Outputs more detailed information at every garbage    collection.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="283"&gt;–XX:+PrintGCTimeStamps  &lt;p&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="307"&gt;Outputs a time stamp at the start of each garbage    collection event. Used with&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" width="283"&gt;–XX:+PrintGC or –XX:+PrintGCDetails     &lt;p&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" width="307"&gt;to show when each garbage collection begins.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;For More Information refer :&lt;a href="http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf"&gt; http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-127278584714322006?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/127278584714322006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/03/tips-of-fine-tuning-of-garbage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/127278584714322006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/127278584714322006'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/03/tips-of-fine-tuning-of-garbage.html' title='Tips of fine-tuning of Garbage Collector in JVM'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1150276825545559191</id><published>2009-02-18T00:09:00.000-08:00</published><updated>2009-02-18T00:23:15.751-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SWF'/><category scheme='http://www.blogger.com/atom/ns#' term='64-bit'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><category scheme='http://www.blogger.com/atom/ns#' term='screensaver'/><title type='text'>Convert SWF to Screenserver</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xNB1HlMyns8/SZvETQG4WgI/AAAAAAAAAEc/dYF5xbx0GMY/s1600-h/is0.PNG"&gt;&lt;img style="cursor: pointer; width: 187px; height: 40px;" src="http://3.bp.blogspot.com/_xNB1HlMyns8/SZvETQG4WgI/AAAAAAAAAEc/dYF5xbx0GMY/s400/is0.PNG" alt="" id="BLOGGER_PHOTO_ID_5304048821179275778" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;InstantStorm&lt;/span&gt; is a Windows&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;freeware&lt;/span&gt;&lt;/span&gt; tool for creating Flash based screensavers with many advanced features.&lt;br /&gt;All you have to do is to choose a SWF file, set screensaver parameters and compile an executable installer. All &lt;span style="font-weight: bold;"&gt;32-bit&lt;/span&gt; and&lt;span style="font-weight: bold;"&gt; 64-bit &lt;/span&gt;versions of Microsoft Windows are fully supported, including Windows 95 and &lt;span style="font-weight: bold;"&gt;Windows Vista&lt;/span&gt;. And the best of all—there are no nag screens or other annoying stuff. Unlike many other tools, InstantStorm allows you to fully customize your screensaver's about box, installer and uninstaller including all texts.&lt;br /&gt;&lt;br /&gt;[&lt;a href="http://www.instantstorm.com/"&gt;&lt;span style="font-weight: bold;"&gt;  Home Page  &lt;/span&gt;&lt;/a&gt;]                                                      [ &lt;a href="http://www.instantstorm.com/downloadnow"&gt;&lt;span style="font-weight: bold;"&gt;Download (2.72MB)&lt;/span&gt;&lt;/a&gt; ]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GUI&lt;/span&gt;:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xNB1HlMyns8/SZvETpjNk9I/AAAAAAAAAEk/SEef1CUR07E/s1600-h/is1.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 239px;" src="http://1.bp.blogspot.com/_xNB1HlMyns8/SZvETpjNk9I/AAAAAAAAAEk/SEef1CUR07E/s400/is1.PNG" alt="" id="BLOGGER_PHOTO_ID_5304048828008993746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Wizard&lt;/span&gt;:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xNB1HlMyns8/SZvETt7RQPI/AAAAAAAAAEs/imKMPfymGso/s1600-h/is2.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 308px;" src="http://1.bp.blogspot.com/_xNB1HlMyns8/SZvETt7RQPI/AAAAAAAAAEs/imKMPfymGso/s400/is2.PNG" alt="" id="BLOGGER_PHOTO_ID_5304048829183639794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xNB1HlMyns8/SZvET5xoxaI/AAAAAAAAAE0/WkUrntOhPOo/s1600-h/is3.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 308px;" src="http://1.bp.blogspot.com/_xNB1HlMyns8/SZvET5xoxaI/AAAAAAAAAE0/WkUrntOhPOo/s400/is3.PNG" alt="" id="BLOGGER_PHOTO_ID_5304048832364463522" 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/1730458209182769184-1150276825545559191?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1150276825545559191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/02/convert-swf-to-screenserver.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1150276825545559191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1150276825545559191'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/02/convert-swf-to-screenserver.html' title='Convert SWF to Screenserver'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xNB1HlMyns8/SZvETQG4WgI/AAAAAAAAAEc/dYF5xbx0GMY/s72-c/is0.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-6852568884360593016</id><published>2009-02-13T01:47:00.000-08:00</published><updated>2009-02-13T02:23:46.436-08:00</updated><title type='text'>Enjoy with Music  while Coding</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xNB1HlMyns8/SZVINXTclnI/AAAAAAAAADk/UAKmSQtdN54/s1600-h/3.PNG"&gt;&lt;img style="cursor: pointer; width: 167px; height: 72px;" src="http://1.bp.blogspot.com/_xNB1HlMyns8/SZVINXTclnI/AAAAAAAAADk/UAKmSQtdN54/s400/3.PNG" alt="" id="BLOGGER_PHOTO_ID_5302223530729707122" border="0" /&gt;&lt;/a&gt; &lt;span style="color: rgb(255, 153, 0);"&gt; &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(255, 153, 0);"&gt; &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(204, 102, 0);font-size:130%;" &gt;M&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(204, 102, 0);"&gt;usic  is good medicine for stress&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;B&lt;/span&gt;ut It will make you more tired when your media player interrupting for your work. Because Most of media players need more resources (CPU, Memory etc) . &lt;span style="font-weight: bold;"&gt;Cool player&lt;/span&gt; is a good solution for those problems.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Best Features:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Work with minimum memory (4 - 8MB)&lt;/li&gt;&lt;li&gt;Minimum CPU utilization (Almost 0.0)&lt;/li&gt;&lt;li&gt;Direct IO access (No Operating System Overhead)&lt;/li&gt;&lt;li&gt;Stay at System tray ( Save one slot of your Task bar).&lt;/li&gt;&lt;li&gt;Free And Open Source (GNU General Public License)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Advanced Playlist editor &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;[&lt;a style="font-weight: bold;" href="http://coolplayer.sourceforge.net/"&gt;Home Page&lt;/a&gt;]           [&lt;a style="font-weight: bold;" href="http://prdownloads.sourceforge.net/coolplayer/CoolPlayer219_Bin.zip?download"&gt;Download Cool Player&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xNB1HlMyns8/SZVJHpP4j4I/AAAAAAAAAEE/dZ452jIK7Qg/s1600-h/p1.PNG"&gt;&lt;img style="cursor: pointer; width: 261px; height: 181px;" src="http://2.bp.blogspot.com/_xNB1HlMyns8/SZVJHpP4j4I/AAAAAAAAAEE/dZ452jIK7Qg/s400/p1.PNG" alt="" id="BLOGGER_PHOTO_ID_5302224531979014018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Play list&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xNB1HlMyns8/SZVJHivOPII/AAAAAAAAAEM/YP7A-veqCYs/s1600-h/p2.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 400px;" src="http://4.bp.blogspot.com/_xNB1HlMyns8/SZVJHivOPII/AAAAAAAAAEM/YP7A-veqCYs/s400/p2.PNG" alt="" id="BLOGGER_PHOTO_ID_5302224530231409794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;System Tray&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xNB1HlMyns8/SZVJjnG6ZJI/AAAAAAAAAEU/QdtMurOzA_Q/s1600-h/p3.PNG"&gt;&lt;img style="cursor: pointer; width: 259px; height: 254px;" src="http://4.bp.blogspot.com/_xNB1HlMyns8/SZVJjnG6ZJI/AAAAAAAAAEU/QdtMurOzA_Q/s400/p3.PNG" alt="" id="BLOGGER_PHOTO_ID_5302225012440851602" 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/1730458209182769184-6852568884360593016?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/6852568884360593016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/02/enjoy-with-music-while-coding.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6852568884360593016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6852568884360593016'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/02/enjoy-with-music-while-coding.html' title='Enjoy with Music  while Coding'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xNB1HlMyns8/SZVINXTclnI/AAAAAAAAADk/UAKmSQtdN54/s72-c/3.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-4406451038984434034</id><published>2009-02-03T02:16:00.000-08:00</published><updated>2009-02-03T02:42:25.012-08:00</updated><title type='text'>Install Windows XP on Apple NoteBook</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.apple.com/macosx/features/bootcamp.html"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 711px; height: 388px;" src="http://images.apple.com/macosx/features/images/bootcamp_hero20071016.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;How to install &lt;span style="font-weight: bold;"&gt;Windows XP&lt;/span&gt; or&lt;span style="font-weight: bold;"&gt; Vista&lt;/span&gt; on &lt;span style="font-weight: bold;"&gt;Apple Laptop&lt;/span&gt;?&lt;br /&gt;Above question is very hard for some people. But Mac people provide a better solution for that problem. That is &lt;span style="font-weight: bold;"&gt;Mac's Boot Camp&lt;/span&gt;. That allows configure your laptop for dual boot , Windows and Mac.&lt;br /&gt;&lt;br /&gt;Visit for More information &lt;a style="font-weight: bold;" href="http://www.apple.com/macosx/features/bootcamp.html"&gt;Boot camp&lt;/a&gt;. and &lt;a style="font-weight: bold;" href="http://www.apple.com/support/bootcamp/"&gt;Install Guide&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-4406451038984434034?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/4406451038984434034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/02/install-windows-xp-on-apple-notebook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4406451038984434034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4406451038984434034'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/02/install-windows-xp-on-apple-notebook.html' title='Install Windows XP on Apple NoteBook'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-933036431961228242</id><published>2009-02-01T21:17:00.000-08:00</published><updated>2009-02-01T21:31:39.804-08:00</updated><title type='text'>Better way of Tracking your Site or Blog (Google Analitics)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.google.com/analytics/images/logo_ga.gif"&gt;&lt;img style="cursor: pointer; width: 184px; height: 47px;" src="http://www.google.com/analytics/images/logo_ga.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;           During last few months I tried to find out ways of analyzing web traffic of my blog, visitors of my blog. I found several traffic analyzing web sites. They offers verity of services, Some of Those are free services. But they force us to buy their premium package.&lt;br /&gt;&lt;div style="text-align: left;"&gt;    Finally, I found a better solution for my requirement. That is “Google Analytics“. Only condition of  Google Analytics is you should have a google account.&lt;br /&gt;&lt;br /&gt;Google Analytics offers following facilities.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Segmented visitor’s information.&lt;/li&gt;&lt;li&gt;Several sites can be tracked by using single account.&lt;/li&gt;&lt;li&gt;Display visitor’s geographical information.&lt;/li&gt;&lt;li&gt;Email reporting.&lt;/li&gt;&lt;li&gt;Customizable report structure and user’s dashboard.&lt;/li&gt;&lt;li&gt;Trusted Service.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Here is a tour of Google Analytics. (&lt;a href="http://services.google.com/analytics/tour/index_en-US.html"&gt;  Tour  &lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Here is Screen shots of Google analytic&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xNB1HlMyns8/SYaDxEYS7EI/AAAAAAAAACw/88wQYLvksSY/s1600-h/ga1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 442px; height: 330px;" src="http://3.bp.blogspot.com/_xNB1HlMyns8/SYaDxEYS7EI/AAAAAAAAACw/88wQYLvksSY/s400/ga1.JPG" alt="" id="BLOGGER_PHOTO_ID_5298066890660441154" border="0" /&gt;&lt;/a&gt;.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xNB1HlMyns8/SYaEqTpgEhI/AAAAAAAAAC4/l6LwKTJziu0/s1600-h/ga2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 453px; height: 339px;" src="http://2.bp.blogspot.com/_xNB1HlMyns8/SYaEqTpgEhI/AAAAAAAAAC4/l6LwKTJziu0/s400/ga2.JPG" alt="" id="BLOGGER_PHOTO_ID_5298067874011681298" border="0" /&gt;&lt;/a&gt;Visit &lt;span style="font-size:130%;"&gt;&lt;a style="font-weight: bold;" href="http://www.google.com/analytics"&gt;Google Analytic &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&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/1730458209182769184-933036431961228242?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/933036431961228242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/02/better-way-of-tracking-your-site-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/933036431961228242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/933036431961228242'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/02/better-way-of-tracking-your-site-or.html' title='Better way of Tracking your Site or Blog (Google Analitics)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xNB1HlMyns8/SYaDxEYS7EI/AAAAAAAAACw/88wQYLvksSY/s72-c/ga1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-5899160451764513050</id><published>2009-01-28T03:09:00.000-08:00</published><updated>2009-01-28T03:12:21.718-08:00</updated><title type='text'>Floating point Reminder in Java</title><content type='html'>Calculating reminder of  Integer1 and Integer2  is simple, It is only single line, integer1%integer2. But How to Calculate reminder of two floating point Numbers ???&lt;br /&gt;&lt;br /&gt;Use Java’s Math packager. There is function call “IEEEremainder”.&lt;br /&gt;Here is a sample code.&lt;br /&gt;---------------------------------------------------------------------&lt;br /&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;import java.math.*;&lt;br /&gt;&lt;br /&gt;class frmd{&lt;br /&gt;&lt;br /&gt;   public static void main(String args[]){&lt;br /&gt;&lt;br /&gt;          double d1 = 5.0d;&lt;br /&gt;          double d2 = 2.1d;&lt;br /&gt;&lt;br /&gt;          double dReminder = Math.IEEEremainder(d1, d2);&lt;br /&gt;&lt;br /&gt;          System.out.println("Reminder = " + dReminder);&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;   }&lt;/span&gt;&lt;br /&gt;------------------------------------------------------------------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Result:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        Reminder = 0.7999999999999998&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lets look how this function works.&lt;br /&gt;D1 = 5.0&lt;br /&gt;D2 = 2.1&lt;br /&gt;&lt;br /&gt;Then reminder is 0.7999999999999998 . That value is very close to 0.8.&lt;br /&gt;That means 0.8 = 5.0 –(2.1 x n  ) ;&lt;br /&gt;n is a integer and it is equals to 2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-5899160451764513050?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/5899160451764513050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/01/floating-point-reminder-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5899160451764513050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5899160451764513050'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/01/floating-point-reminder-in-java.html' title='Floating point Reminder in Java'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1506954380618691064</id><published>2009-01-28T02:28:00.000-08:00</published><updated>2009-01-28T02:32:57.821-08:00</updated><title type='text'>HxD - Freeware Hex Editor and Disk Editor (portable)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mh-nexus.de/en/graphics/HxDShotLarge.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 714px; height: 464px;" src="http://mh-nexus.de/en/graphics/HxDShotLarge.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;HxD&lt;/span&gt; is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size.&lt;/p&gt;             &lt;p&gt;The easy to use interface offers features such as searching and replacing, exporting, checksums/digests, insertion of byte patterns, a file shredder, concatenation or splitting of files, statistics and much more.&lt;/p&gt;       &lt;p&gt;Editing works like in a text editor with a focus on a simple and task-oriented operation, as such functions were streamlined to hide differences that are purely technical.&lt;br /&gt;For example, drives and memory are presented similar to a file and are shown as a whole, in contrast to a sector/region-limited view that cuts off data which potentially belongs together. Drives and memory can be edited the same way as a regular file including support for undo. In addition memory-sections define a foldable region and inaccessible sections are hidden by default.&lt;/p&gt;         &lt;p&gt;Furthermore a lot of effort was put into making operations fast and efficient, instead of forcing you to use specialized functions for technical reasons or arbitrarily limiting file sizes. This includes a responsive interface and progress indicators for lengthy operations.&lt;/p&gt;&lt;p&gt;&lt;a href="http://mh-nexus.de/downloads/HxDen.zip"&gt;&lt;span style="font-weight: bold;"&gt;[ Download ] &lt;/span&gt;&lt;/a&gt;&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/1730458209182769184-1506954380618691064?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1506954380618691064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/01/hxd-freeware-hex-editor-and-disk-editor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1506954380618691064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1506954380618691064'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/01/hxd-freeware-hex-editor-and-disk-editor.html' title='HxD - Freeware Hex Editor and Disk Editor (portable)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-8992848998635061947</id><published>2009-01-22T00:16:00.000-08:00</published><updated>2009-01-22T00:27:39.329-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Knol Google'/><title type='text'>Google launch  new Knowledge Center (beta)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://knol.google.com/k/knol/_/rsrc/1232477950856/system/knol/images/header/knol-logo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 212px; height: 45px;" src="http://knol.google.com/k/knol/_/rsrc/1232477950856/system/knol/images/header/knol-logo.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;      &lt;span style="color: rgb(51, 51, 255);"&gt;L&lt;/span&gt;&lt;/span&gt;atest Google project is “&lt;span style="color: rgb(51, 102, 255);"&gt;Knol&lt;/span&gt;”, a unit of knowledge. You will think that &lt;span style="font-style: italic; color: rgb(51, 102, 255);"&gt;Knol&lt;/span&gt; is a some kind of blog. But it offers more functionality than a simple blog. Because it allows users to develop their knowledge through a collaborative task. For an example, you can allow people to edit your articles and rate your article. Not only that &lt;span style="font-style: italic; color: rgb(51, 102, 255);"&gt;Knol&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;allows you to express your ideas in different languages.&lt;br /&gt;    Visit &lt;span style="font-style: italic; color: rgb(51, 102, 255);"&gt;knol&lt;/span&gt; is the better way to get the real feeling.&lt;br /&gt;&lt;br /&gt;Visit – &lt;a href="http://knol.google.com/k"&gt;Google Knol&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is &lt;a href="http://knol.google.com/k/janaka-sooriyaarachchi/developers-point/2zaq69ewrpuhj/1#"&gt;my Google Knol&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xNB1HlMyns8/SXgshe6r-jI/AAAAAAAAAB4/OPgDnFf8PNE/s1600-h/knol.JPG"&gt;&lt;img style="cursor: pointer; width: 543px; height: 407px;" src="http://3.bp.blogspot.com/_xNB1HlMyns8/SXgshe6r-jI/AAAAAAAAAB4/OPgDnFf8PNE/s400/knol.JPG" alt="" id="BLOGGER_PHOTO_ID_5294030315720538674" border="0" /&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xNB1HlMyns8/SXgrzPZJLxI/AAAAAAAAABw/V1ajNX3wy4o/s1600-h/knol.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-8992848998635061947?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/8992848998635061947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/01/google-launch-new-knowledge-center-beta.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8992848998635061947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/8992848998635061947'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/01/google-launch-new-knowledge-center-beta.html' title='Google launch  new Knowledge Center (beta)'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xNB1HlMyns8/SXgshe6r-jI/AAAAAAAAAB4/OPgDnFf8PNE/s72-c/knol.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-4854460747198557533</id><published>2009-01-06T03:27:00.000-08:00</published><updated>2009-01-06T03:33:03.838-08:00</updated><title type='text'>Talking Web Sites</title><content type='html'>Some time you may need to add voice cut in to your websites, I mean text-to-speech gadgets. It can be read user's input text or text in web page. Now it is very easy. Visit&lt;a href="http://vozme.com/"&gt; www.vozme.com&lt;/a&gt;&lt;br /&gt;Here What i got from there.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://www.gmodules.com/ig/ifr?url=http://hosting.gmodules.com/ig/gadgets/file/114896039520058783521/vozme_en.xml&amp;amp;synd=open&amp;amp;w=320&amp;amp;h=195&amp;amp;title=vozMe.com&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-4854460747198557533?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/4854460747198557533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/01/talking-web-sites.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4854460747198557533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/4854460747198557533'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/01/talking-web-sites.html' title='Talking Web Sites'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-7644782323142533358</id><published>2009-01-01T21:55:00.000-08:00</published><updated>2009-01-01T22:04:26.034-08:00</updated><title type='text'>How to use FTP file upload &amp; download in your Java application?</title><content type='html'>Some times developers need to access a FTP Server fro file uploading and downloading. But they don’t want other functionalities of FTP such as directory manipulations, file and folder renaming and file listing.  So it is no need to use fully implemented FTP library in Application. Those FTP libraries make the application more heavy and unstable at runtime as well as Application source code become more complex. Developers need to put more effort for debugging those applications.&lt;br /&gt;  All above problems can be over come by using a simple FTP java class. Main goal of this post is introduce a simple FTP Client class for java developers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Features:&lt;/span&gt;&lt;br /&gt;1.    No need to use library in project. (No dependency “jar” files).&lt;br /&gt;2.    Open source (Easy to debugging).&lt;br /&gt;3.    Easy to use interface functions. ( upload() &amp;amp; download()).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Here is usage example code.&lt;/span&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;class test{&lt;br /&gt;&lt;br /&gt;public static void main(String args[]) throws Exception{&lt;br /&gt;&lt;br /&gt;FTP ftp = new FTP();&lt;br /&gt;&lt;br /&gt;boolean DownloadSucess  =&lt;br /&gt;    ftp.download("127.0.0.1","admin","admin"," temp2.JPG","123.jpg");&lt;br /&gt;boolean uploadSucess =&lt;br /&gt;     ftp.upload("127.0.0.1","admin","admin","test.java","test.java");&lt;br /&gt;&lt;br /&gt; System.out.println(DownloadSucess);&lt;br /&gt; System.out.println(uploadSucess);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Download source fils (&lt;a href="http://www.geocities.com/janaka_ss/ftp.zip"&gt;Download&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Note: FTP Server should support for Passive mode.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;I try this code with Filezilla Server version 0.9.8 successfully.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-7644782323142533358?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/7644782323142533358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2009/01/how-to-use-ftp-file-upload-download-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7644782323142533358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/7644782323142533358'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2009/01/how-to-use-ftp-file-upload-download-in.html' title='How to use FTP file upload &amp; download in your Java application?'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-1620094206490745585</id><published>2008-12-18T00:40:00.000-08:00</published><updated>2008-12-18T00:49:32.455-08:00</updated><title type='text'>Easy way to download  from Rapidshare</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rapidshare.com"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 300px; height: 214px;" src="http://www.rapidshare.com/img2/rslogo.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;             If your are using a free account of RapidShare (&lt;a href="http://www.rapidshare.com/"&gt;http://www.rapidshare.com&lt;/a&gt; ) You may have face various difficulties such Waiting for count downs, downloads proceed on single connection  and unable to do multiple downloads.&lt;br /&gt;               BUT Premium Accounts are very comfortable and you have to pay for that.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now you can access Premium link FREE. Visit &lt;span style="font-size:130%;"&gt;&lt;a href="http://megaez.com/"&gt;http://megaez.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1: &lt;/span&gt;&lt;br /&gt;                Paste RapidShare URL in Textbox and press “Download”.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2:&lt;/span&gt;&lt;br /&gt;                Then it prompt a URL. Now you can easily download it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://megaez.com"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 381px; height: 187px;" src="http://2.bp.blogspot.com/_xNB1HlMyns8/SUoNQC99oyI/AAAAAAAAAA4/dbRe-RCGqUQ/s320/megaez.JPG" alt="" id="BLOGGER_PHOTO_ID_5281048082371158818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Note:    &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    Some times, you may see the megaez is not responding. Because it needs, active account to continue downloads.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Enjoy with  &lt;a href="http://megaez.com"&gt;  MEGAEZ .com&lt;/a&gt; …………..&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-1620094206490745585?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/1620094206490745585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2008/12/easy-way-to-download-from-rapidshare.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1620094206490745585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/1620094206490745585'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2008/12/easy-way-to-download-from-rapidshare.html' title='Easy way to download  from Rapidshare'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xNB1HlMyns8/SUoNQC99oyI/AAAAAAAAAA4/dbRe-RCGqUQ/s72-c/megaez.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-5305225238841117791</id><published>2008-12-04T04:00:00.000-08:00</published><updated>2009-03-12T00:01:48.824-07:00</updated><title type='text'>Only for Solaris Users</title><content type='html'>This commands are very helpful when you need to debug your application or If you want to monitor application performances.&lt;br /&gt;&lt;br /&gt;System and process monitoring commands&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    prstat&lt;/li&gt;&lt;li&gt;    ptree&lt;/li&gt;&lt;li&gt;    pstack&lt;/li&gt;&lt;li&gt;    pkill&lt;/li&gt;&lt;li&gt;    pmap&lt;/li&gt;&lt;li&gt;    pfiles&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;prstat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;prstat is a process statistic monitoring utility. It shows CPU utilization, memory usage, user, process ID and few other information of each process.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ prstat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 28465 ex19       46M   44M sleep   59    0   0:17:22 0.3% WSA/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 21861 ex19       67M   50M sleep   59    0   0:17:23 0.3% SHU/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 28385 ex19      120M  101M sleep   59    0   0:15:08 0.2% OrderC/5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  4420 ex7       141M  121M sleep   59    0   0:01:29 0.2% FDriver_/4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 21784 ex19       12M   11M sleep   59    0   0:14:44 0.2% SGA/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 17050 ex7       120M   96M sleep   59    0   0:03:24 0.2% Orche/5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 16684 ex7        18M   16M sleep   59    0   0:02:50 0.2% SGA/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 17413 ex7       121M   97M sleep   59    0   0:03:17 0.2% Iate/4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 28433 ex19       41M   17M sleep   59    0   0:11:17 0.2% ServiceD/4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 17470 ex7      9160K 7712K sleep   59    0   0:02:09 0.2% SSM/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  3952 ex20     9160K 7860K sleep   59    0   0:00:37 0.2% SSM/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 17214 ex7        25M   20M sleep   59    0   0:02:13 0.2% Sequr/3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 28536 ex19     7912K 6464K sleep   59    0   0:10:17 0.2% SSM/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Total: 13 processes, 575 lwps, load averages: 4.31, 4.32, 4.31&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If you need to view information of selected process. You can do by giving process ID.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;$ prstat –p  28465&lt;br /&gt;PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP&lt;br /&gt;28465 ex19       46M   44M sleep   59    0   0:17:22 0.3% WSA/1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Total: 1 processes, 575 lwps, load averages: 4.31, 4.32, 4.31&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;ptree&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This command shows parent-child relation ship of running processes. When it execute with out any argument then it shows information of all process. If process id is specified then it only shows information regarding that process.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;With out Process ID:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;$ptree&lt;br /&gt;7     /lib/svc/bin/svc.startd&lt;br /&gt;258   /usr/lib/saf/sac -t 300&lt;br /&gt;290   /usr/lib/saf/ttymon&lt;br /&gt;270   /usr/lib/saf/ttymon -g -d /dev/console -l console -m ldterm,ttcompat -h -p v20z&lt;br /&gt;9     /lib/svc/bin/svc.configd&lt;br /&gt;109   /usr/lib/sysevent/syseventd&lt;br /&gt;306   /usr/sbin/cron&lt;br /&gt;3119  sh -c chmod 755 $HOME/run_prstat; ./run_prstat&lt;br /&gt;3127  /bin/bash ./run_prstat&lt;br /&gt;11381 prstat -n 50 -c 5&lt;br /&gt;11382 sleep 5&lt;br /&gt;307   /usr/lib/inet/inetd start&lt;br /&gt;16055 /bin/sh /lib/svc/method/rpc-ttdbserverd&lt;br /&gt;16065 /usr/openwin/bin/rpc.ttdbserverd&lt;br /&gt;115   /usr/sbin/in.telnetd&lt;br /&gt;118   -bash&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:times new roman;"&gt;With Process ID:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;$ ptree 22961&lt;br /&gt;301   /usr/lib/ssh/sshd&lt;br /&gt;21571 /usr/lib/ssh/sshd&lt;br /&gt;21578 /usr/lib/ssh/sshd&lt;br /&gt;21580 -ksh&lt;br /&gt;22961 /opt/filebench/bin/filebench&lt;br /&gt;  22962 shadow -a shadow -i 1 -s ffffffff10000000 -m /var/tmp/fbench9Ca&lt;br /&gt;  22963 shadow -a shadow -i 2 -s ffffffff10000000 -m /var/tmp/fbench9Ca&lt;br /&gt;  22964 shadow -a shadow -i 3 -s ffffffff10000000 -m /var/tmp/fbench9Ca&lt;br /&gt;  22965 shadow -a shadow -i 4 -s ffffffff10000000 -m /var/tmp/fbench9Ca&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;pstack&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The stacks of all or specific threads within a process can be displayed with the pstack command. This is very help full when you developing multithreaded applications.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ pstack 23154&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;23154:  shadow -a shadow -i 193 -s ffffffff10000000 -m /var/tmp/fbench9Cai2S&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-----------------  lwp# 1 / thread# 1  --------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; ffffffff7e7ce0f4 lwp_wait (2, ffffffff7fffe9cc)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; ffffffff7e7c9528 _thrp_join (2, 0, 0, 1, 100000000, ffffffff7fffe9cc)   38&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 0000000100018300 threadflow_init (ffffffff3722f1b0, ffffffff10000000, 10006a658, 0, 0, 1000888b0)   184&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 00000001000172f8 procflow_exec (6a000, 10006a000, 0, 6a000, 5, ffffffff3722f1b0)   15c&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 0000000100026558 main (a3400, ffffffff7ffff948, ffffffff7fffeff8, a4000, 0, 1)   414&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 000000010001585c _start (0, 0, 0, 0, 0, 0)   17c&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;----------------  lwp# 2 / thread# 2  --------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 000000010001ae90 flowoplib_hog (30d40, ffffffff651f3650, 30d40, ffffffff373aa3b8, 1, 2e906)   68&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 00000001000194a4 flowop_start (ffffffff373aa3b8, 0, 1, 0, 1, 1000888b0)   408&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; ffffffff7e7ccea0 _lwp_start (0, 0, 0, 0, 0, 0)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;pkill&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The pkill command provides a convenient way to send signals to a list or processes matching certain criteria.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;br /&gt;$ pkill a.out&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;pmap&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The pmap command inspects a process, displaying every mapping within the process's address space. The amount of resident, nonshared anonymous, and locked memory is shown for each mapping. This allows you to estimate shared and private memory usage.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;$ pmap -x 102908&lt;br /&gt;102908:   sh&lt;br /&gt;Address   Kbytes Resident   Anon  Locked Mode   Mapped File&lt;br /&gt;00010000      88      88       -       - r-x--  sh&lt;br /&gt;&lt;br /&gt;00036000       8       8       8       - rwx--  sh&lt;br /&gt;00038000      16      16      16       - rwx--    [ heap ]&lt;br /&gt;FF260000      16      16       -       - r-x--  en_.so.2&lt;br /&gt;FF272000      16      16       -       - rwx--  en_US.so.2&lt;br /&gt;FF280000     664     624       -       - r-x--  libc.so.1&lt;br /&gt;FF336000      32      32       8       - rwx--  libc.so.1&lt;br /&gt;FF360000      16      16       -       - r-x--  libc_psr.so.1&lt;br /&gt;FF380000      24      24       -       - r-x--  libgen.so.1&lt;br /&gt;FF396000       8       8       -       - rwx--  libgen.so.1&lt;br /&gt;FF3A0000       8       8       -       - r-x--  libdl.so.1&lt;br /&gt;FF3B0000       8       8       8       - rwx--    [ anon ]&lt;br /&gt;FF3C0000     152     152       -       - r-x--  ld.so.1&lt;br /&gt;FF3F6000       8       8       8       - rwx--  ld.so.1&lt;br /&gt;FFBFE000       8       8       8       - rw---    [ stack ]&lt;br /&gt;--------   -----   -----   -----   ------&lt;br /&gt;total Kb    1072    1032      56       -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;pfiles&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All opened file descriptors of a process can be list by pfiles command.(All disk files, Sockets, and other IO devices)&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;$ pfiles 21571&lt;br /&gt;21571:  /usr/lib/ssh/sshd&lt;br /&gt;Current rlimit: 256 file descriptors&lt;br /&gt;0: S_IFCHR mode:0666 dev:286,0 ino:6815752 uid:0 gid:3 rdev:13,2&lt;br /&gt;O_RDWR|O_LARGEFILE&lt;br /&gt;/devices/pseudo/mm@0:null&lt;br /&gt;1: S_IFCHR mode:0666 dev:286,0 ino:6815752 uid:0 gid:3 rdev:13,2&lt;br /&gt;O_RDWR|O_LARGEFILE&lt;br /&gt;/devices/pseudo/mm@0:null&lt;br /&gt;2: S_IFCHR mode:0666 dev:286,0 ino:6815752 uid:0 gid:3 rdev:13,2&lt;br /&gt;O_RDWR|O_LARGEFILE&lt;br /&gt;/devices/pseudo/mm@0:null&lt;br /&gt;3: S_IFCHR mode:0000 dev:286,0 ino:38639 uid:0 gid:0 rdev:215,2&lt;br /&gt;O_RDWR FD_CLOEXEC&lt;br /&gt;/devices/pseudo/crypto@0:crypto&lt;br /&gt;4: S_IFIFO mode:0000 dev:294,0 ino:13099 uid:0 gid:0 size:0&lt;br /&gt;O_RDWR|O_NONBLOCK FD_CLOEXEC&lt;br /&gt;5: S_IFDOOR mode:0444 dev:295,0 ino:62 uid:0 gid:0 size:0&lt;br /&gt;O_RDONLY|O_LARGEFILE FD_CLOEXEC  door to nscd[89]&lt;br /&gt;/var/run/name_service_door&lt;br /&gt;6: S_IFIFO mode:0000 dev:294,0 ino:13098 uid:0 gid:0 size:0&lt;br /&gt;O_RDWR|O_NONBLOCK FD_CLOEXEC&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:times new roman;font-size:130%;"  &gt;prtdiag &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:times new roman;"&gt;prtdiag will display system diagnostic information. That include cpu, memory, PCI devices and more.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;$prtdiag&lt;br /&gt;&lt;span style="font-size:85%;"&gt;==== Processor Sockets ====================================&lt;br /&gt;&lt;br /&gt;Version                          Location Tag&lt;br /&gt;-------------------------------- --------------------------&lt;br /&gt;AMD                              CPU0-Socket 940&lt;br /&gt;AMD                              CPU1-Socket 940&lt;br /&gt;&lt;br /&gt;==== Memory Device Sockets ================================&lt;br /&gt;&lt;br /&gt;Type    Status Set Device Locator      Bank Locator&lt;br /&gt;------- ------ --- ------------------- --------------------&lt;br /&gt;DRAM    in use 1   DIMM0               CPU0&lt;br /&gt;DRAM    in use 1   DIMM1               CPU0&lt;br /&gt;DRAM    empty  2   DIMM2               CPU0&lt;br /&gt;DRAM    empty  2   DIMM3               CPU0&lt;br /&gt;DRAM    in use 3   DIMM0               CPU1&lt;br /&gt;DRAM    in use 3   DIMM1               CPU1&lt;br /&gt;DRAM    empty  4   DIMM2               CPU1&lt;br /&gt;DRAM    empty  4   DIMM3               CPU1&lt;br /&gt;&lt;br /&gt;==== On-Board Devices =====================================&lt;br /&gt;&lt;br /&gt;==== Upgradeable Slots ====================================&lt;br /&gt;&lt;br /&gt;ID  Status    Type             Description&lt;br /&gt;--- --------- ---------------- ----------------------------&lt;br /&gt;1   available PCI-X            PCIX Slot 1&lt;br /&gt;2   available PCI-X            PCIX Slot 2&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;"&gt;prtconf&lt;br /&gt;&lt;span style="font-size:100%;"&gt; The prtconf command prints the system configuration information.  The  output  includes the total amount of memory, and the configuration of system peripherals formatted as a  device tree.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;System Configuration:  Sun Microsystems  i86pc&lt;br /&gt;Memory size: 8128 Megabytes&lt;br /&gt;System Peripherals (Software Nodes):&lt;br /&gt;&lt;br /&gt;i86pc&lt;br /&gt; scsi_vhci, instance #0&lt;br /&gt; isa, instance #0&lt;br /&gt;     motherboard (driver not attached)&lt;br /&gt;     i8042, instance #0&lt;br /&gt;         mouse, instance #0&lt;br /&gt;         keyboard, instance #0&lt;br /&gt;     asy, instance #0 (driver not attached)&lt;br /&gt;     fdc, instance #0&lt;br /&gt;         fd, instance #0&lt;br /&gt;         fd, instance #1 (driver not attached)&lt;br /&gt; pci, instance #0&lt;br /&gt;     pci1022,7460, instance #0&lt;br /&gt;         pci17c2,10, instance #0&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;psrinfo&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Psrinfo  displays the CPU information.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&gt;&lt;span style="font-weight: bold;"&gt;psrinfo -v&lt;/span&gt;&lt;br /&gt;Status of virtual processor 0 as of: 03/12/2009 12:23:25&lt;br /&gt;  on-line since 01/25/2009 05:50:56.&lt;br /&gt;  The i386 processor operates at 2593 MHz,&lt;br /&gt;        and has an i387 compatible floating point processor.&lt;br /&gt;Status of virtual processor 1 as of: 03/12/2009 12:23:25&lt;br /&gt;  on-line since 01/25/2009 05:50:59.&lt;br /&gt;  The i386 processor operates at 2593 MHz,&lt;br /&gt;        and has an i387 compatible floating point processor.&lt;br /&gt;Status of virtual processor 2 as of: 03/12/2009 12:23:25&lt;br /&gt;  on-line since 01/25/2009 05:51:01.&lt;br /&gt;  The i386 processor operates at 2593 MHz,&lt;br /&gt;        and has an i387 compatible floating point processor.&lt;br /&gt;Status of virtual processor 3 as of: 03/12/2009 12:23:25&lt;br /&gt;  on-line since 01/25/2009 05:51:03.&lt;br /&gt;  The i386 processor operates at 2593 MHz,&lt;br /&gt;        and has an i387 compatible floating point processor.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Referances:&lt;br /&gt;&lt;a href="http://www.solarisinternals.com/wiki/index.php/Solaris_Internals_and_Performance_FAQ"&gt;http://www.solarisinternals.com&lt;/a&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/1730458209182769184-5305225238841117791?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/5305225238841117791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2008/12/only-for-solaris-users.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5305225238841117791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/5305225238841117791'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2008/12/only-for-solaris-users.html' title='Only for Solaris Users'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-3821391136132112167</id><published>2008-07-14T03:43:00.000-07:00</published><updated>2008-07-14T03:44:09.159-07:00</updated><title type='text'></title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-3821391136132112167?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/3821391136132112167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2008/07/blog-post.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3821391136132112167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/3821391136132112167'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2008/07/blog-post.html' title=''/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1730458209182769184.post-6088363524746733325</id><published>2008-07-13T21:23:00.000-07:00</published><updated>2008-07-13T21:24:29.580-07:00</updated><title type='text'>Why Java Will Always Be Slower than C++</title><content type='html'>&lt;h1&gt;Why Java Will Always Be Slower than C++&lt;/h1&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&amp;quot;Java is high performance. By high performance we mean   adequate. By adequate we mean slow.&amp;quot; &lt;/em&gt;- &lt;a href="http://www.mrbunny.com/"&gt; Mr. Bunny&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Anybody that has ever used a non-trivial Java program or has programmed in   Java knows that Java is slower than native programs written in C++. This is a   fact of life, something that we accept when we use Java.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;However, many folks would like to convince us that this is just a temporary   condition. Java is not slow by design, they say. Instead, it is slow because   today's JIT implementations are relatively young and don't do all the   optimizations they could.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is incorrect. No matter how good the JITs get, Java will &lt;em&gt;always&lt;/em&gt; be slower than C++.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;The Idea&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;People who claim that Java can be as fast as C++ or even faster often base   their opinion on the idea that more disciplined languages give the compiler more   room for optimization. So, unless you are going to hand-optimize the whole   program, the compiler will do a better job overall.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is true. Fortran still kicks C++'s ass in numeric computing because it   is more disciplined. With no fear of pointer aliasing the compiler can optimize   better. The only way that C++ can rival the speed of Fortran is with a cleverly   designed active library like &lt;a href="http://oonumerics.org/blitz/"&gt;Blitz++&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;However, in order to achieve overall results like that, the language must be   designed to give the compiler &lt;em&gt;room for optimization.&lt;/em&gt; Unfortunately, Java   was not designed that way. So no matter how smart the compilers get, Java will   never approach the speed of C++.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;The Benchmarks&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Perversely, the only area in which Java can be as fast as C++ is a typical   benchmark. If you need to calculate Nth Fibonacci number or run Linpack, there   is no reason why Java cannot be as fast as C++. As long as all the computation   stays in one class and uses only primitive data types like int and double, the   Java compiler is on equal footing with the C++ compiler.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;The Real World&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;The moment you start using objects in your program, Java looses the potential   for optimization. This section lists some of the reasons why.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;1. All Objects are Allocated on the Heap&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Java only allocates primitive data types like int and double and object   references on the stack. All objects are allocated on the heap.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For large objects which usually have identity semantics, this is not a   handicap. C++ programmers will also allocate these objects on the heap. However,   for small objects with value semantics, this is a major performance killer.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;What small objects? For me these are iterators. I use a lot of them in my   designs. Someone else may use complex numbers. A 3D programmer may use a vector   or a point class. People dealing with time series data will use a time class.   Anybody using these will definitely hate trading a zero-time stack allocation   for a constant-time heap allocation. Put that in a loop and that becomes O (n)   vs. zero. Add another loop and you get O (n^2) vs. again, zero.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;2. Lots of Casts&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;With the advent of templates, good C++ programmers have been able to avoid   casts almost completely in high-level programs. Unfortunately, Java doesn't have   templates, so Java code is typically full of casts.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;What does that mean for performance? Well, all casts in Java are dynamic   casts, which are expensive. How expensive? Consider how you would implement a   dynamic cast:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The fastest thing you could do is assign a number to each class and then have   a matrix that tells if any two classes are related, and if they are, what is the   offset that needs to be added to the pointer in order to make the cast. In that   case, the pseudo-code for the cast would look something like this:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt; DestinationClass makeCast (Object o, Class destinationClass) {&lt;br /&gt;&lt;br /&gt;  Class sourceClass = o.getClass (); // JIT compile-time&lt;br /&gt;  int sourceClassId = sourceClass.getId (); // JIT compile-time        &lt;br /&gt;    int destinationId = destinationClass.getId ();&lt;br /&gt;     int offset = ourTable [sourceClassId][destinationClassId];  &lt;br /&gt;      &lt;br /&gt;    if (offset != ILLEGAL_OFFSET_VALUE) {          &lt;br /&gt;     return &amp;lt;object o adjusted for offset&amp;gt;;      &lt;br /&gt;    }else {&lt;br /&gt;         throw new IllegalCastException ();      &lt;br /&gt;    }&lt;br /&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Quite a lot of code, this little cast! And this here is a rosy picture -   using a matrix to represent class relationships takes up a lot of memory and no   sane compiler out there would do that. Instead, they will either use a map or   walk the inheritance hierarchy - both of which will slow things down even   further.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;3. Increased Memory Use&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Java programs use about double the memory of comparable C++ programs to store   the data. There are three reasons for this:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt;Programs that utilize automatic garbage collection typically use about 50%     more memory that programs that do manual memory management.&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Many of the objects that would be allocated on stack in C++ will be     allocated on the heap in Java.&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Java objects will be larger, due to all objects having a virtual table     plus support for synchronization primitives.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;A larger memory footprint increases the probability that parts of the program   will be swapped out to the disk. And swap file usage kills the speed like   nothing else.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;4. Lack of Control over Details&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Java was intentionally designed to be a simple language. Many of the features   available in C++ that give the programmer control over details were   intentionally stripped away.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For example, in C++ one can implement schemes that improve the locality of   reference. Or allocate and free many objects at once. Or play pointer tricks to   make member access faster. Etc.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;None of these schemes are available in Java. &lt;/p&gt;&lt;br /&gt;&lt;h3&gt;5. No High-Level Optimizations&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Programmers deal with high-level concepts. Unlike them, compilers deal   exclusively with low-level ones. To a programmer, a class named Matrix   represents a different high-level concept from a class named Vector. To a   compiler, those names are only entries in the symbol table. What it cares about   are the functions that those classes contain, and the statements inside those   functions.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now think about this: say you implement the function &lt;em&gt;exp (double x, double   y)&lt;/em&gt; that raises &lt;em&gt;x&lt;/em&gt; to the exponent &lt;em&gt;y.&lt;/em&gt; Can a compiler, just by   looking at the statements in that function, figure out that &lt;em&gt;exp (exp (x, 2),   0.5)&lt;/em&gt; can be optimized by simply replacing it with &lt;em&gt;x&lt;/em&gt;? Of course not!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;All the optimizations that a compiler can do are done at the statement level,   and they are built into the compiler. So although the programmer might know that   two functions are symmetric and cancel each other now, or that the order of some   function calls is irrelevant in some place, unless the compiler can figure it   out by looking at the statements, the optimization will not be done.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So, if a high-level optimization is to be done, there has to be a way for the   programmer to specify the high-level optimization rules for the compiler.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;No popular programming language/system does this today. At least not in the   totally open sense, like what the &lt;a href="http://www.research.microsoft.com/ip/"&gt; Microsoft's Intentional Programming&lt;/a&gt; project promises.   However, in C++ you can do &lt;a href="http://www.extreme.indiana.edu/%7Etveldhui/papers/Template-Metaprograms/meta-art.html"&gt; template metaprogramming&lt;/a&gt; to implement optimizations that deal with   high-level objects. Temporary elimination, partial evaluation, symmetric   function call removal and other optimizations can be implemented using templates.   Of course, not all high-level optimizations can be done this way. And implementing some of these things can be cumbersome. But   a lot can be done, and people have implemented some &lt;a href="http://oonumerics.org/blitz/"&gt;snazzy libraries&lt;/a&gt; using these   techniques.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Unfortunately, Java doesn't have any metaprogramming facilities, and thus   high-level optimizations are not possible in Java. &lt;/p&gt;&lt;br /&gt;&lt;h2&gt;So...&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Java, with the current language features, will never be as fast as C++. This   pretty much means that it's not a sensible choice for high-performance software   and the highly competitive COTS arena. But its small learning curve, its   forgiveness, and its large standard library make it a good&amp;nbsp; choice for some   small and medium-sized in-house and custom-built software.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1730458209182769184-6088363524746733325?l=janaka077.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janaka077.blogspot.com/feeds/6088363524746733325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://janaka077.blogspot.com/2008/07/why-java-will-always-be-slower-than-c_13.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6088363524746733325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1730458209182769184/posts/default/6088363524746733325'/><link rel='alternate' type='text/html' href='http://janaka077.blogspot.com/2008/07/why-java-will-always-be-slower-than-c_13.html' title='Why Java Will Always Be Slower than C++'/><author><name>janaka Sooriyaarachchi</name><uri>http://www.blogger.com/profile/09703535964005350293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_xNB1HlMyns8/SsL91KOsNDI/AAAAAAAAAKs/exAYSNyuBT8/S220/Y5tAdORtV6UuNbw-TGJMAXz4jPqd3oYKAwG__bN-KwzueyqqLEQg2ahZasl2e_K1.jpeg'/></author><thr:total>0</thr:total></entry></feed>
