On Sep 15, 2017, at 1:32 AM, tuhs-request(a)minnie.tuhs.org wrote:
>
> From: "Steve Johnson" <scj(a)yaccman.com>
> To: "Dan Cross" <crossd(a)gmail.com>, "Bakul Shah" <bakul(a)bitblocks.com>
> Cc: "TUHS main list" <tuhs(a)minnie.tuhs.org>
> Subject: Re: [TUHS] really Pottering vs UNIX
> Message-ID:
> <d92047c5a36c6e72bd694322acb4ff33e3835f9f(a)webmail.yaccman.com>
> Content-Type: text/plain; charset="utf-8"
>
>
>
> More to do with a sense for quality. Often developed through
> experience
> (but not just that). I think what we need is a guild system for
> programmers/engineers. Being an apprentice of a master craftsman is
> essential for learning this "good taste" as you call it.
>
> Back when I was writing FORTRAN, I was
> working for a guy with very high standards who read my code and got me
> to comment or, more usually, rewrite all the obscure things I did.
> He made the point that a good program never dies, and many people
> will read it and modify it and try to understand it, and it's almost a
> professional duty to make sure that you make this as easy as possible
> for them.
>
When I taught at UCSD I always made it a point to inform the students
that the person who will be maintaining their programs in the future will
all be reformed axe murderers. These nice folks learned C (at the time)
on MS-DOS 3.1 and weren’t as homicidal as they used to be. They would
however be given your home address and phone number in case they
had questions about your code.
It was always good for a laugh and I went on to explain how code outlives
the author and so you should take care to make it easy for someone else
to work on your code.
The other thing I did was to have students give their programs half
way through the project to a randomly chosen (by me) other student.
They were not allowed to assist the recipient and grades were based
on how well the final program met the requirements given at the beginning
of the project. Code quality went way up on the second project compared
to the first.
David
I had almost wiped any memory of DG/UX from my memory. Now I’m
quite sure I must resume therapy for it.
I wrote device drivers for that . . . thing to drive graphics cards for
Megatek and its custom version of X11 that buried about 1/2 of the
server in the hardware.
David
> On Sep 17, 2017, at 12:01 PM, tuhs-request(a)minnie.tuhs.org wrote:
>
> From: Chet Ramey <chet.ramey(a)case.edu>
> To: arnold(a)skeeve.com, wkt(a)tuhs.org, tuhs(a)tuhs.org
> Subject: Re: [TUHS] And now ... Weirdnix?
> Message-ID: <58b4bb3e-1b94-0e3d-312d-9151e8a057a6(a)case.edu>
> Content-Type: text/plain; charset=utf-8
>
> On 9/17/17 3:28 AM, arnold(a)skeeve.com wrote:
>
>> Whatever Data General called their Unix layer on top of their native
>> OS for the Eclipse or whatever it was (32 bit system).
>
> I think they called it DG/UX -- just like they called their wretched
> System V port.
arnold(a)skeeve.com:
> This not true of ALL the GNU project maintainers. Don't tar everyone
> with RMS's brush.
John Steinhart:
What are we supposed to to then? cpio?
===
I guess we're supposed to tp his house.
Norman Wilson
Toronto ON
On Fri, Sep 15, 2017 at 11:21 AM, Noel Chiappa <jnc(a)mercury.lcs.mit.edu>
wrote:
>
>
> Why not just write a Unix-native one? They aren't that much work - I
> created a
>
> uassembler overnight (literally!) for the QSIC project Dave Bridgham and I
>
> have been working on.
Agreed Terry Hayes, tjt and I hacked an assembler and loader for Masscomp
together years ago pretty fast. We actually, made all those tools look a
lot like the DEC ones because a lot of same HW people were writing the
uCode for the Masscomp FP/APs as had written the much of the 11 and Vax
code.
[Fun story, that a few other tools that had been written for UNIX that
patriots older RSX/VMS support tools were quietly traded to DEC WRL for
some HW libraries. We both were using the same brand CAD system and our
HW guys wanted some design rule stuff WRL had done for Jupiter, and they
wanted UNIX based tools to run on Ultrix].
As for Tektronix earlier, we did not know much about the WSC unit and
basically the CSAV/CRET stuff was supposed to be a one shot thing. We
just wanted to use the tool that came with it; cause we did not think we
were going to do much with it. In hind sight and knowing what I would
learn 3-5 years later, writing our own would have made more sense; but I'm
not sure it was very well documented.
Clem
> From: Dave Horsfall
> Did anyone actually use the WCS?
Well, the uassembler was a product for a while, so they must have..
> I had visions of implementing CSAV and CRET on our -60, but never did
> get around to it.
I recently had the idea of programming them into an M792 ROM card (100nsec
access time); user programs couldn't have used it without burning a segment
(to map in the appropriate part of the I/O space), but it might have sped up
the kernel some (and it would have been trivial to add, once the card was
programmed - with a soldering iron - BTDT, BITD :-).
Haven't gotten to it yet - still looking for an M792 (I don't want to trash
any of my pre-programmed M792-xx's :-).
> From: Clem Cole <clemc(a)ccc.com>
> A big issue, again IIRC, was the microcode compiler/tools for the WSC
> ran on RSX so it meant UNIX was not running, which was not popular.
Why not just write a Unix-native one? They aren't that much work - I created a
uassembler overnight (literally!) for the QSIC project Dave Bridgham and I
have been working on.
It's been improved a lot since the first version (e.g. the entire uengine
description is now read in from a config file, instead of being compiled in),
but that first version did work fine...
Or was the output format not documented?
Noel
I been watching and thinking a bit about this exchange particularly, since
I had a paper accepted in "Unix in Europe: between innovation, diffusion
and heritage" Symposium which touches on this topic. I think it is
really gets to the core of the problem that UNIX was caught with and I
certainly did not understand at the time.
The issue here is were are all technologist and as such, we think in terms
of the technology and often forget that its the economics that is the long
pole in the tent. *Simply, computers are purchased as a tool to help to
solve problems for people*. And the question remains who controls the
money being spend.
*UNIX was written originally by a group of people for themselves.* The
problem that they were solving, *was how to build better programs and
systems for those programs*. Vendors, particularly hardware centric
vendors, really only care that you buy their (HW) product which is where
they make their money. As it turns out applications software vendors,
don't care about operating systems - as we used to say Larry Ellison never
cared for VMS, UNIX, Solaris, or MVS, he cared how many copies of Oracle's
DB he sold.
So UNIX comes on the scene and strange thing happens. First AT&T is
required by 1956 consent decree to make the IP available, they have
processes and procedures to do so, so they do. So in the 70s certainly,
when the HW delivery platform for UNIX is a DEC, the people that want it
are the same type of people that it was originally written -- programmers.
UNIX is a hit.... by the 80s and 90s, now we have two different group of
peoples working with UNIX. As Steve and Larry point out, those same type
of developers that originally had used UNIX in the first place [which was
cool... I'm one of them too]. The problem was the economics started
getting driven by a different group, the people that did not care - it was
purely a means to get a job done (we the programmers lost control of the
tiger in return for a lot of money to start to develop the systems).
As Larry pointed, most of the care takers of the second class of UNIX
customer, did not give a hoot about the programmers or many of the 'norms'
from the previous world. Sun, Masscomp and eventually DEC did make SunOS,
RTU, and Ultrix sources available to university customers (IBM may have
also I'm not sure), but the hoops to get it could be painful; because they
did not really understand that customer base as Steve pointed out (which
turns out to have been an undoing).
But that was the issue. Sun was able too see that trying to help the
programmer was a good thing, but in the end, they could not sustain it
either. In the end, they got sucked in the same economics of cutting at
deal with AT&T to create Solaris SVR4 etc. Opposed Sun Forever, might
have made it if they had actually make OSF 'Open Source' but they were too
caught in fighting with each other. Imagine if the Mach based OSF1/386
has been released, which was running before Linux with a window manager and
you had IBM, DEC, HP, et al working to make it 'FOSS' - how different the
world might have been.
But that would have gotten back to my point... they made their money
selling an application delivery vehicle. They had liked to the control it,
because it was easy to keep the customer if they did, but in the end, they
really did not care.
Now they have seeded the field to Linux and just left the OS to the SW
developers and fallen back to what they really care about. A place to run
applications.
Clem
> I really kind of liked that toolkit, it was all key/value like so:
>
> panel = xv_create(
> frame, PANEL,
> XV_WIDTH, WIDTH,
> XV_HEIGHT, 30,
> PANEL_LAYOUT, PANEL_HORIZONTAL,
> XV_SHOW, FALSE,
> NULL);
>
> So the order of the args didn't really matter, I think the first one
> maybe did because that was the parent but not sure, the rest could
> be any order you wanted. Pretty simple.
The first two were fixed; the prototype was
Xv_object xv_create (Xv_opaque owner, Xv_pkg *pkg, ...);
The keywords (XV_WIDTH etc) contained a bitfield encoding the type and
cardinality of the value argument(s) so that the argument list could
be traversed without knowing every package's keywords.
Using NULL as the terminating argument looks unportable.
-- Richard
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
> Check out: ybc: a compiler for B <https://github.com/Leushenko/ybc>
>From a historical standpoint, a plain B compiler lacks a very important
attribute of B in Unix. Yes, B presaged some C syntax. But its shining
property was that it produced threaded code, for which both compact
and expanded runtime support was available. The latter had software
paging. Thus B transcended the limited physical memory of the early
PDP-11s.
If you can't compile something, you can't run it. A prime example was B
itself. Without software paging it would not have been able to recompile
itself, and Unix would not have been self-supporting.
Doug
> The rest of your story is great, just one small correction. SunView started
> as something Sun specific but it pretty quickly became a library on top of
> X11. I'm not sure if it ever worked on X10, I think it did but I'm not sure.
As I recall it, SunTools (the original Sun window system) was renamed
SunView, and the API was ported to X11 under the name XView.
> Source: I've hacked up GUI interfaces for the SCM I did at Sun in Sunview.
> This would have been around 1990, is that still X10 or X11?
X11 came out in 1987. I The first version I remember using is X11R3,
which came out in 1988.
See https://www.x.org/wiki/X11R1 (and .../X11R2 etc)
-- Richard
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
Here is a BibTeX entry for a book on the NeWS system:
@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}
@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg,
Germany~/ London, UK~/ etc."}
@Book{Gosling:1989:NBI,
author = "James Gosling and David S. H. Rosenthal and Michelle
Arden",
title = "The {NeWS} Book: an introduction to the {Network\slash
extensible Window System}",
publisher = pub-SV,
address = pub-SV:adr,
pages = "vi + 235",
year = "1989",
ISBN = "0-387-96915-2",
ISBN-13 = "978-0-387-96915-2",
LCCN = "QA76.76.W56 A731 1989",
bibdate = "Tue May 25 07:20:00 1999",
bibsource = "http://www.math.utah.edu/pub/tex/bib/unix.bib",
keywords = "NeWS (computer file); Windows (computer programs)",
}
It is the only book that I have recorded on NeWS (I have it on my
office bookshelf). If there is interest, I can post links to 10 or
so journal articles and conference proceedings about NeWS from
1986 to 1990.
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------