home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / unix / bsd / 5303 < prev    next >
Encoding:
Text File  |  1992-09-08  |  4.8 KB  |  108 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!gatech!news.byu.edu!ux1!fcom.cc.utah.edu!park.uvcc.edu!ns.novell.com!gateway.novell.com!thisbe.Eng.Sandy.Novell.COM!terry
  3. From: terry@thisbe.Eng.Sandy.Novell.COM (Terry Lambert)
  4. Subject: Re: AT&T Long Distance Boycott (was: BNR2SS, Mach, and The Lawsuit)
  5. Message-ID: <1992Sep8.164622.21761@gateway.novell.com>
  6. Sender: news@gateway.novell.com (NetNews)
  7. Nntp-Posting-Host: thisbe.eng.sandy.novell.com
  8. Organization: Novell NPD -- Sandy, UT
  9. References: <1992Sep07.101851.2123@kithrup.COM> <QA2J6LM@taronga.com> <1992Sep08.085437.419@kithrup.COM>
  10. Date: Tue, 8 Sep 1992 16:46:22 GMT
  11. Lines: 95
  12.  
  13. In article <1992Sep08.085437.419@kithrup.COM> sef@kithrup.COM (Sean Eric Fagan) writes:
  14. >In article <QA2J6LM@taronga.com> peter@taronga.com (Peter da Silva) writes:
  15. >>Sorry, if you have to provide your own termcap you're back where you started:
  16. >
  17. >Sorry, if you have to provide your own main() your language is useless.
  18. >
  19. >Sorry, if you have to provide your own fp-to-base-37 routines your language
  20. >is useless.
  21. >
  22. >Sorry, if you have to provide your own custom IO routines, your language is
  23. >useless.
  24. >
  25. >Etc.
  26. >
  27. >The termcap library is *SMALL*.  It's better if it's on every system, but
  28. >it's small enough that it can be provided as part of your application and
  29. >not be terribly visible.  Emacs does that, or did at one point (although
  30. >emacs is not something I like using as an example).
  31.  
  32.     What about the termcap file itself?  Lat time I checked, the one on
  33. my ELC was 133K.  The one on icarus (a SPARCServer 2) is *much* larger.
  34. This is probably a nit, since everyone knows that most Digital Supplied
  35. utilities won't work with anything but VT series terminals anyway.  Besides,
  36. VMS has it's own termcap-incompatable terminal specification language that
  37. it's editors ignore.
  38.  
  39.     One standard I think is important for most applications that are
  40. moderately screen oriented is an ISO Curses library.  VMS Curses is not ISO
  41. compliant (ie: it has a different idea of default touching of windows and
  42. stacking write-through).  Of course you could always #ifdef your code to use
  43. SMG services after you rewrite it's expectations.
  44.  
  45.     VMS doesn't support the concept of SUID/SGID necessary from most
  46. things, like score files in games.  Instead, you have to install the image
  47. with priveledges (ie: I can't make an SUID "terry" program; only an SUID
  48. SYSTEM with some priveledges).
  49.  
  50.     The total lack of a CBREAK mode disallows single character I/O,
  51. unless you are willing to call SYS$QIO() directly.  Raw mode requires a
  52. QIO with IO$_SENSEMODE/IO$_SETMODE.
  53.  
  54.     Try porting "robots" (I don't have to; I have an implementation in
  55. VAX COBOL) and see what POSIX buys you.
  56.  
  57.     Try the following:
  58.  
  59.     o    Open a file created with a text editor (this will insure
  60.         it is a variable length record file with implied carriage
  61.         return carriage control).
  62.     o    Read a line up to and including the EOL.
  63.     o    save the tell() value.
  64.     o    lseek() to the tell location.
  65.     o    Suprise!  You're back at the start of the file!  The seek
  66.         pointer is a record rather than a byte offset, and the
  67.         pointer (in nonconformance with POSIX) isn't advanced
  68.         after the EOL is faked up at the record end, like it
  69.         should be, but you are required to actually read the
  70.         firt character of the next "record".
  71.     o    For extra points (now that you realise that you have to keep
  72.         a record pointer and an offset-into-record pointer) write a
  73.         disk-based interpreter (BASIC or tch or bash, etc.).  Hint:
  74.         ungetc(getc()) before an ftell() will tie you to standard
  75.         I/O, but will advance the pointer as required).
  76.  
  77.     POSIX "compliance" is a check-off for government contracts, since
  78. the government is not allowed to say "UNIX" and make it stick any more (you
  79. should know this; you were with SCO during the bidding for the AFCAC 451 and
  80. Desktop III contracts that caused it to adopt SVR3).
  81.  
  82. >3.  As for mail, tell you what, Peter:  why don't you come up with a mail
  83. >system (reader, sender, interface, system-to-system interface, file format,
  84. >filesystem layout, etc.) that can work on all systems, and then I'll add the
  85. >code to t?rn to support that.
  86.  
  87.     MMDF (Multi-Memorandum Distribution Facility) ... OK, it stinks, but
  88. it's what you asked for.
  89.  
  90.     Look, POSIX buys you a lot of things (including the ability to deny
  91. that the MS-DOS file system is POSIX compliant when mounted read-write but
  92. is when it's mounted read only. }8-)).  It doesn't buy you a compatability
  93. platform for most applications, especially modern ones (like xterm).  Even
  94. games take a lot of work, and they're not "real" (I spent about 12 hours
  95. getting cbzone to run under VMS).
  96.  
  97.     Peter's right; POSIX is a step along the road, but it isn't a
  98. platform (*or a system*).
  99.  
  100.  
  101.                     Terry Lambert
  102.                     terry_lambert@gateway.novell.com
  103.                     terry@icarus.weber.edu
  104.  
  105. ---
  106. Disclaimer:  Any opinions in this posting are my own and not those of
  107. my present or previous employers.
  108.