Forums Neueste Beiträge
 

Postroad Mailer message file name algorithm

12/05/2009 - 16:39 von Willms | Report spam
Does anybody know, how the filenames of the Postroad Mailer
(produced until about 10 years ago by Innoval) are being formed? It
may be that the same system has been used also in the "J-Street
Mailer" by Innoval, which has been later continued as Polarbar mailer
after the end of the Innoval effort.

It looks like a 8-digit Base36 number, but I could not yet make any
sense out of it.

I have 7082 messages from the few years that I used PRM, and would
like to migrate them to the current PMMail/2 version, and wonder if
any information is hidden in the filename, like in PMMail.

Another observation is that the PRM filenames are not unique among
the whole filestore, other than the ones of PMMail.


Cheers,
L.W.

-
Spitzensteuersatz von 90% für Einkommen über 10 Mio Euro/Jahr
 

Lesen sie die antworten

#1 Willms
13/05/2009 - 07:45 | Warnen spam
Am Tue, 12 May 2009 14:39:28 UTC, schrieb "Willms"
auf de.comp.os.os2.networking :

Does anybody know, how the filenames of the Postroad Mailer
(produced until about 10 years ago by Innoval) are being formed? I



In another forum I was pushed to look at the PRM online help...
where I found it. For the benefit of any other reader, here is the
explanation, hidden in the section "Program files" of the appendices
to the online help:

BTW, this explanation doesn't fit the file creation dates of many of
the POP files I have there, that explains my problems to understand
it.


*.POP
In case you ever need to know the naming convention for the *.POP
files the program creates, here it is: We start with an array of
possible filename characters, 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.
The first digit of a *.POP filename is the last digit of the current
year, according to the computer's clock. The second digit is the
number of the current month, used as an index (starting with zero)
into that array of characters. So January is 1 and December is C. The
third filename character is the day of the month, used as an index
into the array. So the 1st is 1; and the 31st is V, since V is the
32nd character of the array and we start counting with 0. The fourth
character is the hour, 0 through 23, used as the index into the array,
so the possible digits there are 0 through N. The fifth character is
the whole-number result of the minutes divided by 36 (the number of
characters in the array), so the choices are 0 (for minutes 0 through
35) and 1 (for minutes 36 through 59). The sixth character is the
remainder of the minutes divided by 36, used as the index into the
array. So minutes 0 through 35 use characters 0 through Z, and minutes
36 through 59 reuse characters 0 through N. The seventh character is
the remainder of the seconds divided by 36, used as the index into the
array, so the results are the same as for the sixth character. And
finally, the eighth character starts at 0 and if that filename already
exists, we try each of the other characters in the array, in turn,
until an available filename is found. If we get to Z without finding a
filename that isn't already in use, then the seventh digit is
incremented and we try all the array characters in the eighth digit
again, etc.

So from a *.POP file's name, you can't tell the decade in which it was
created, but you can tell the year, the month, the day, the hour, and
the minute, with absolute certainty. And from the computer's clock,
you can tell, with absolute certainty, what the first six characters
of a newly-created (or newly-copied or newly-moved) *.POP file will
be.

Unless you have files in a directory that were created ten years
apart, then the only way to run out of possible filenames for a copy
or move operation is to attempt to create more than 1,296 files in
that directory between :00 seconds and :59 seconds of the same minute.

For users upgrading from the Post Road Mailer 2.0 or earlier, the
naming convention for your already-existing *.POP files was this: The
first digit of the filename is the last digit in the year (0-9). The
second digit is the month, in hexadecimal (1-C). The third and fourth
digits are the day of the month, in hex (01-1F). The fifth and sixth
digits are the hour of the day, in hex (00-17). And the seventh and
eighth digits are the number of minutes, multiplied by four, in hex
(00-F0), but of course the program increments the number if the file
it would want to create based on the seconds already exists in that
directory.



Yours,
L.W.

-
Spitzensteuersatz von 90% für Einkommen über 10 Mio Euro/Jahr

Ähnliche fragen