<?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-1599824488490466332</id><updated>2011-12-02T09:48:46.168-05:00</updated><category term='Software'/><category term='Windows'/><category term='Firefox-Extension'/><category term='Internet'/><category term='Fun'/><category term='House'/><category term='Linux'/><category term='Programming'/><title type='text'>Tips, Tricks and Thoughts (old)</title><subtitle type='html'>We have moved to &lt;b&gt;&lt;a href="http://www.toptip.ca/"&gt;www.toptip.ca&lt;/a&gt;&lt;/b&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://old1.toptip.ca/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-7412836020356978158</id><published>2009-11-08T19:22:00.009-05:00</published><updated>2010-01-09T12:25:59.238-05:00</updated><title type='text'>Connect to the restricted port of a remote host via SSH tunnel</title><summary type='text'>There are some scenarios where you can use this technique.

A remote server allows only local connections

To connect to such a server, you usually have to copy your application to the remote host where the server is running. Then login to that host and run your application there. If you are developing or testing your application, you may think that it is very inconvenient when you are frequently</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/7412836020356978158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/11/connect-to-restricted-port-of-remote.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7412836020356978158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7412836020356978158'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/11/connect-to-restricted-port-of-remote.html' title='Connect to the restricted port of a remote host via SSH tunnel'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-1966118406742569699</id><published>2009-11-07T12:02:00.001-05:00</published><updated>2009-11-07T12:02:42.747-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Windows: free more disk space by removing backup files</title><summary type='text'>Windows XP and Windows Vista automatically backup the old system when you install new software or updates. They create restore points for the backups. So if you want, you can return to any of the previous restore points. 

If you have used the system for quite a while, you would see that your disk C: is getting full because Windows keeps all those restore points from the day you bought your </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/1966118406742569699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/11/windows-free-more-disk-space-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1966118406742569699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1966118406742569699'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/11/windows-free-more-disk-space-by.html' title='Windows: free more disk space by removing backup files'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-4151284386345970788</id><published>2009-11-06T20:43:00.003-05:00</published><updated>2009-11-08T19:25:46.270-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Javascript/Firefox: context menu popup</title><summary type='text'>The context menu of Firefox behaves differently between the Windows and Linux platforms. On Linux, the context menu pops up as soon as you press down the right button of the mouse; While on Windows, it shows when you press down and release the right button.

The Linux style behavior makes it difficult for an extension to capture and hack the mousedown event. We can do a little hack to emulate the</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/4151284386345970788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/11/javascriptfirefox-context-menu-popup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/4151284386345970788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/4151284386345970788'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/11/javascriptfirefox-context-menu-popup.html' title='Javascript/Firefox: context menu popup'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-1427499327603441916</id><published>2009-11-04T19:16:00.005-05:00</published><updated>2009-11-19T20:44:06.800-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox-Extension'/><title type='text'>Firefox Extensions: Table Of Contents</title><summary type='text'>Simple Boss Key
A lightweight extension that lets you use the F12 key to minimize the current browser window.

Take A Break
By reminding you when to take a break during surfing, it tries to help you avoid excessive web browsing and keep healthy.

Boss Key and Buttons
You can press the F12 key or both the mouse buttons simultaneously to hide all your browser windows.


Support
If you want to </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/1427499327603441916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/11/firefox-extensions-table-of-contents.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1427499327603441916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1427499327603441916'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/11/firefox-extensions-table-of-contents.html' title='Firefox Extensions: Table Of Contents'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-155744601332700983</id><published>2009-11-04T19:08:00.007-05:00</published><updated>2009-11-10T19:35:59.101-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox-Extension'/><title type='text'>Firefox Extension: Boss Key and Buttons</title><summary type='text'>This Firefox extension allows you to quickly minimize your browser windows by pressing the F12 key or both the left and right mouse buttons.


Features
- Press the F12 key to minimize your browser windows.

- Press both the mouse buttons (left and right) down to minimize your browser windows.

- Open and focus on a new tab with the URL you preset. 

- Hide the tab-bar.

- Press Shift-F12 to show </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/155744601332700983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/11/boss-key-buttons.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/155744601332700983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/155744601332700983'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/11/boss-key-buttons.html' title='Firefox Extension: Boss Key and Buttons'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5M8KR9GHm30/SvOSEd6FLkI/AAAAAAAAACk/IJldo4tz0JI/s72-c/CaptureBKB.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-2313961186867593935</id><published>2009-11-02T18:50:00.000-05:00</published><updated>2009-11-02T18:50:39.512-05:00</updated><title type='text'>Ubuntu Linux: clean cached apt archives to free up disk space</title><summary type='text'>If you are using Ubuntu or other Debian like Linux, you may notice each upgrade or update may eat up some of your disk space -- depending on your setup. That is because all the update packages you have downloaded are kept under the directory of /var/cache/apt/archives. 

From time to time, you could run command:
        sudo apt-get clean
to remove all those downloaded packages.

If you only want</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/2313961186867593935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/11/ubuntu-linux-clean-cached-apt-archives.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/2313961186867593935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/2313961186867593935'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/11/ubuntu-linux-clean-cached-apt-archives.html' title='Ubuntu Linux: clean cached apt archives to free up disk space'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-7722260211758480237</id><published>2009-11-01T14:23:00.001-05:00</published><updated>2009-11-01T14:24:11.127-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Google Docs - spreadsheet - insert chart on another sheet</title><summary type='text'>To insert a chart for your spreadsheet data, you can highlight the wanted cells and select menu Insert|Chart.... The new chart will be put somewhere on the same sheet of the data.

If you click on the chart, its menu will be shown.


By selecting its menu Chart|Move to own sheet..., you can move the chart to another sheet. The chart will have its own sheet and it will fill the whole new sheet.

</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/7722260211758480237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/11/google-docs-spreadsheet-insert-chart-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7722260211758480237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7722260211758480237'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/11/google-docs-spreadsheet-insert-chart-on.html' title='Google Docs - spreadsheet - insert chart on another sheet'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5M8KR9GHm30/Su3bEiepBGI/AAAAAAAAACM/rAWW0CuthuA/s72-c/CaptureGDocsChart1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-2434141138352890653</id><published>2009-10-29T20:38:00.002-04:00</published><updated>2009-11-06T20:47:23.809-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Javascript/Firefox: context menu popup</title><summary type='text'>Note: This solution has some side-effects. A better one is provided in my another post here. 

The context menu of Firefox behaves differently between the Windows and Linux platform. On Linux, the context menu pops up as soon as you press down the right button of the mouse; While on Windows, it shows after you press down and release the right button.

We can change the Linux style behavior by </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/2434141138352890653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/javascriptfirefox-context-menu-popup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/2434141138352890653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/2434141138352890653'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/javascriptfirefox-context-menu-popup.html' title='Javascript/Firefox: context menu popup'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-5236059103935650256</id><published>2009-10-27T20:33:00.001-04:00</published><updated>2009-10-27T20:33:36.052-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux: search pattern in files</title><summary type='text'>If you want to search a string (e.g. "TheString") or a pattern in all the files under the current directory, you know you can use:
        grep TheString *

It will not search the files under the sub-directories.

When I wanted to search all the files under each directories recursively, I don't know why but, I did this:
        find . -type f | xargs grep TheString
     or
        find . -type f </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/5236059103935650256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/linux-search-pattern-in-files.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/5236059103935650256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/5236059103935650256'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/linux-search-pattern-in-files.html' title='Linux: search pattern in files'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-7687731107330475194</id><published>2009-10-22T20:40:00.011-04:00</published><updated>2009-10-31T16:05:34.537-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox-Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Firefox Extension: Take A Break</title><summary type='text'>Addicted to the Web? Don't compromise your health! Continuously staring at the computer can cause headaches, blurred vision, neck pain, fatigue, dry eyes. Take A Break extension tries to help you avoid or reduce these problems. It reminds you when to take a break while you are surfing the Web.

Features
- A little icon on the status bar will be flashing every 15 minutes to remind you a short </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/7687731107330475194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/take-break.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7687731107330475194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7687731107330475194'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/take-break.html' title='Firefox Extension: Take A Break'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5M8KR9GHm30/SuJfDQ5AfvI/AAAAAAAAABM/wg4rL4PxwVY/s72-c/CaptureIconGreen.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-8214317883656124865</id><published>2009-10-17T17:51:00.001-04:00</published><updated>2009-10-18T09:59:40.776-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Google Docs - spreadsheet - set formula for a whole column/row</title><summary type='text'>If you want the column C to be the sum of column A and B, i.e.
   C1 = A1 + B1
   C2 = A2 + B2
   C3 = A3 + B3
   ...
you don't have to click on each cell of column C and add the formula repeatedly. Instead, you can:

1. Set formula for cell C1. And press the Enter button.


2. Select cell C1. You can see a little blue square at the bottom-right corner.


3. Move the mouse over the little blue </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/8214317883656124865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/google-docs-spreadsheet-set-formula-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/8214317883656124865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/8214317883656124865'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/google-docs-spreadsheet-set-formula-for.html' title='Google Docs - spreadsheet - set formula for a whole column/row'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5M8KR9GHm30/Sto2aOUWaPI/AAAAAAAAAAs/j5H-XIi4Cho/s72-c/spreadsheet1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-3512989480319320983</id><published>2009-10-13T20:57:00.002-04:00</published><updated>2011-04-03T12:10:01.347-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Untrusted Connection error of softmoc.com</title><summary type='text'>&lt;!--
location.href = "http://www.toptip.ca/2009/10/untrusted-connection-error-of.html";
//--&gt;

If you tried to buy stuff at https://www.softmoc.com with Firefox browser, you might encounter the error saying "This Connection is Untrusted". The Technical Details reveal that --

    www.softmoc.com uses an invalid security certificate.
    The certificate is not trusted because the issuer </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/3512989480319320983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/untrusted-connection-error-of.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/3512989480319320983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/3512989480319320983'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/untrusted-connection-error-of.html' title='Untrusted Connection error of softmoc.com'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-1391832550386865085</id><published>2009-10-10T15:20:00.002-04:00</published><updated>2009-10-10T15:25:14.917-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Capture screen shots with Windows Vista Snipping Tool</title><summary type='text'>In the old days, if you want to capture some pictures on your screen, you have to use the Print Screen button of your keyboard and save the image from the clipboard. Now, if you are using Windows Vista Home Premium edition, or other editions of Business, Ultimate or Enterprise, you can use the free Snipping Tool to capture screen shots.

The Snipping Tool can be accessed from the Start button at </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/1391832550386865085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/capture-screen-shots-with-windows-vista.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1391832550386865085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1391832550386865085'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/capture-screen-shots-with-windows-vista.html' title='Capture screen shots with Windows Vista Snipping Tool'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5M8KR9GHm30/StDdS6MYQYI/AAAAAAAAAAk/V3v1eYSie8Y/s72-c/snipping_tools.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-7917475856409635505</id><published>2009-10-09T17:42:00.009-04:00</published><updated>2009-10-18T13:59:57.353-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='House'/><title type='text'>GTA major cities MLS listing number trend (chart)</title><summary type='text'>Updated daily.

Only shows 3+ bedrooms detached houses in some cities with a price range.



Note: Data or chart should not be used for making any kind of decisions. They are collected in a random time of a day and may not be accurate.

Reference

  Toronto(below 350k)
  Brampton(below 350k)
  Vaughan
  
  Mississauga(below 500k)
  Brampton(350k-450k)
  Richmond Hill

Mississauga(500k-1m)
 </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/7917475856409635505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/gta-major-cities-mls-listing-number.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7917475856409635505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7917475856409635505'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/gta-major-cities-mls-listing-number.html' title='GTA major cities MLS listing number trend (chart)'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-7738941532101947528</id><published>2009-10-09T16:53:00.005-04:00</published><updated>2009-10-18T10:00:46.551-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='House'/><title type='text'>GTA resale home price trend (chart)</title><summary type='text'>Updated twice a month.

</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/7738941532101947528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/gta-resale-home-price-trend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7738941532101947528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7738941532101947528'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/gta-resale-home-price-trend.html' title='GTA resale home price trend (chart)'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-1768311157844954807</id><published>2009-10-05T18:01:00.011-04:00</published><updated>2009-11-19T20:49:15.627-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Learn how to create a Firefox extension in 10 minutes</title><summary type='text'>Note: This article explains the source code of  Simple Boss Key version 1.0.1, not the latest version.

Is it complicated to create a Firefox extension? No. After reading this little tutorial, you will see how easy it is. Here I am using the Firefox extension of Simple Boss Key I built as the example to show you how simple a Firefox extension could be.

The Simple Boss Key extension add a </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/1768311157844954807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/learn-how-to-create-firefox-extension.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1768311157844954807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1768311157844954807'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/learn-how-to-create-firefox-extension.html' title='Learn how to create a Firefox extension in 10 minutes'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-2240879627695372551</id><published>2009-10-02T18:11:00.017-04:00</published><updated>2010-01-18T16:28:35.948-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox-Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Firefox extension: Simple Boss Key</title><summary type='text'>addCnLink('2009/10/blog-post.html');
When people come over to your desk, maybe you do not want them to see what you are browsing. This extension helps you quickly minimize your browser to the taskbar.

When the key F12 is pressed, the browser will first bring the first tab to the front and then get minimized to the taskbar. If the first tab was opened with a serious page, its title would be shown</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/2240879627695372551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/firefox-extension-simple-boss-key.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/2240879627695372551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/2240879627695372551'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/firefox-extension-simple-boss-key.html' title='Firefox extension: Simple Boss Key'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5M8KR9GHm30/StDUDpW_sjI/AAAAAAAAAAU/KDGte8N5rRY/s72-c/sbk_addons.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-7421454311965480971</id><published>2009-10-01T21:55:00.012-04:00</published><updated>2009-10-18T10:01:18.079-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='House'/><title type='text'>GTA new home price trend (chart)</title><summary type='text'>Updated monthly.

</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/7421454311965480971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/gta-new-home-price.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7421454311965480971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7421454311965480971'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/gta-new-home-price.html' title='GTA new home price trend (chart)'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-6156757521404208611</id><published>2009-10-01T18:06:00.006-04:00</published><updated>2009-10-01T23:05:29.237-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Privacy! The information your browser sends</title><summary type='text'>You may be suprised to see how much information your browser reveals --


&lt;!--
document.write("Application Code Name: " + navigator.appCodeName);
document.write("");
document.write("Application Minor Version: " + navigator.appMinorVersion);
document.write("");
document.write("Application Name: " + navigator.appName);
document.write("");
document.write("Application Version: " + </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/6156757521404208611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/10/privacy-information-your-browser-sends.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/6156757521404208611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/6156757521404208611'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/10/privacy-information-your-browser-sends.html' title='Privacy! The information your browser sends'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-4331160555926832570</id><published>2009-09-30T20:54:00.001-04:00</published><updated>2009-09-30T21:15:52.231-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Select unread mails in gmail.com</title><summary type='text'>There were dozens of emails in my gmail inbox that I didn't bother to read. As time went by, they were immersed into the other thousands of emails. It was time to take some actions. Not that I wanted to read them this time, I just didn't want a number shown beside my inbox.

It was weird that gmail.com didn't have a button or link to select all the unread mails. Oh, wait, there was something </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/4331160555926832570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/09/select-unread-mail-in-gmailcom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/4331160555926832570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/4331160555926832570'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/09/select-unread-mail-in-gmailcom.html' title='Select unread mails in gmail.com'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-2018061935142220982</id><published>2009-09-29T21:03:00.002-04:00</published><updated>2009-09-30T21:17:55.331-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Source code conversion/formatting online tool for Blogger</title><summary type='text'>
&lt;!--
function convertToHtml()
{
    var inputText = document.getElementById("input");
    var str = inputText.value;
    str = str.replace(/&amp;/g, "&amp;");
    str = str.replace(//g, "&gt;");

    var checkWithPre = document.getElementById("withPre");
    if (checkWithPre.checked == true)
    {
        str = "\n" + str + "\n";
    }

    var outputText = document.getElementById("output");
    </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/2018061935142220982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/09/text-conversion-tool-for-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/2018061935142220982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/2018061935142220982'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/09/text-conversion-tool-for-blogger.html' title='Source code conversion/formatting online tool for Blogger'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-1257599769591816342</id><published>2009-09-28T21:59:00.002-04:00</published><updated>2009-09-29T20:50:43.791-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Show/hide text on web page</title><summary type='text'>
&lt;!--
function toggleShowHide(elementId) {
    var element = document.getElementById(elementId);
    if (element) {
        if (element.style.display == "none")
            element.style.display = "inline";
        else
            element.style.display = "none";
    }
}
//--&gt;


+ What will we discuss today? (Click me.)
The trick to include a expandable drop down text in your web page.


You want</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/1257599769591816342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/09/showhide-text-on-web-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1257599769591816342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/1257599769591816342'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/09/showhide-text-on-web-page.html' title='Show/hide text on web page'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-7722728258956827854</id><published>2009-09-27T15:25:00.000-04:00</published><updated>2009-09-28T19:31:59.636-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>MySQL Connector/J exception on timestamp</title><summary type='text'>If you are using MySQL JDBC driver in your Java program and the version is MySQL Connector/J 3.1, you might see this exception sometimes:

        Exception: Cannot convert value '0000-00-00 00:00:00' from column ... to  TIMESTAMP.

The exception is thrown from mysql.jdbc.ResultSet and is caused by the datetime field with an all zero value '0000-00-00 00:00:00'.

Sometimes, you don't want to </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/7722728258956827854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/09/mysql-connectorj-exception-on-timestamp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7722728258956827854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/7722728258956827854'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/09/mysql-connectorj-exception-on-timestamp.html' title='MySQL Connector/J exception on timestamp'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-3147195413518044087</id><published>2009-09-26T14:54:00.002-04:00</published><updated>2009-09-28T19:39:22.215-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fun'/><title type='text'>A beautiful ...</title><summary type='text'>




</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/3147195413518044087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/09/beautiful.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/3147195413518044087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/3147195413518044087'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/09/beautiful.html' title='A beautiful ...'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-5797267739178205535</id><published>2009-09-26T13:40:00.000-04:00</published><updated>2009-09-28T19:31:59.636-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Even Parity -- comparison of two algorithms</title><summary type='text'>To set a ASCII character to even parity, we first count the number of bits with the value of 1. If the number is even, the ASCII character is already of even parity. Otherwise, we set the most significant bit of the ASCII character to 1 to make it even parity. The follow code (in Java) demonstrates that:public static byte setEvenParity(byte b){    short countOne = 0;    if (0 != (b &amp; 0x01)) ++</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/5797267739178205535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/09/even-parity-comparison-of-two.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/5797267739178205535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/5797267739178205535'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/09/even-parity-comparison-of-two.html' title='Even Parity -- comparison of two algorithms'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-5622217162965216885</id><published>2009-09-25T21:34:00.000-04:00</published><updated>2009-09-28T19:31:59.636-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Print byte in hex -- comparison of two algorithms</title><summary type='text'>One byte contains 8 bits, or two nibbles. To represents a byte in hex, each nibble is given a hexadecimal digit in 0-9 and A-F. For example, character 'Z' whose binary value is "0101 1010" is presented as "5A".The most obvious way to print a byte in hex format is to first grab the most significant nibble and print it as the corresponding hexadecimal digit. And then do the same thing to the least </summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/5622217162965216885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/09/print-byte-in-hex-comparison-of-two.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/5622217162965216885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/5622217162965216885'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/09/print-byte-in-hex-comparison-of-two.html' title='Print byte in hex -- comparison of two algorithms'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1599824488490466332.post-6640958138272172555</id><published>2009-09-24T20:36:00.000-04:00</published><updated>2009-09-28T19:32:16.967-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Run GUI applications as another user in Linux</title><summary type='text'>Supposed user1 wants to run a gnome-terminal as user2. He needs to do these:1. Login as root (or ask root to help) to setup the sudoers. Run visudo and add these:user1   ALL = (user2) NOPASSWD:ALL    Note: This grants user1 to do any good or harm to user2's account. You may want to limit the commands user1 can run. 2. Create a shell script with these lines:xhost +SI:localuser:user2sudo -u user2 -</summary><link rel='replies' type='application/atom+xml' href='http://old1.toptip.ca/feeds/6640958138272172555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://old1.toptip.ca/2009/09/run-gui-applications-as-another-user-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/6640958138272172555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1599824488490466332/posts/default/6640958138272172555'/><link rel='alternate' type='text/html' href='http://old1.toptip.ca/2009/09/run-gui-applications-as-another-user-in.html' title='Run GUI applications as another user in Linux'/><author><name>Zen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
