Search this site:

2007-11-29

MSN Messenger Service Status


If you cannot login to your MSN Messenger and you suspect some of their servers are down, you may check their statuses at the following website:
.NET Messenger Service

Soft Links, Hard links and Directory Junctions in NTFS


When Windows Vista is first launched, I was impressed by the introduction of the long-waited symbolic links feature. As far as I knew, there were only hard links in NTFS. Soft links (Symbolic links) are often simulated by using shortcuts (.lnk files), but however you cannot cd into them or make them part of a path (e.g. C:\MyHome.lnk\Desktop) like what you can do on soft links. This is inconvenient especially for those command line lovers.

However, recently I found that I have missed something useful, the directory junctions (aka Reparse points) in NTFS since Windows 2000. Directory Junctions are just like soft links, but it can only be applied on directories (as you may know from its name), which is useful enough in most cases. Sadly enough, not many people heard about directory junctions (hard links either) because Microsoft provided no built-in tools to handle them.

So here is a (incomplete) list of useful tools on managing directory junctions and hard links:

  • Junction by Sysinternals (acquired by MS) supports querying, creating and deleting directory junctions
  • Linkd.exe, Delrp.exe and MountVol.exe from Microsoft Windows 2000 Resource Kit can also handle directory junctions, for details please read here
  • Fsutil from Microsoft (starting from Windows XP) supports creating hard links, querying and deleting directory junctions (reparse points)
  • ln from CoreUtils package of GnuWin32 project can create hard links on Windows
  • NTFS Link Shell Extension byHermann Schinagl integrates with the Windows Explorer to let you manage hard links and junctions through GUI
  • hlscan.exe also from Microsoft Windows 2000 Resource Kit allows you to find all hard links in the NTFS volume.
  • Mklink from Microsoft (starting from Windows Vista) allow managing soft links, hard links and directory junctions
Feel free to contact me if you want to extend this list :)

If you would like to manage junctions using the low level Windows API, you may find this page useful.

BTW, I noticed some interesting behavior of directory junctions. Try the following if you are interested:
  1. mkdir A to create a folder named "A"
  2. mkdir A\C to create a sub-folder named "C" in A
  3. junction B A to create a directory junction named "B" referencing A
  4. rmdir /s A to remove A and its subordinates
  5. junction -d B or rmdir B to remove B
You will find that B is gone but A appears again with empty content. Seems that deleting junctions pointing to non-existed folder will re-create that folder. But if you use Fsutil in step 5 instead: fsutil reparsepoint delete b, now B is NOT gone but A does not appear again either. Try again without deleting the original folder A, you will know that Fsutil only unlink the reparse point from its references without deleting the reparse point itself. Interesting.

2007-11-05

File Extensions Monitored by System Restore in Windows


Here a list of file extensions monitored by system restore in Microsoft Windows:
http://msdn2.microsoft.com/en-us/library/aa378870.aspx

Maybe useful sometimes. For what? Who knows, just my feeling.

2007-11-04

Embeded Database Engine for Java


I am trying to write a simple database application to manage my daily expenditure. To maximize the portability across different platforms, I planned to use Java to develop and would need a lightweight embed database engine.

Spending some time researching on the web, I may choose one of the followings to be the database back end:

  1. HSQLDB - the database engine used in OpenOffice.org 2.0.
  2. H2 Database Engine - another fast and reliable database engine, less well known but seems to have more features.

Another option is Apache Derby, but various reviews and benchmark tests on the web pointed out its relatively low performance to the other options. It would probably be my last choice.

Disclaimer

ALL CONTENTS AND INFORMATION IN THIS WEB SITE ARE PROVIDED "AS IT" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THE ACCURACY AND AVAILABILITY OF THE CONTENTS, INFORMATION AND THE WEB SITE ITSELF ARE NOT GUARANTEED. THE AUTHOR TAKES NO RESPONSIBILITIES ON ANY COSTS OR DAMAGES (DIRECT OR INDIRECT) ARISING OUT OF OR IN CONNECTION WITH THE ACCESS, USAGE OR INABILITY OF USAGE OF THIS WEB SITE.