[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: XYENC/XYDEC programs



Reply to note from wbass@xxxxxxxx Tue, 6 Jan 2009 20:17:33 -0700
(MST)

Wally:

Let me try resending this. I don't think it made it to the list the
first time around.

Much food for thought here. I'd recently read, with great interest,
your overview docs, and was looking forward to the encode and decode
modules. Now they're here.

Initial impressions are really good! So far, I can't make the programs
go wrong. Encoded XPL, no matter how "knotty", decodes perfectly every
time. What's more, repeated encodings of the same material, followed
by repeated decodings, always lead back to a perfect original. I've
tried this down to three or four levels of encoding, and it works!
Fast, too. Clearly you've put a great deal of thought and care into
these programs.

I'll have to study your encoding scheme more closely, and explore
the differences between the various program flavors (XYENC, XYENCL,
XYENCH, and XYENCLH). In the meantime, I've written a U2 frame (Xy4)
to encode and decode DeFined blocks using your utils. Locate all of
the COM files in Editor's directory. To encode or decode, DeFine a
block, and issue:
XYENC[L|H|LH]
 or
XYDEC[L|H|LH]

Here it is, encoded with XYENC (with whitespace added by hand):

'01-07-2009 22:53:26
{{5xyenc*,xydec*}}_Encode|Decode_a_DeFined_block_with_Wally_Bass'`s
	_XYENC|XYDEC_utilities_[CLD_1/7/09]'^
~
B
~
==1~>
	'BXes_1'Q2'DX'DZ
	~>0~>
		~~>'JM2.GetPath'Q2
		~+"\"+~+"."~>
		'BXsad/nv_~in'Q2'BXwait'Q2'DE'YD
		'BXernv_~out'Q2
		'BXdos/nv/x/z_/c_~com_~in_~out'Q2
		~~'BXexist_~out'Q2
		~)~>
			~
			~
		'BXp'Q2~~~>
		'BXme_~out'Q2'BXwait'Q2:~M
		'BXernv_~in'Q2'BXwait'Q2
		'BXernv_~out'Q2'BXwait'Q2
		~~>'JM2.ReJuMP'Q2'DO'FF~
		~
	'YD~~
	~
~
~B'^
'^
~
Z

One change to XYENC I urge you to consider is to have it format its
output into lines no longer than 60 or 65 characters. As it is now, if
you paste XYENC output, as is, into the body of an email message, the
mail program may insert CrLf's at arbitrary points in long lines. This
foils decoding if any of the CrLf's fall within multicharacter
encodings. I experienced this today, when I emailed a XYENCoded
program to myself. In an earlier version of this post, I didn't bother
to insert line breaks in the XYENCoding, which had very long lines.
That may be why it never made it through to the list.

--
Carl Distefano
cld@xxxxxxxx