On Mon, 26 Dec 2016, Nick Downing wrote:
I'm only an occasional contributor to the list,
more of a lurker really
since I was pretty busy this year. Well I promised a guy on the list some
Unixy stuff that I had and have been gradually going through it and putting
it on bitbucket but have not had time to write it all up yet.
I'm mostly a lurker myself.
But I wanted to jump in and say something to the new
people who joined the
list owing to whatever was the recent media coverage we had. Welcome and
all that. But IT ISN'T NECESSARY to have been around at the inception of
Unix to get into it and to learn about the retro flavours, come up to speed
in PDP-11 asm or learn about the old filesystems or whatever it is that
floats your boat :)
QFT
Personally when I discover something AWESOME I
immediately want to take it
apart and learn EVERYTHING about it. For me in the case of Unix, I quit my
job in about 2005 and had about 3-6 months of downtime while considering my
next moves, I had next to no money so I could not really leave the house,
but I had a houseful of computers and a 33.6k modem so I set myself the
task of learning about this mysterious Linux thing. I downloaded Slackware
4.0 onto a set of floppies and followed the Linux From Scratch instructions
to build and bring up my own Linux flavour from that.
I got some exposure in the mid-late 90s on a Solaris shell before
experimenting with Linux. Actually, I installed DJGPP on one of my PCs so
I got a basic feel for how the command line stuff worked even before I had
Linux operational on my own systems.
This was very educational and it highlights the main
point of my post which
is you MUST GET YOUR HANDS DIRTY, reading ancient source code is fine but
one doesn't retain much info unless one reads for a purpose (why the hell
won't this RK05 boot my system etc). So anyway a lot of things still
remained a bit mysterious after my LFS adventures since they are that way
for historical reasons, and I found myself bringing up earlier Unices on
simh to take a peek and joining this list etc.
Knowing about the history of Unix certainly makes some of the decisions in
Linux make more sense.
But as I said one does not retain much unless one has
a purpose and
probably the project that taught me the most was bringing up someone's
hobby Unix V7 clone on a cash register motherboard from the equipment I
used to sell in my day job. The software is called UZI (Unix Z80
implementation).
I played around with a fork of UZI on an MSX emulator once. Interesting
stuff, that.
<snip>
Long story short the thing was soon utilizing various
kinds of bank
switched memory available in this cash register (which had a Z180 CPU and
hence behaved like a Z80 with an MMU and other integrated peripherals) and
had a network stack from Phil Karn's NOS, it had lots of communication
ports for barcode scanners, printers, modem etc and I had them running SLIP
and communicating with publicly available FTP servers, I used to use
mirror.aarnet.edu.au for testing and my cash register could download small
files.
I became frustrated with the limitations of both UZI and NOS and decided to
port 2.11BSD to the cash register as the next step, my goal was (a) make it
cross compile from Linux to PDP-11, (b) check it can build an identical
release tape through cross compilation, (c) port it to Z80 using my
existing cross compiler.
A Z180 is powerful enough to run 2.11BSD? o.o;
<snip>
Although I was not around for early Unix (was probably
a 10yr old taking
apart an Apple II and trying to learn 6502 code without the benefit of an
assembler in 1985 when stuff like SVR4 was popular) I probably know as much
about its internals and development environment as many people here, due to
having got my hands dirty, albeit 30 years later.
I was messing around on the Apple //e back then myself. Didn't know
anything about ASM until many years later (I was *5* back then), but I
probably could have learned it since the //c and the later version of the
//e had built-in mini-assemblers.
In fact I FEEL LIKE I WAS THERE. So my suggestion to
newbies is, get
your simh on, and tackle some interesting project such as reconstructing
an early source for something from the fragmentary surviving pieces,
backporting some useful tool to an earlier Unix, or whatever. Just get
your hands dirty and it will be an infinitely rewarding experience.
Because Unix is AWESOME. Retrocomputing is AWESOME. Simulators are
AWESOME. :)
Heck, even v7x86 is probably enough to learn with.
-uso.