

September 14th 1996


Hi, this is V0.835 of HDSPACE.EXE.


Whats New?
==========

V0.835
Width of the window can be adjusted dynamically, see the options notebook page.
The width is updated when the NB is closed.
Added text display of swapper size to main window
RMB on MAP now brings up a details display of that directory.
I would ideally like to have this container sorted by size, but cannot get that
to work. In addition, it should get the focus too.
Still working on both.



V0.832
Cleaned up the notebook.
Added an alarm function.
The notebook pages can now be made larger.
Width of the sliders can be set, at the moment the window does
not resize automatically. After the next pgm start, the new
size is used. Automagical resize will be implemented soon.
Diskette drive "B:" is only shown if it is really physically
present.



V0.824
This version now has a "MAP" function, and gives information
about how much space you could save by converting a FAT drive
to HPFS.

V0.825
This one now picks up new drives (lan for example) automatically
as they are added. It will also remove them again as they
disappear. This feature works together with the refresh function.
It looks for new drives as part of a refresh cycle.
Activate/Deactivate via the "AutoDetect" check box on the "Options"
Notebook page. The other two checkboxes don't do anything yet.

V0.827
The visual "Feedback" for a refresh is now working again. Look at
the disk light on the Totals disk icon!

Now added the function for the other two checkboxes.

1. Autohide.
   If selected, then any drive that becomes "NOT READY" will
   be automatically hidden. It will be reshown as soon as
   it is ready again.

2. Hide Duplicates.
   In some LAN environments more than one local drive letter
   can point to the same physical disk on a server. In that case
   you are seeing a lot of redundant information. Now as the
   drive letters are valid, HDSpace finds all the drives and
   they are shown. HDSpace tries to discover which drive letters
   point to the same physical partition by comparing the volume
   serial numbers. Lets take the case where E:, V:, X: and Z:
   all point to one drive on the server. HDSPACE will discover
   this and on the logical page of the notebook for drive E:,
   the letters V:, X: and Z: will also be shown. You can also
   see the same information if you look at one of the 3 other
   drives. If "Hide duplicates" is selected, then drives
   V:, X: and Z: are hidden from view. The first one is always
   shown, the rest are hidden.


Both these functions (and autodetect) operate with the refresh
timer. Changes are only made to the display at every refresh
cycle. So if you have no refresh set, you won't see any changes.


V0.830 Cleaned up a lot of the notebook processing.
       Added swapper size display to the minimized window
       Supports >1 physical disk



--------------------------------------------------------------
General Stuff:

I'll write a HELP sometime later. In the meantime
a double click with the left mouse button on the window
where the drives are shown will hide the PM Controls,
same again to get them back. You must click on the background
though as I'm not sure if all situations of clicking on the
sliders or text will get processed (still in Beta).

Right Mouse Button on one of the drives Icons to get a Menu of
things you can do or see for a Drive.

Total disk space shows the totals space on all local fixed disks
in the system.

Swapper display is shown as part of the used disk space, swapper
size is shown in red. I don't display the size as a number,
but this way you see how much of your disk space swapper is using.
To see more details about swapper, the Details Notebook for the
swapper drive now has a "Swapper" page, there you can see the exact
size of swapper.

All internal settings are saved to HDSPACE.INI file when HDSPACE
is stopped. At startup HDSPACE tries to read that file,
if it can't then defaults are used.
If you break HDSPACE somehow, then delete HDSPACE.INI and restart it.
This way default settings are used.

When selecting a VIEW of a drive, HDSPACE minimizes itself (so its
out of the way), you can get it back from the tasklist. It was possible
to get the VIEW ontop in OS/2 V2.1 but since Warp I can't get that to
work any more.

HDSpace now writes its information to a file HDSPACE.LOG.
If you select "Dump Data", then all the internal data about
the disks is written to the log at that time.

Due to popular (?) demand I removed the "Removables" and "Redirected"
menu points and I now treat all drives equally. You can hide drives
individually, RMB on the Icons to get the Drive Menu, that now has
a "Hide" item. To get a drive back, select "Show Drives", it gives
you a list of hidden drives, select the ones you want to see again.
The window is updated when you dismiss this menu.

The refresh function now refreshes the size for all drives that are
visible.


"MAP" function.
===============

This tries to show you what sub-directories are using the space on
your disk. This is the first version with a simple reporting function.
The information provided will be enhanced as I go along.

On opening the "MAP" window (which is in the DETAILS dialog,
RMB on a drive Icon to get this Dialog) a scan of the selected
drive is started, this gathers information about the structure
and files on the drive. You can re-run this at any time by selecting
the "SCAN" button on the dialog. Once done a "MAP" of the space being
used is created. If you close the dialog or select a different page,
the information is not lost, it is thrown away when HDSpace is closed.
Pressing the right-hand mouse botton (RMB) on a part of the map will
cause the directory name and size to be displayed on the dialog (this
is what will be enhanced). At the moment the display only goes down 3
levels of the directory structure (I'll make such things customizable
later). Directories that use little (percentage wise) or no space are
not displayed.

How to read the map!
Imagine this directory structure on a diskette:

  A:\                     1,000,000 bytes used on the diskette
   ROOT                  100,000 bytes
   CBOOK                 220,000 bytes
   IBMCPP                360,000 bytes
         BIN             260,000 bytes
         DLL             160,000 bytes

It'll look like this (without the text):

    *---*-----*--------------------------------------*
    ! R !  C  !      IBMCPP                          !
    ! O !  B  *------------*-------*                 !
    ! O !  O  !            !       !                 !
    ! T !  O  !   BIN      ! DLL   !                 !
    !   !  K  !            !       !                 !
    !   !     !            !       !                 !
    !   !     !            !       !                 !
    !   !     !            !       !                 !
    !   !     !            !       !                 !
    *---*-----*------------*-------*-----------------*
        10%   22%          48%     64%               100%


ROOT is shown as using space as there are files directly in the root.
CBOOK also uses space. Then IBMCPP uses a total of 78% of the USED!!!!!
space on the drive. Of this about 36% are files in the directory \IBMCCP,
26% used by files in \BIN and 16% in \DLL. The space used "LEFT to RIGHT"
depicts how much space the directory uses. To "visualize" the directory
structure read from top to bottom, it should be clear ;-).

If you click on IBMCPP you will be shown the value of 780,000 bytes, thats
because the files in IBMCPP and the directories under it use that amount
of space in total.

This is the first version, as I said it will be enhanced and made more
customizable as time goes on. At the moment I use 16 colours. You can
customize how many dirctory levels the DISPLAY will show, its set by the
spin button on the "Options" page of the notebook. Note the calculation is
always correct, that means I always use the actual sizes, its just that you
can customize what exactly is shown. In addition you may set a "Threshold",
if the size of a directory is lower than this value, then the directory is
not shown. The lowest value for this is 3 pixels wide, how much that actually
equates to in MB depends on the amount of space used on the drive.

===============================================================================

FAT -> HPFS Comparison
======================

A notebook page on FAT drives gives information about the actual
sum of all file sizes on the drive, the amount of space allocated
to store these files. Then calculates how much space could be stored
(approx.) if the user were to convert this drive to HPFS. The larger
the partition (larger the cluster size) the more space can be saved
by converting. WHY...????

For those that don't understand......, others please read over this.
As disks (or partitions) get larger, the "cluster" size increases.
For my disk a 300MB partition has a cluster size of 8192 bytes.
A 70MB prtition has a cluster size of 2048 bytes. The smallest
addressable "unit" on the disk is the cluster.
On the 300MB partition a file of 5 bytes in length uses 8192 bytes
of space. The "Scan" function of HDSpace collects the exact amount
of space that is wasted on your FAT drive, the larger the cluster
the more space is wasted. A drive formated with the HPFS file system
always has a cluster size of 512 bytes. For a comparison I assume
that each file would waste an average of half of those 512 bytes.
HPFS wastage is the number of files * 256 bytes.

Using the gathered data and the assumed wastage for HPFS I then
calculate how much space you would "stop wasting" if you were
to convert this drive to the HPFS file system.

Example:
========
My 300MB fat partition has 220MB data on it in around 4000 files.
Wastage for HPFS would be about (256 * 4000) =  1.00 MB
Wastage for FAT is                           = 19.48 MB
Calculated savings                           = 18.48 MB.

On my 70MB partition with 800 files in 36MB the savings would
only be about 700KB.

The larger the partition and the larger the number of files on it
the more you will save by converting!

===============================================================================

Known Errors:

1. Scan does not run on some redirected drives. Seems like some implementations
   do not support what I am doing. Still looking for the real problem here.





Error reports to:

BDORLING @ nando.net



Planned enhancements:

??????  Add some help screens to this release.

??????  Colour and font selection dialogs.

Suggestions ?

