Some news readers (Agent and
Free Agent come to mind) will not
join yEnc files with missing sections in a way that will allow Quick
Par to
"validate" anything beyond the first missing section. This occurs
because Agent (and others) does not appear to be able to "decode" yEnc
sections beyond the one missing, and join them up.
UUE
and Agent missing parts
Standard "missing segments" with UUE
encoding - (to create this, all
segments were first uploaded). In the example you are looking at all
of the parts to "TheMovie.mpg.001". There are ten parts - ( 01/10) to
(10/10).
Note
that the segments beyond the first (1/6) for yEnc show up in Agent as
complete binary files (green icon). Despite this they end up being
saved to the hard drive as zero byte files. The UUE segments after the
first (1/10) show as text files (white icon). When Agent is set to
automatically save downloaded files (Group / Default Properties /
Receive Files ) both the UUE and yEnc posts first segment [(1/10) and
(1/6)] of the split
is saved to the hard drive, the other segments do not. The image below
shows a directory listing with file one being about 12,000KB short, or
only containing the first segment.
Now lets create a "missing segments file with UUE. If this were "live"
parts
05/10 and 06/10 would be missing from the server, and you would first:
a| use the Message / Split Sections to
see
the incomplete segments,
b| download each available part,
c| then using the Message / Join Sections.
When the Join Sections dialogue comes up, make
sure the file segments are in order, then save them - in this case as
TheMovie.mpg.001
A quick run of Quick Par shows that the segments have joined, properly
and that Quick par can use them.
The
Agent yEnc Problem
Next
look at the yEnc file download. In both cases the blue highlighted
files were downloaded and joined just as one would do in a UUE encode:
Test A: File segments 1,2,4,5,and 6
of 6
joined and saved.
Test B: File segments 1 and 2 of 6
joined
and saved.
Both produced identical saved files, shown in this quick par shot
Only the first two segments "saved", the rest Agent did not append.
This problem appears to apply no matter the segment size or par2 fix.
It would appear that Agent has some problem decoding yEnc files. This
is a problem with the Agent newsreader, and not yEnc. When the first
segment is missing, Agent seems to unable to find any part of the file
to save. But if you do have the first segment, then there is some hope.
The Agent
yEnc "fix"
For those of you who have become accustomed to downloading segments
and then back filling them ( like the UUE missing segment fix above EXCEPT you save
them as segments within Agent and do not assemble them until all the
missing
segments arrive). This fix adds only a single tool to the process - a
reasonable trade off when you're using a metered Usenet feed (by the
gig), and the poster's use of Par2 recovery files. With Par2's ability
to "fill" segments (and assuming the poster
had the good sense to use a "Block size" that matches his Segment
size). This will not work with Par 1, which needs a recovery block the
size of the largest file, and will rewrite the entire file during
recovery. Nothing gained. Par 1's need for the complete file
replacement, a large
amount of repost bandwidth can be eliminated - not to mention the pain
of tossing an incomplete download away.
The first steps follow the steps taken in UUE: First:
a| use the Message / Split Sections to
see
the incomplete segments,
b| download each available part,
c| then using the Message / Join
Sections.....
and here comes the change.
d| save the file as above, but use the ".ntx"
extension. This will allow the yEnc32 to more quickly see the file.
NOTE all the settings in the Save Messages dialogue box below:
1. Append checked
2. Unix checked
3. Save Raw checked
4. No fields checked.
These setting should produce a directory listing on your hard drive
similar to this:
TheMovie.mpg.001.ntx now shows 11,598KB, are the value of all the
segments available for our test.
Using yEnc32
Download yEnc32 from here, and
allow
it to install. During installation I did not allow yEnc to associate
with any file type - maybe it's just me, but it seem the less I
associate in windows, the better off my system runs - but no harm
should happen if you do allow the program to do it's thing.
Once installed,
1. start yEnc32
2. Click File / Decode Files
3. Move to the directory where you
stored the ".ntx" file(s)
4. Click on the just saved file -
if you didn't name your file so that it ends in ".ntx", then change the
'Files of type' to 'All files" and find it that way.
5. In the next pop up window Select the
Folder where you want to Save the decoded files to:
6. Then click OK
NOTE: We strongly suggest that you do NOT use the "Remove encoded files
after decoding" option above. Remove the file yourself after you know
the decode has worked. You may save yourself a pain between the eyes.
The resulting screen will show the following similar warnings IF you
are working with incomplete or missing segment file(s):
But don't worry about the message if you're following the "yEnc /
Agent missing segment" line, this simply is showing that yEnc32
recognizes that you are missing some of the data. If you were decoding
a standard complete file then it would state "is complete" and the icon
would be in blue.
Add this newly created file to the directory that contains the
remaining files and your Par2 recovery set, and process them all with
Quick Par. With the assumption that all downloaded segments plus Par2
files equal the total bytes of the full file set, Quick Par will
display the happy "Ready to Recover" message in the green bar at bottom:
If you still are short, attempt to collect / download either more
intact segments or recovery blocks.
Remember - even a incomplete post of a Par2 file can yield useable
recovery blocks.
While this may seem like a great deal of work, the reality is
that often the time you spend patching and doing the recovery work is
much shorter than the time it takes to get a repost or an additional
Par2.