Subject: Re: HELP: Need reasons to use Linux / UNIX (Please Read) From: Rex Ballard Date: Fri, 5 Jul 1996 20:57:24 -0400
How the Web Was Won
Subject: Re: HELP: Need reasons to use Linux / UNIX (Please Read) From: Rex Ballard Date: Fri, 5 Jul 1996 20:57:24 -0400
In-Reply-To: <4rggcq$3gou@mule1.mindspring.com>
Message-ID: 
References: <833058917.18622.0@melech.demon.co.uk> <4qfpos$fek@news.netvoyage.net> <4qmq3s$58@news2.inlink.com> <4qnacn$hdq@blackice.winternet.com> <4qoofv$1kca@mule1.mindspring.com> <4qq9iu$2t8@blackice.winternet.com>  <4r3hjo$m2k@goanna.cs.rmit.EDU.AU> <4r46qq$3saq@mule1.mindspring.com> <4r8m0m$qt@goanna.cs.rmit.edu.au> <4r9oe0$1h0k@mule2.mindspring.com> <4ra9vv$kjd@goanna.cs.rmit.edu.au>  <4rggcq$3gou@mule1.mindspring.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII



	Rex Ballard - Director of Electronic Distribution
	Standard & Poor's/McGraw-Hill
	Opinions expressed do not necessarily reflect
	the Management of the McGraw-Hill Companies.
	http://cnj.digex.net/~rballard


On Thu, 4 Jul 1996, David LeBlanc wrote:

> Rex Ballard  wrote:
> 
> >On 2 Jul 1996, A Shelton wrote:
> 
> >Is there a port of X-Free for NT?  
> 
> Not that I'm aware of - one of my bigger gripes with NT is the lack of
> a cheap X server.
> 
> >One of the problems with GPL software
> >on NT is that you have to link Microsoft Libraries with GNU libraries.
> >The licenses are mutually exclusive.  It is technologically trivial, but
> >it is legally impossible.
> 
> I don't think this is actually a problem, else you'd have the same
> thing on SGI, HP, etc.

The problem with cross linking is that some GNU libraries don't permit
linking with "proprietary code".  Conversely, some Microsoft Libraries
have run-time distribution royalties - which you find out about when you
start making enough money to be "interesting".

> >Of course, if the legacy applications such as Word, Excel, PowerPoint, and
> >CC-Mail were supplanted with Netscape Gold, WordPerfect, Fig, Andrew,
> >and/or Caldera, this would result in less demand for the Microsoft
> >versions.
> 
> IMHO, Word Perfect stinks horribly.  If all of the copies of Word were
> to self-destruct, I think I'd learn TeX rather than use WP.  Just my
> opinion.  However, there is a reason Word stomped WP, and it isn't
> just evil MS tricks - Word is a better program.

Actually there are several good to excellent document preparation systems
out there, including Frame Maker, Asteri*, and Caldera.  Of course, ANDREW
is a contrib kit, and there are several utilities under the InterViews
toolkit set.  Also, WordPerfect for Unix is much jazzier and faster than
the MS-Windows version.

> >In addition, it would be necessary to transition people from 3.1/95/NT to
> >Linux/Unix by porting transitional applications such as Browsers, servers,
> >and tools to MS-Windows.
> 
> Oddly enough, Microsoft has announced there will be a UNIX port of IE,
> and in their efforts to get SMB used as a file sharing standard, have
> acclaimed Linux as a "leading UNIX vendor"   I find it really
> amusing, and highly ironic.  Perhaps hell is freezing over.

Ironically, in terms of number of units out in circulation (Hiding on
windows boxes) Linux probably is the leading UNIX vendor.  SAMBA has been
running on Linux for over a year now, and IE is pivital to the acceptance
of Microsoft Mail instead of SMTP/MIME applications such as NetScape,
Eudora, Pegasus, and the bundleware E-Mail that comes with most TCP/IP
packages ranging from Netcom to Chameleon and FTP Associates.

> >Use the GCC compiler to build the GNU libraries.  You would
> >also need to port X11/R6 libraries under GCC.
> 
> No you wouldn't.  X11R6.1 compiles just fine under VC++ 4.1.

Unfortunately, you end up compiling in a bit of extra "garbage" that
Microsoft doesn't want you giving away.  NFS is cheap - $5 in royalties,
but the hook into file manager MFCs is expensive.  X11/R6 is cheap, but
the hooks into GDI are expensive.  It is a copyright violation to link
them in.  You want to have the server be the only task that links into the
VDI/GDI VXDs.  Otherwise, your applications start becoming a hibrid of MS
and X11.  Very Messy if you know what I mean.  It would take the legal
department years to get it all sorted out.

> >Of course, once you've done that, you can just go ahead and port the
> >entire Linux application suite.  But then you would have to choose between
> >Linux and Linux/NT (Linux on an NT kernel).
> 
> Sounds like a win-win choice to me!  

There is a software version of SysVR4 that runs coresident with NT.  It
lets NT do what it does know how to do, and adds the standard UNIX
infrastructure.   It's nice, but it's a bit slow.

> >A more interesting proposition would be to MFC for gcc.  Then you could
> >run NT/Linux (NT on a Linux kernel).
> 
> I'd find that a lot more interesting - it would solve some current
> problems I have.  The MFC is a nicely laid out class library
> (IMHO-YMMV), and it would be cool to be able to recompile it into X
> easily.  I don't know how well Mainsoft or Bristol's products work,
> though.

Unfortunately, I don't either.  Also of note.  Caldera has decided to
licence WABI and support it for Linux.  In other words, if you were at
Windows 3.1 and were happy with it, you can have both.  Fair warning
though, you need 24-32 megs of memory and 20-80 megs of swap-space.
(WABI thrashes memory and has the same lock-in problems as NT).

> >> >Not just ANSI C - Winsock supports a large subset of what can be done
> >> >with BSD sockets.
> 
> >Actually, the FTP Associates developer's kit provides source code
> >compatibility with BSD.  Winsock doesn't deal with errno global values
> >well (Neither does any other NT VXD or DLL call - too many Win apps
> >exploit global sharing as a form of interprocess communication).
> 
> The problem with errno is that it isn't thread-safe.  It is
> process-wide, which is fine if you're using fork.  If you're spawning
> threads (which are cheap - processes are not), errno will get you in
> trouble - GetLastError() is thread-safe.

Threads are cheap - Processes are not.  This is the fundamental difference
between NT and Unix/Linux.  I've described why in other documents.  Bottom
line is that threads and DLLs or VXDs are a high-risk combination.  The
ideal situation is to only allow one thread to access a process level
resource, but then you have to create client-server interthread
communication - which ends up being lots of volitile code.  It's like
writing a little operating system for your application.

> BTW, NT does not use VxD's - that is one class of Win16 apps that
> won't run under NT.  Nothing wrong with sharing global resources
> across threads if you use critical sections, etc.

What is needed is something akin to Sysv IPCs for threads.  Otherwise you
have everyone inventing their own intrathread kernel.  The operating
system is supposed to hide all of that stuff (oops, that's UNIX thinking,
NT thinking says the kernel should do the minimum possible amount of
management - which is why the kernel never checks semaophores, and why
processes are so much slower than threads).  Of course this means that
performance is dependent on how many threads you can run before you end up
doing a process switch.

> >Oh, I forgot, NT doesn't
> >come bundled with any development tools.  That's one of the nicest
> >features of Linux.  There are *almost* too many.
> 
> That is a very nice feature of Linux - it comes with a very rich tool
> set.  However, if you want to move up, it is a big step from gcc to
> Object Center - like several thousand $$/seat, plus you have to run it
> on a proprietary UNIX, which also isn't cheap.  I can buy
> BoundsChecker for NT for $300-500, but Purify for UNIX will cost you
> an arm and a leg.  Electric Fence is a good thing, but not in the same
> league with BC or Purify.  When I consider what my time is worth, I
> find VC++ a good investment - YMMV.

VC++ is a nice C compiler.  It's certainly nicer than xgdb and the Motif
class browser.  I also like the Andrew toolkit or the InterViews toolkit.

Most of the time though, Rapid Application Development tools like TK/TCL,
PERL, and HTML/CGI can simplify the entire development effort
substantially.  PERL is good for repackageing objects and passing them on
to the appropriate methods.  TCL/TK is good for localized applications,
and HTML/CGI is great for systems that must be accessed by both
MS-Windows and Unix/X11 environments.

If you really want to get jazzed up, try the SmallTalk/X (STIX) package.
Many have said that the ideal operating system would be a cross between
SmallTalk and Unix.  It's in there.  It uses athena widgets, but you get
the source, so you could go to Olit or Motif widgets.

> >> Isn't it true to say that Winsock is a port of the Unix socket
> >> scheme? In which case microsoft is doing the write thing (using
> >> portable tech)
> 
> >Winsock is one of the many IPC infrastructures supported.  I also have
> >pipes, unix domain sockets, unix domain datagrams, message queues,
> >semephores and kernel managed shared memory (cleans up after itself when
> >the last process dies).  In fact unix cleans up after itself (something NT
> >can't do - breaks Windows Legacy applications that depend on preallocated
> >TSR/DLL managed memory between instantiations).  Unix has a few memory
> >leaks, called Zombies.  They're nasty but easy to identify and fix.
> 
> I also have all of thise things - excepting possibly domain sockets.
> NT most certainly does clean up after itself.  Otherwise I'd have to
> reboot several times a day instead of once a month or so - 

This must have been added in 3.51.  I have had incredible fun with memory
leaks gradually sucking up the entire system as processes and threads come
and go.  It gets very tricky to keep a server up when it keeps dropping
memory all over the place.

> while (not working)
> 	compile
> 	run
> 	splat
> 

No question, NT is an order of magnitude more reliable than 3.1, or even
3.5 for that matter.  Unix is an order of magnitude more reliable than NT
3.51.  It isn't that NT is that horrible, it's that UNIX has had 25 years
and 3 million users to get the bugs worked out.  Nowdays, someone finds a
bug and it becomes a CERT alert (and headline news on PRODIGY :-).

> >> although I seem to remember all the winsock people
> >> saying that MS added additional calls which means only MS stack
> >> works properly.
> 
> >Which version of Winsock are we talking about?
> 
> They did this in 1.1, but it doesn't mean only the MS stack works
> right.  What it does mean is that MS screwed up and didn't mark some
> of their extensions as MS-only, so some people used them expecting all
> stacks to have them.  A screw-up, but they fessed up.
> 
> >Notice that NT 4.0 will be coming bundled with IIS 4.0?
> 
> Not true - it will come with IE 3.0, perhaps 2.0.
> 4.0 won't be seen until late this year.

There was a press release on Microsft's home page that indicated they
would be bundling IIS (whatever version) with NT 4.0 but I can't find it
now.  Have they cancelled this plan?

> >> >There are a lot of people at Microsoft, and they have a lot of
> >> >different opinions.   
> 
> >The only opinion that seems to count is "I want world domination of the
> >international information infrastructure" (I want to rule the world) Mr.
> >Gates.  When I turn my will and my life over to God, I don't call him
> >Bill.
> 
> So how is he any different than Lou Gerstner of Scott McNealy?
> Business is business.

McNealy isn't selling for 40 time earnings with revenues of almost $6
billion in software sales.  Of course, Larry Ellison isn't even bashful
about what he wants either.  Microsoft has a fascinating financial
statement.

> >> >Just because I develop for NT doesn't mean I'm
> >> >some sort of zombie who just follows along with everything MS says and
> >> >does, and certainly not what one MS employee posting to USENET says.
> 
> >How long have you been working at Microsoft?  How long are you planning on
> >staying?
> 
> I don't work for Microsoft - I work for an ISV that produces products
> for UNIX platforms (including Linux) and NT.

Be careful.  Microsoft does read this net, and they have been known to
target less than friendly posters.

> >> >If you disagree with what Todd says, take it up with him - not with
> >> >me.
> 
> >There are so many people speaking for Microsoft these days.  And so many
> >speaking against Microsoft these days.
> 
> Lots of people making lots of noise.  It's USENET - what did you
> expect?

Usenet is just a reflection of conversations that are going on in the
streets.  There was once a time, back when Windows 3.0 came out, that
USENET was actually Microsoft Friendly.  Every poster has at least 50
friends.  Conversatons on Usenet can have an interesting effect (I see
Microsoft is down 2 3/4 tonight).

> David LeBlanc                    | We do not want computers that do more,
> dleblanc@mindspring.com          | we want computers that do less.
>                                  | Oracle Chairman Larry Ellison

Still looking for an IP Support Engineer?

	Rex Ballard
	http://www.cnj.digex.net/~rballard



From rballard@cnj.digex.net Fri Jul  5 21:21:38 1996
Status: O
X-Status: 
Newsgroups: comp.os.linux.advocacy,comp.os.ms-windows.nt.advocacy