[Info-vax] VSI roadmap

terry-...@glaver.org terry-groups at glaver.org
Mon Aug 28 00:02:49 EDT 2023


On Sunday, August 27, 2023 at 10:38:04 AM UTC-4, Johnny Billquist wrote:
> On 2023-08-26 20:57, terry-... at glaver.org wrote: 
> > On Friday, August 25, 2023 at 5:47:14 AM UTC-4, Johnny Billquist wrote: 
> >> On 2023-08-25 06:17, terry-... at glaver.org wrote: 
> >>> On Wednesday, August 23, 2023 at 10:47:38 AM UTC-4, David Jones wrote: 
> >>>> To support any number of Unix applications reading of files, the C runtime 
> >>>> includes fgets() to return what is logically a record. So what? 
> >>> 
> >>> That fails woefully even on some text file formats. I probably sound like I'm beating a dead horse, but go look at ckvfio.c for an idea of what is really needed to get text lines out of RMS regardless of the file format. For those who say "RMS contains all of the necessary info", go look at how True BASIC stores the source code for user-written programs (hint: RMS undefined). 
> >> Well, to be fair - RMS undefined is hardly a "text file format". :-) 
> >> That's a very weird choice for any program to use for source code. 
> > 
> > I take it you've never encountered the religious fervor of latter-day 
> > Kemeny & Kurtz 8-}
> Nope. I have not. Don't even know who they are.

  The original creators of Dartmouth BASIC. This probably explains it better than I can:
https://en.wikipedia.org/wiki/True_BASIC

> > VMS C-Kermit had to support every possible file format users would 
> > throw at it (VMS was WAY more common back then) and convert it to 
> > either canonical ASCII or fixed-block binary. Frank da Cruz and I came 
> > up with the new "Labeled" file type, which containerized arbitrary data 
> > (in the VMS case, any and every possible RMS file type) for transport 
> > with Kermit. The container could go through any system, including 
> > ones with different character sets, and come out at the far end and be 
> > reconstituted exactly. As I recall, the test was VAX -> DECsystem-20 -> 
> > IBM VM/CMS -> MS-DOS -> VAX. There was also a standalone VMS 
> > utility to reconstitute the file (for example, if it had been FTP'd back 
> > to the VMS system). 
> > 
> > There are all sorts of special cases, like Fortran carriage control, that 
> > are converted by C-Kermit. My Kermit work was complicated enough 
> > that it won me a DECUS award or two. 8-)
> Oh. I know a bunch about the different formats RMS have. Not that I 
> played *that* much with it in VMS, but a lot in RSX, where I had my ftp 
> client and server be able to deal with all of that as well. The problem 
> is that when travelling over some other systems, it becomes pretty much 
> impossible to retain a bunch of meta-information unless you store it in 
> two files, and then recreate the file back on VMS using both of them. Or 
> else write some encode/decode program that you use on the VMS side which 
> creates a file that contains all that is needed to restore the file 
> again, and then you can move that file around as you wish. (Of course, 
> you could also add the meta-information in the actual file transferred, 
> but then it looks like some different file on all other systems). Lots 
> of different choices and compromises, but none is perfect. 

Yup. I always disliked the idea of the Mac's Resource Fork. It is a concept
that hasn't been needed for years (OS X has been around for 25+ years at
this point). Yet I still encounter recent Zip archives (often containing 
executables that will only run under Microsoft Windows) with resource
fork directories.

Grossly simplifying, files coming from VMS to another operating system
fall into 3 major types:

1) Text files
2) Binary files
3) Files that have no meaning outside of VMS

C-Kermit did a pretty good job of sorting them into those categories (after
quite a bit of development - VMS was popular enough back then that I got
a lot of "You don't support my oddball file format!" emails).

Those were handled with:

1) "set file type text"
2) "set file type binary"
3) "set file type labeled"

Other file transfer utilities implemented various other solutions, with more or 
less user-transparency. I still get "STRU O VMS: command not understood."
from other FTP servers to this day.



More information about the Info-vax mailing list