| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | password 1/2 |
RS> The SOT and EOT allows you to know totally unambiguously that
RS> they are real origin lines etc, coz that are absolutely certain
RS> to be user text coz they are inside the SOT EOT pair. THATs the
RS> whole point of them.
I've been through this with Paul so many times I'm getting sick of
it. The *last* origin line is the real one. It is put in *after* the
user has finished typing, so it always delimits the text... except in
netmail that has nothing anyway so it doesn't need an EOT.
At the start of the message, the first line will always read
something: either "AREA:" in ordinary email, or INTL, TOPT or FMPT in
netmail. Why is the SOT required? One or all of those will do the same
thing, by being added when the message is processed, and delimiting
the text.
I don't really object to adding a SOT, because it doesn't do
anything, but the EOT actually interfers with the Origin line that
*has* to be shown in the message field. Without EOT, you can look for
the SEENBY or the * Origin to mark the end fo the message field. With
EOT, you have to do all three, and put the tear line and origin line
back in. Faced by Paul's EOTs in his packets, the first thing I do it
erase them!
Paul's idea is to protect the message field, so that C code remains
sacrosanct, but SOT/EOT won't even do that, when the origin line has
to be added later.
I agree that we need a protected message area, but only because I
look forward to the time when we transmit graphics over the BBS. In
this case, 0x01 will not be protected, and SOT and EOT (and other
kludges) will be useless. If we have to change the system, and we do,
then we should make a change that allows *anything* in the message
field, including graphics. The only way to do this is to expand the
header, and make it a fixed length, with a longer keyword than just a
null to delimit the end. The existing " * Origin" would do that well,
as long as it is used in netmail too. ^aEOT would do alright too, as
long as it is by itself, without tear lines, origin lines, SEENBYs and
PATHs.
RS> Using that theory there is no point in SOT and EOT at all and
RS> thats crap. There is some problem with it being introduced now,
RS> but its quite silly for example to suggest that it gives no
RS> benefit if it had been say part of the original design.
Ahh... that's a different question. The problem with PKT format is
that the message header does not allow room for:
Area identification
Netmail identification
Origin and destination Zone
Origin and destination Point
SEENBY
PATH
All this should go in the header, with room for expansion. It is
interesting to compare it to the 128-byte QWK fixed headers padded by
spaces. When you zip QWK, it ends up smaller than a zipped PKT because
the spaces compress to nothing. If we allowed a fixed 256-byte message
header in PKT, padded by spaces, it would give tons for future change,
and clear out the message field so that only message was in there.
RS> You are completely mangling the question of the value of that
RS> approach with what you have to do if its added later, when no
RS> one is currently using it.
It has to show a benefit, or no one will use it. If we base a new
standard around graphics, then anyone using the ^a kludges in the
massage field would be inmcompatible for graphics, but able to use
text. This is the way changes should be made... like colour TV. It
doesn't take long before everyone upgrades.
BL> If someone writes "AREA:" on the first line, or " *
Origin" on
BL> the last line, it hardly matters. The mailer will write another
BL> AREA: in front, and another * Origin behind. All we have to do,
BL> is read the first one, and the last one, and we get exactly the
BL> same result as SOT and EOT. You are wrong.
RS> Nope, an origin line in user text does indeed break some mail
RS> processors and the unambiguous delimiting of user text with SOT
RS> and EOT allows you to know very easily that its just a quoted
RS> origin line.
That's Paul's argument, but it's got a huge hole in it. If the
mailer roots the existing system, then change the mailer. You have to
change it anyway, to incorporate SOT/EOT!
BL> You're kidding! Add kludges in the message field? Wot rot!
RS> They arent in the user text, they precede and terminate it.
The *message field*, not user text. They aren't the same thing. The
message field is delimited top and bottom with nulls, and then filled
up with kludges. We need to get all the kludges out of the message
field and into the header.
RS> That approach doesnt work because it inevitably breaks when you
RS> have exhausted that fixed header. Thats precisely the problem
RS> with the current QWK format, its fixed, its not readily
RS> expandable.
QWK relies on fixed 128-byte records right through the packet. I
only want a fixed messager *header*. It would be easy enough to build
expansion into that header. My idea is to use the last "Subject" field
that precedes the message field; expand it, delimit it with ordinary
CRs to add the extra fields at the end, and then fix it with plenty of
spare room up front padded with spaces that compress well.
BL> The necessary origin line would be constructed from one of the
BL> header fields,
RS> Thats got some advantages for the fixed fields in it, the node
RS> details, but doesnt help with the rest.
The "rest" has to come from the mailer cfg file, which actually
writes the header anyway. This is the *message* header. Most of it
comes from the original mailer. Only the seenby and path lines would
vary as the message goes the rounds.
RS> AND your idea isnt readily usable in tandem with the current
RS> system anyway. Yes, its possible to design a whole new message
RS> format from scratch, but we arent looking at one of those and
RS> how to do it, we are actually looking at something which can
RS> enhance and be used with the current one.
I agree. It has to be backwards compatible, like colour TV. Old
mailers would work with the new header. All we do is lengthen the
"Subject" field. The extra stuff goes on the end, delimited by CRs.
Old mailers wouldn't even know. New mailers would write both the new
header and the old kludge, but old mailers would break high ASCII,
control codes, and graphics.
RS> Coz a whole new one from scratch has buckleys of ever getting
RS> everyone switching to it. And if you are going to make a
RS> complete step away from the current one, you first have to show
RS> that one of the true standards like X.400 isnt usable. No point
RS> in generating a whole new one if it is.
It would have to be Type-2 compatible. An entirely new standard
would be the preferred option, but these things have to happen slowly,
in stages... either that, or a completely new net.
RS> It would actually be quite interesting to do some tests and see
RS> if there really is any point in the CONTROL.DAT having area
RS> names in it.
QWK identifies the message AREA with a simple binary number that is
just two bytes, but you need to carry the conversion list in the
packet whether the whole list is used or not, or establish a unique
number for each AREA, world-wide. PKT uses "AREA:LOCUSER" which takes
up 12 bytes per message, regardless. If your average is 100 messages,
that's 1200 bytes for AREA in PKT against 200 in QWK, and a typical
control.dat is 350 bytes. But who gives a shit? We're talking about
1000 bytes in 100Kb. Processing time is about the same.
I prefer QWK because it defines netmail as just another area. PKT is
a bit shaky on netmail, and the AREA: kludge spoils the message field.
RS> There isnt all that much in it with the user text proper
RS> whether its done with fixed fields padded on the end or a
RS> delimited variable length field. The specified number of fixed
RS> 128 byte fields is just another way of specify the length of
RS> the user text so it can have anything at all in it. But you
RS> could have the user text variable length with the actual number
RS> of bytes in the user text specified instead, no need for fixed
RS> fields.
Yep. No problem with that. QWK is a bit queer with its ndx files.
Knowing the position of each message in a conference makes it easy to
sort, but the essential data is in the headers anyway. Processing the
ndx is surprisingly fast (it surpised me, anyway), and they take up
very little room. On the whole, I think I prefer QWK as being more
robust, but like PKT format it lacks room for seenby and path, and the
128-byte header is full up. Its problem is that with multiple QWKs,
you are odds-on to get the control.dats and ndx files mixed up! At
least PKT is self-contained.
RS> And you can even argue that if you are going to do a whole new
RS> message format, you really need to consider why its not better
RS> to use one of the database formats. Coz they should be stored
RS> at each end like that anyway, so whats the point in something
RS> different in the packets which are transported between them ?
RS> Not much basically.
Yes... but I think any new system ought to be able to handle
graphics. The NAPLPS stuff meant for Teletext looks good to me.
BL> That's what I mean by "reading right through." In my final
BL> program, it takes 30mS to convert a message. 15mS of that is
BL> spent converting the PKT cr's to Pi in QWK. 5mS is spent
BL> erasing SOT and EOT, or their little ^a friends.
RS> This is where you are having a brain fart. You have to drop all
RS> the other kludge lines anyway. It takes no longer to drop SOT
RS> and EOT TOO.
Har! That's quite right, but the only use for SOT and EOT is when
none of the others are there.
BL> What the point of converting the CR's to Pi, anyway? I'm
BL> tempted to leave it out, and send the QWKs with embedded cr's.
RS> Its a rather more complicated question that it looks. Some QWK
RS> readers do use them sensibly. There is a difference.
What's the reason then? I've never seen an explanation that made any
sense. It certainly gets stuffed up, if another editor adds its own
CRs and re-wraps the existing text. If the Pi-copnversion is meant to
prevent that, it doesn't work.
Regards,
Bob
___ Blue Wave/QWK v2.12
@EOT:
---
* Origin: Precision Nonsense, Sydney (3:711/934.12)SEEN-BY: 690/718 711/809 934 @PATH: 711/934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.