The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-20 19:25 Norman Wilson
  2019-10-20 20:12 ` Sean Dwyer
  0 siblings, 1 reply; 120+ messages in thread
From: Norman Wilson @ 2019-10-20 19:25 UTC (permalink / raw)
  To: tuhs

Bakul Shah:

  Being an OS student I had read "The Unix Timesharing System" paper by
  Ritchie and Thompson and had wanted to use Unix years before I actually
  had the chance. I don't remember an "Aha!" moment but I took to it like
  a duck to water. Most everything felt just so comfortable and right.
  It was very much as I had imagined it to be.

=====

That's more or less what it was like to me.  Not so much
an aha! moment, more just a feeling of coming home.  It
took a while to understand the different way things worked
in UNIX (I had previously used TOPS-10 for several years)
but as it all sank in it felt more and more right.

C felt the same way.  It took me a while to grok the pointer
syntax (I had done a lot of MACRO-10 programming so I certainly
understood the concept, just not how it fit into the higher-
level language), but things like the three-clause condition
in for so that all control for a loop could be in one place
were just magically right.

I don't think I read the CACM paper before I touched UNIX,
but I had read both editions of Software Tools, so my brain
was perhaps pre-seeded with some of the ideas.

Norman Wilson
Toronto ON

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-22 13:36 Noel Chiappa
  2019-10-22 14:22 ` Abhinav Rajagopalan
  0 siblings, 1 reply; 120+ messages in thread
From: Noel Chiappa @ 2019-10-22 13:36 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Sean Dwyer

    > chdir seems to be a syscall in 7 (sys4.c)

It's been a system call forever, see e.g.:

  https://minnie.tuhs.org//cgi-bin/utree.pl?file=V1/man/man2/chdir.2

(And the working dir was a property of the process, not data in the shell.)

     Noel

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-21 12:34 Noel Chiappa
  0 siblings, 0 replies; 120+ messages in thread
From: Noel Chiappa @ 2019-10-21 12:34 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

{Been meaning to get to this one for a while...}

    > From: Pat Barron <patbarron@acm.org>

    > The idea of processes being able to talk to each other (without some
    > kind of pre-arrangement, like setting up a pipe between them, or using
    > temporary files) was just amazing ... On V7m, I stumbled across the
    > mpx(5) man page.

It's probably worth pointing out that before V7, stock Unix _didn't_ have a
way for two un-related processes to communicate, hence the invention of port()
by Rand. See:

  https://minnie.tuhs.org//cgi-bin/utree.pl?file=BBN-V6
  https://minnie.tuhs.org//cgi-bin/utree.pl?file=BBN-V6/doc/ipc

(Note: BBN did _not_ do the original port() stuff, they just used it.)

       Noel

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-21 12:10 Noel Chiappa
  2019-10-21 16:50 ` Angelo Papenhoff
  0 siblings, 1 reply; 120+ messages in thread
From: Noel Chiappa @ 2019-10-21 12:10 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Warren Toomey <wkt@tuhs.org>

    > But wasn't "chdir" built into the PDP-7 Unix shell?

No.  See "The Evolution of the Unix Time-sharing System", in section "Process
control".

Also, the old 'cd' had different syntax than today's (since there was no notion
of a pathname in the earliest Unix); it took instead a list of directories (e.g.
"cd dd ken").

    Noel


^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-16 14:39 Doug McIlroy
  0 siblings, 0 replies; 120+ messages in thread
From: Doug McIlroy @ 2019-10-16 14:39 UTC (permalink / raw)
  To: tuhs

> From: jnc@mercury.lcs.mit.edu (Noel Chiappa)
> 
>     > From: Doug McIlroy
> 
>     > doing legwork for Multics I ran the following experiment on a lot of
>     > then-current time-sharing systems.
> 
> Fascinating; you don't happen to remember the ones you tried, do you?
> 
> Also, when you say "legwork for Multics", was this something done during
> the planning stages (so, say '64-'65), or later on?

It was probably 1965. The places we visited
included at least Rand, NBS, Michigan, and Dartmouth. 
I specifically remember trying the experiment
at Michigan and Dartmouth. There were other places,
too, but they've dropped from memory.

Doug

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-15  0:28 Pat Barron
  2019-10-15  1:19 ` Andrew Warkentin
  0 siblings, 1 reply; 120+ messages in thread
From: Pat Barron @ 2019-10-15  0:28 UTC (permalink / raw)
  To: tuhs

I don't know that I had a single "Aha!" moment, but there were a few 
things that just got hold of me and led me down the Unix path...

The first Unix I used was V7m on a PDP-11/40, in college.  By this point, 
I was "aware" of Unix, in theory I even knew C - but never had an actual 
system to try it out on until this point.  I'd used other operating 
systems (or things that called themselves operating systems...), primarily 
TRSDOS, CP/M, OS1100, TOPS-10, TOPS-20, and VMS.  Unix was certainly the 
first multiuser operating system that I ever had administrator access on.

1) The idea of taking the output of one program, and using it directly as
    input to another program - and the simplicity by which it was done -
    was revolutionary to me.  It was not unusual for me at that time to do
    things like this by having the first program create a temporary file,
    and then having another program open this temporary file and use it as
    input, but the whole paradigm of stdin/stdout/pipes made it so you
    didn't even have to "know" in your program that you might need to use
    the output of some other program (via a temporary file) as input.
    That was amazing to me.

2) Unix was really the first operating system that I had full, buildable
    sources for.  (I theoretically had access to VMS source code, but it
    was on microfiche and not in machine-readable form, so it was just a
    read-only reference.)  If I wanted to see how the OS was doing
    something, I could look.  If I wanted to change something the OS did,
    or add something to the OS (either in the kernel, or as a user space
    utility), I could do that (and I did on a couple of occasions).  If
    something was broken, I could try to figure it out and fix it.  There
    was this bug in V7m, where if you were on a non-separate I&D system
    that didn't have the floating point option (and our 11/40 did not), and
    you tried to run an "a.out" file that was zero length, you'd get a
    kernel panic.  We were using the system for a computer architecture
    course, students were programming in assembly language, and if there
    was a problem with the source file the assembler would leave a zero
    length executable behind.  Of course, students would try to run it
    anyway, even though "as" produced errors.  We'd sometimes get 3 or 4
    system crashes in the course of an evening.  The students and the
    instructors were all up in arms because any time this would happen,
    everyone would lose whatever they were working on (and maybe more, if
    the filesystem got messed up during the panic), and if there was no one
    around who had a key to the computer room when it happened, it would
    stay down until they could find someone who had physical access and the
    knowledge to know how to deal with "fsck"...  (The construction in the
    lab was pretty minimal, and the walls to most of the rooms didn't go
    all the way to the ceiling - sometimes when it crashed and no one was
    around, they'd take to climbing over the wall to reboot the system
    themselves - which could produce disasterous results of there were
    filesystem issues...)  I found the problem, and I fixed it.  That was
    my first adventure in kernel debugging...  (Later, we migrated to a
    PDP-11/24 and we ordered the KEF11-A floating point option for it, so
    that problem became moot.)

3) The idea of processes being able to talk to each other (without some
    kind of pre-arrangement, like setting up a pipe between them, or
    using temporary files) was just amazing, and this was the first time
    I'd really seen it.  I knew VMS had this thing called a "mailbox",
    but I never used it for anything and didn't even know what it was
    for.  On V7m, I stumbled across the mpx(5) man page.  I think the
    first time I came across it, I stared at it for hours, looking at
    the description and trying to figure out what you'd even use that
    functionality for.  At some point it was like a lightning bolt hit
    me - "Oh, wait!  You can use this to send messages between unrelated
    processes!"  Except V7m came with one little proviso - the mpx code
    was there, but it didn't work...  So I dug into it, and made it work -
    at least, well enough for what I wanted to use it for.  I wrote a
    multiuser chat program with it (isn't that the first thing any
    undergrad does when they discover interprocess communications?  :-) ).
    I had a similar epiphany with sockets on 4.2BSD a year or two later,
    under similar circumstances.  The one thing I found in command with
    both mpx and sockets was that the documentation described the
    low-level functionality - but there was nothing that clearly stated,
    "This functionaliy is used to allow processes to talk to each other"...

I'm sure there are plenty more experiences with early Unix that ensured
that I'd continue down this path, but I think these are my favorites.

--Pat.

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-14 16:45 Noel Chiappa
  0 siblings, 0 replies; 120+ messages in thread
From: Noel Chiappa @ 2019-10-14 16:45 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Doug McIlroy

    > doing legwork for Multics I ran the following experiment on a lot of
    > then-current time-sharing systems.

Fascinating; you don't happen to remember the ones you tried, do you?

Also, when you say "legwork for Multics", was this something done during
the planning stages (so, say '64-'65), or later on?

    Noel

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-14 15:32 Doug McIlroy
  2019-10-15  8:42 ` Thomas Paulsen
  0 siblings, 1 reply; 120+ messages in thread
From: Doug McIlroy @ 2019-10-14 15:32 UTC (permalink / raw)
  To: tuhs

Apropos of Steve Johnson's evocative description of JCL and other
pre-Unix OS interfaces, doing legwork for Multics I ran the following
experiment on a lot of then-current time-sharing systems.

As a model of creating and installing a new compiler, I used a very
short Fortran program that simply copied its input to its output,
stopping after finding END in column 7 of the input. The drill was
	compile the program
	run it, using its own source as input
	compile the freshly made output file
This failed on every system I tried it on, though local
experts could intervene with magic to overcome the
gratuitous file-type distinctions that typically 
got in the way. Dartmouth's DTSS came closest, but
inexplicably, even to the gurus, it had a special 
prohibition against a program reading the source
from which it was compiled.

Incidentally, my favorite manifestation of JCL-like mumbo jumbo
was the ironically named FUTIL control card in GECOS.

Doug

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-13 16:07 Noel Chiappa
  2019-10-13 16:25 ` Richard Salz
  0 siblings, 1 reply; 120+ messages in thread
From: Noel Chiappa @ 2019-10-13 16:07 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Arnold Skeeve

    > K&R was so dense that my head was swimming after the first read.

I learned C from "Programming in C - A Tutorial", by Brian Kernighan, which
for some reason seemed to have fallen into desuetude from V7 on (at least,
that was the impression I got). Which was a pity, it was one of the best
documents I ever read - a breeze to read through, and clear as crystal.

	Noel

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-13  3:45 Rudi Blom
  0 siblings, 0 replies; 120+ messages in thread
From: Rudi Blom @ 2019-10-13  3:45 UTC (permalink / raw)
  To: tuhs

Not sure I had an "aha erlebnis" with UNIX. I'd done some testing on a
Philips PTS6000 with T.O.S. All assembler code with debugging syslod
the most fun (breakpointing code which moves itself in memory). Then I
was a user on VAX 11/730, 11/750 with Ultrix which was a bit of a step
down. The VAXes run VMS during the week and only in weekends we could
place our disk pack and boot Ultrix. Funny feeling to go home when
colleagues arrive in the morning.

Later "Propriety UNIX" versions  based on System III, 7, V. No source.
Still had shells, command line, scripts, a bit of programming in C if
all else fails (or is too slow). Never liked Windows. In that sense
maybe more an 'aha windows' moment to quickly forget :-)

Cheers,
uncle rubl

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-13  1:57 Jon Steinhart
  0 siblings, 0 replies; 120+ messages in thread
From: Jon Steinhart @ 2019-10-13  1:57 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

Well, I guess mine is kinda weird.  I had messed with a number of
computer systems a litle bit and then became proficient with 516-TSS
as a result of being part of the explorer scout post at BTL Murray
Hill in high school.  Interesting note is that one of my advisors
who wrote a lot of 516-TSS interviewed Ken for his job at BTL.
Ended up with a paid job at BTL starting near the end of my senior
year of high school.  Needed to document my work.  Don't remember
why, but my group acquired a PDP-11/40 that was across the hall
from the 516 lab in building 2 that was running UNIX version 3.
I started using roff on it to do my documentation which meant
learning ed and a bunch of other tools.  Of course, I took the
manual home and read it cover to cover and started messing around
with the various cool tools that it had and was hooked.

Jon

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-12 13:55 Noel Chiappa
  2019-10-12 14:51 ` Ronald Natalie
  0 siblings, 1 reply; 120+ messages in thread
From: Noel Chiappa @ 2019-10-12 13:55 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Warren Toomey

    > What was your "ahah" moment when you first saw that Unix was special,
    > especially compared to the systems you'd previously used?

Sometime in my undergrad sophmore year, IIRC. A friend had a undergrad
research thing with DSSR, who I think at that point had the first UNIX at
MIT. He showed me the system, and wrote a tiny command in C, compiled it, and
executed the binary from the shell.

No big deal, right? Well, at that point ('75 or so), the only OS's I had used
were RSTS-11, a batch system running on an Interdata (programs were submitted
on card decks), the DELPHI system (done by the people in DSSR), and a few
similar things. I had never used a system where an ordinary user could 'add' a
command to the command interpreter, and was blown away. (At that point in
time, not many OS's could do that.)

Unix was in a whole different world compared to contemporaneous PDP-11
OS's. It felt like a 'mainframe' OS (background jobs, etc), but on a mini.

      Noel

^ permalink raw reply	[flat|nested] 120+ messages in thread
* Re: [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-12  4:42 Doug McIlroy
  2019-10-12  6:12 ` Adam Thornton
  2019-10-12 10:05 ` Steve Nickolas
  0 siblings, 2 replies; 120+ messages in thread
From: Doug McIlroy @ 2019-10-12  4:42 UTC (permalink / raw)
  To: tuhs

For a contrast in aha moments, consider this introduction to
an early Apple (Apple II, I think).

When my wife got one, my natural curiosity led me to try to
make "Hello world".

I asked her what to use as an editor and learned it all depends
on what you're editing.

So I looked in the manual. First thing you do to make a C program
is to set up a "project", as if it was a corporate undertaking.

I found it easier to write a program in some other editor than
the one for C. Bad idea. Every file had a type and that editor
produced files of some type other than C program.

After succumbing to the Apple straitjacket, I succeeded.

Then I found "Hello world" given as an example in the manual.
The code took up almost a page; real men make programs that
set up their own windows.

Aha, Apple! Not intended for programmers.
And that didn't change until OS X.

Doug

^ permalink raw reply	[flat|nested] 120+ messages in thread
* [TUHS] What was your "Aha, Unix!" moment?
@ 2019-10-10 20:55 Warren Toomey
  2019-10-10 21:11 ` SPC
                   ` (27 more replies)
  0 siblings, 28 replies; 120+ messages in thread
From: Warren Toomey @ 2019-10-10 20:55 UTC (permalink / raw)
  To: tuhs

All, we had another dozen TUHS suscribers to the list overnight. Welcome.
A reminder that we're here to discuss Unix Heritage, so I'll nudge you
if the conversation goes a bit off-topic.

So I'll kick off another thread. What was your "ahah" moment when you
first saw that Unix was special, especially compared to the systems you'd
previously used?

Mine was: Oh, I can:
  + write a simple script
  + to edit a file on the fly
  + with no temporary files (a la pipes)
  + AND I can change the file suffix and the system won't stop me!

I was using TOPS-20 beforehand.

Cheers, Warren

^ permalink raw reply	[flat|nested] 120+ messages in thread

end of thread, other threads:[~2019-10-26  0:58 UTC | newest]

Thread overview: 120+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-20 19:25 [TUHS] What was your "Aha, Unix!" moment? Norman Wilson
2019-10-20 20:12 ` Sean Dwyer
2019-10-21  2:31   ` Ken Thompson via TUHS
2019-10-21  2:37     ` Warren Toomey
2019-10-22  5:25       ` Peter Jeremy
2019-10-22  6:29       ` Sean Dwyer
2019-10-21  2:40     ` Bakul Shah
2019-10-21  2:45     ` Larry McVoy
2019-10-21 10:45       ` jason-tuhs
2019-10-21 11:55         ` William Corcoran
2019-10-22  5:19         ` Adam Thornton
  -- strict thread matches above, loose matches on Subject: below --
2019-10-22 13:36 Noel Chiappa
2019-10-22 14:22 ` Abhinav Rajagopalan
2019-10-22 20:08   ` Warren Toomey
2019-10-21 12:34 Noel Chiappa
2019-10-21 12:10 Noel Chiappa
2019-10-21 16:50 ` Angelo Papenhoff
2019-10-16 14:39 Doug McIlroy
2019-10-15  0:28 Pat Barron
2019-10-15  1:19 ` Andrew Warkentin
2019-10-15  4:06   ` Warner Losh
2019-10-14 16:45 Noel Chiappa
2019-10-14 15:32 Doug McIlroy
2019-10-15  8:42 ` Thomas Paulsen
2019-10-13 16:07 Noel Chiappa
2019-10-13 16:25 ` Richard Salz
2019-10-13  3:45 Rudi Blom
2019-10-13  1:57 Jon Steinhart
2019-10-12 13:55 Noel Chiappa
2019-10-12 14:51 ` Ronald Natalie
2019-10-12  4:42 Doug McIlroy
2019-10-12  6:12 ` Adam Thornton
2019-10-12 10:05 ` Steve Nickolas
2019-10-12 12:49   ` Doug McIlroy
2019-10-12 14:26     ` Steve Nickolas
2019-10-10 20:55 Warren Toomey
2019-10-10 21:11 ` SPC
2019-10-10 21:25   ` Jim Capp
2019-10-10 21:33     ` greg travis
2019-10-10 21:13 ` Michael Parson
2019-10-10 21:15 ` Matt Rudge
2019-10-10 21:31 ` Steffen Nurpmeso
2019-10-10 21:34 ` Larry McVoy
2019-10-10 23:10 ` Seth J. Morabito
2019-10-10 23:23 ` Brian L. Stuart
2019-10-10 23:28   ` George Michaelson
2019-10-10 23:35 ` Bakul Shah
2019-10-10 23:49   ` David
2019-10-11  1:44 ` Gregg Levine
2019-10-11  1:45   ` Gregg Levine
2019-10-11 10:55 ` Leah Neukirchen
2019-10-11 12:04   ` Tyler Adams
2019-10-13 19:46     ` Peter Jeremy
2019-10-14  2:13       ` Lawrence Stewart
2019-10-14  2:32         ` Rico Pajarola
2019-10-14  9:49           ` Michael Kjörling
2019-10-14 18:36             ` Nemo Nusquam
2019-10-14 21:10               ` Jim Geist
2019-10-14 22:22                 ` Warren Toomey
2019-10-14 22:56                 ` Arthur Krewat
2019-10-14 23:44                   ` Jim Geist
2019-10-14 23:47                     ` Adam Thornton
2019-10-14 23:54                       ` Arthur Krewat
2019-10-15  0:03                         ` Henry Bent
2019-10-14 23:54                       ` Ronald Natalie
2019-10-15  0:04                         ` Arthur Krewat
2019-10-15  0:06                           ` Ronald Natalie
2019-10-15  0:27                             ` Arthur Krewat
2019-10-15  0:07                         ` George Michaelson
2019-10-15  0:10                           ` Larry McVoy
2019-10-14 23:52                     ` Arthur Krewat
2019-10-11 12:53 ` KatolaZ
2019-10-11 16:44 ` Pete Wright
2019-10-11 17:13 ` Jim Geist
2019-10-11 17:20   ` Larry McVoy
2019-10-11 17:40   ` Jim Capp
2019-10-11 17:48 ` Larry W. Cashdollar via TUHS
2019-10-11 21:56 ` Tomasz Rola
2019-10-12  2:41 ` ricercar
2019-10-12  3:01   ` Larry McVoy
2019-10-12 14:37     ` Theodore Y. Ts'o
2019-10-12 16:12     ` David
2019-10-12 17:59       ` Adam Thornton
2019-10-12 19:10         ` Jon Forrest
2019-10-13 21:45           ` Steve Johnson
2019-10-14  0:36             ` Jon Forrest
2019-10-14  2:08               ` Lawrence Stewart
2019-10-16 13:29             ` Pierre DAVID
2019-10-12  3:23   ` Richard Salz
2019-10-12  3:34     ` Larry McVoy
2019-10-12 21:32     ` Steffen Nurpmeso
2019-10-12  8:55 ` Wesley Parish
2019-10-12 10:17 ` Naveen Nathan
2019-10-12 11:54 ` markus schnalke
2019-10-12 19:33 ` Michael Kjörling
2019-10-12 22:38   ` Gregg Levine
2019-10-13  1:37 ` Dan Cross
2019-10-13 15:00 ` Robert Brockway
2019-10-13 15:33 ` arnold
2019-10-13 15:41   ` Larry McVoy
2019-10-13 15:47     ` David Potesta
2019-10-18  1:49 ` Dave Horsfall
2019-10-18 12:07   ` Ronald Natalie
2019-10-21 16:16 ` Dario Niedermann
2019-10-23  5:13 ` Gilles Gravier
2019-10-23  6:19   ` Adam Thornton
2019-10-23 15:08   ` Arthur Krewat
2019-10-23 15:11     ` Larry McVoy
2019-10-23 15:26       ` Arrigo Triulzi
2019-10-23 15:33         ` Dan Cross
2019-10-23 16:19           ` Arthur Krewat
2019-10-23 15:17     ` Richard Salz
2019-10-23 15:22       ` Arrigo Triulzi
2019-10-23 16:45     ` Will Senn
2019-10-23 22:19       ` Adam Thornton
2019-10-24 17:32       ` Tom Ivar Helbekkmo via TUHS
2019-10-26  0:33     ` Dave Horsfall
2019-10-25 20:58 ` John S Quarterman
2019-10-25 22:11   ` Will Senn
2019-10-26  0:57 ` William Corcoran

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).