

Ask Old-School HN: What was it like pre internet? - jfaucett

I just got through perusing the IBM archive of mainframes, see here: http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_intro.html<p>And it got me thinking it would be interesting to hear what it was like to be a hacker in the olden days before internet came along to give us unlimited documentation and source codes in a .12 sec google search :)<p>Was anyone in here around in the days? And if so, what was it like? Was it better or worse? What do you miss if anything? I imagine certain projects could be more rewarding because you could fully understand every aspect of your programs, unlike today where one includes massive java libs on top of frameworks and stacks of other software :)
======
thaumaturgy
I'm not totally sure I have the credentials to chime in, since I'm relatively
young -- just under 35 -- but I got started really early (in the second grade
on a Commodore Vic-20), and I spent a lot of time on various dial-up BBS
services and worked on some Unisys big iron in the East Bay.

So: I really miss that, honestly, and some of my energy recently has been
spent on trying to figure out how to bring some of that back.

With the Commodore Vic-20 and 64, it didn't do anything at all unless you
programmed it or loaded a tape into it. With that setup, programming it was
the game; it was what you did for fun. And there was almost no abstraction,
very little complication. You could play around with making sounds or colors
or your own simple racing car game just by sitting down and typing into it.
Instead of the internet, I lurked around the local library for game magazines
with source code listings in the back.

The dial-up BBSs were similar, in a sense, in that you couldn't really do
anything else while you were on them. I find that I can waste spectacular
amounts of time today by sort of "half-working" -- I write a couple of lines
of code, get bored, hit alt-tab to bring up my always-open web browser, get a
fix of internet for twenty minutes, then switch back to the code and try to
bang out a few more lines. That's an awful way to get anything done. With the
dial-ups, you knew you were wasting time, and you didn't tend to do it for
more than a couple of hours before you wanted to go back and write something
again. There were still trolls and such, so I can't really say that the
community was any better.

In the earlier days of the internet, websites were less real-time, and
software didn't get in your way as much. The OS was simpler. Macs had MacsBug,
which you could use to easily debug your own software without dealing with an
IDE's buggy interpreter, or you could use to easily investigate someone else's
software. To me, it felt more like I was dealing directly with the machine,
instead of having to deal with someone else's software, which in turn is
dealing with someone else's software, and so on until there's a machine
somewhere at the end that I can no longer get to. (I worry that UEFI is only
going to make this worse.) One of my first for-fun projects on my own Mac was
directly accessing the ADB system to make the lights on my keyboard blink back
and forth like the Knight Rider car. (I wasn't allowed to do that kind of
thing on my parents' computers. :-)

I can't really say there was anything fun about the mainframe. It had the best
recovery systems I've seen on any operating system so far; you could start a
payroll and an accounting job (typically things that you didn't want to mess
up), walk over to the wall, yank the cord out, plug it back in, and it would
start back up right where it left off. That was impressive. And as geophile
says, you generally rolled your own for everything. For most things, the
easiest way to get software onto the mainframe was to write it from scratch.
Since it was a business-purpose-only machine, it didn't get in your way too
much about that, so that really wasn't that big of a deal. A major payroll job
rewrite might be a couple of hundred lines of COBOL. There were deep, scary
places in the machine with lots of code written by greybeards, but you never
went there.

People actually seemed to share more -- little bits of code for various
goodies were popular on early "internets" like eWorld. There are plenty of
Javascript snippet sites now, so I'm not sure in what way it seems like people
shared more, but it does seem different. Maybe it was different in that people
seemed less motivated by gathering attention; they just wanted to share code
because it was fun. People wanted to trade Legos so that they could build
cooler things, not because they wanted to be the next Legoland and make some
ad money. (I wonder what J5iverson is up to these days?)

People didn't give you shit for doing something like writing your own memory
manager. They never said, "Why don't you just use _____, it's what everyone
else does."

Programming seemed a lot more rewarding, though I can't honestly say whether
that's just because I do it for a job now and that means often having to do it
when I don't feel like it. But, programming was rewarding for programming's
sake, not for the end result. Programming was a way to learn more about the
machine. It was a way to make electronics do what you wanted them to. It was a
way to see if you could change or improve the way that something worked,
rather than just trying to create a new product or end result. (One of my
prized possessions -- and one of the very few that has survived my cross-
country moves and purges of stuff -- is a copy of Tricks of the Mac Game
Programming Gurus, a hefty volume full of source code, with a CD full of even
more stuff.)

In the early days of the web, people curated their sites. They didn't keep
blogs, they had big index pages with links to stuff they thought was
important. It was rarely topical. It didn't require, or even really want, your
attention all the time. There was more incentive to creating centralized
repositories of information on a subject. There was no such thing as
advertising, you just did it because you wanted to be helpful. (And maybe
because you were a bit of a hoarder.) People bragged about writing their sites
in Notepad. All the cool kids used Perl. Again, these were things that mostly
did what you told them to do, instead of spending time fiddling around with
icky CSS and browser issues. I still didn't like it as much as the BBSs
though.

Everything just seemed less opaque. Trouble with a modem? Open up a ZTerm or
similar, and directly ask the modem what the hell was wrong, as long as you
knew the magic incantations. Program die on a Mac and lock up the system? Hit
the programmer's interrupt switch (command-power on the keyboard, or a tiny
switch on the back of the machine), and type, "SM 0 A9F4" into the box that
appeared on the screen, followed by, "G 0", to directly write the address of
the _exitToShell trap to memory location 0 and continue execution from there.
Buggy program on a Mac? Fire it up, get as close to the bug as possible, fire
up MacsBug, rewrite its code in realtime until it behaved, take notes, and
then open the program (or its resource file) in your favorite hex-like editor
and make your changes permanent on your copy. Hard to do that with "the
cloud". A home computer or a mainframe could do anything that you wanted it
to, and it wasn't unreasonable to make it do anything, because it seemed to
take so much less time and effort.

Well, rose-colored glasses and all. And, it's not that all the advancements
we've made since then, in terms of abstraction and performance and
communication and so on are bad.

It just seems less fun.

~~~
adj
_Instead of the internet, I lurked around the local library for game magazines
with source code listings in the back._

I love this. I did the exact same thing at my local library looking for books
on BASIC (now I lurk on HN instead of at the library). I always had trouble
getting the code listings to work because they were usually written for a
slightly different version of BASIC than what I had. Without the internet
there wasn't really any way for me to figure out what the problem was so there
was plenty of trial and error.

One of my best memories was finally buying _Tricks of the Game Programming
Gurus_ by Andre LaMothe. I remember reading almost the whole book the first
day I got it and trying out all the great code examples. This was the first
time I really saw how _real_ games were made. It basically runs though making
a game like Wolfenstein 3D only two years after it was released. I think it
would be a struggle to write a book about how to make a triple A title from
2010.

Near the end of high school I stopped coding but when I got back into it
several years later, I was amazed at the resources and tools freely available
on the internet.

------
geophile
I have been programming since about 1969, but my life as a non-academic
software developer started only slightly pre-internet, 1988. In those days, I
was using a very early version of C++. The system I was working on was an
object-oriented database system, and we were highly dependent on memory
mapping and network APIs. (I mean OS APIs, not these new-fangled web APIs.)
Some impressions:

\- We built nearly everything from scratch. I was working on collection
classes and an OO query language, and started with very little beyond libc. We
did buy a cheapo B-tree implementation (free floppy with book!) that we stuck
with far too long.

\- There were many varieties of UNIX, and we had to support all of them. We
spent a huge amount of time porting our application, and building up our
portability "layer". As time went on, we also had to deal with object layout
differences across compilers. Porting to all these platforms and compilers
consumed unimaginably huge amounts of development and testing resources. We
also ported to OS/2 (remember that?), and even Windows 3.1. Different
industries and customers had different OSes, and we had no choice but to
support all of them. It took a very long time before we decommissioned our
first OS.

\- The OSes and compilers were buggy. At one point, the brokenness of mmap (on
SunOS 3.something, I think), was a real problem for us.

\- CPUs were buggy. One of our engineers found a CPU bug in a 68040 because
one of our features was failing in an odd way, and he kept diving lower and
lower until he reached the CPU.

\- I'm pretty sure we wrote Makefiles by hand.

\- Source control was a nightmare. I don't really remember what we were using
early on, but it was a tolerable pain. After a year-long project we switched
to an early version of Clearcase which I found mind-bending and non-intuitive.
It did amazing things, but it was torture to use. Oh, and it sprayed random
bits all over our source repository, (due to a bad interaction with an early
RAID driver, if I remember correctly), and we had Clearcase engineers in house
for maybe a month trying to rescue what they could.

\- Everything cost money: OSes, libraries, development tools, source control.
My company was a startup, and several of the startups we were friendly with or
potential customers were doing development tools.

\- Anyone know what Reed Hastings, founder of CEO of Netflix, used to do?
Anyone? Bueller? He wrote the Purify/Quantify tools. These were the absolute
best memory corruption and profiling tools of the day. (I'm pretty sure that
he actually wrote Purify himself.) Expensive, wonderful tools.

\- Research involved going to a library or talking to people. No google.

Good times, good times.

------
ChuckMcM
To be a hacker? I can thoroughly recommend Steven Levy's book on the topic.
Generally in the 'way back' times a computer is something you visited at work
or a large university, once the notion of having some computation of your very
own broke (mid to late 70's) those machines limited what you could do by the
resources available. Once the PC sea change hit and machines with MMUs became
practical for people to own it got a lot more interesting the things you could
do at 'home'. The decade between 1985 and 1995 was one of 'oh wow, look at
what I can do' and always buying a new machine every year because it was so
much better than last years. When the world wide web became 'the thing' in
1995 it really was a sort of magical.

Better - you could know all there was to know about your machine / OS / App.

Worse - you knew all there was to know about your machine / OS / App.

Basically once you hit the information wall you had to stop, now it just keeps
on going and going and going what you can learn.

EDIT: (added because its the way I think of these things)

The 'ages' of computers:

pre-1975 - Out of reach for everyone except people with a job or research
project that could justify access.

1975 - 1985 - The 'microcomputer' era, like amateur radio, people getting
wildly excited about building computers with fewer resources than a Atmel
ATMega328P for under $1,000. But they could be programmed, and they could "do
stuff"

1985 - 1995 - The 'PC' era, where the coolness shifted to software, and
advances in hardware lead to more resources for more complicated code. Anyone
could write a compiler or an OS or new data base.

1995 - 2005 - The 'Internet' era, and one of the first mass extinction events
:-)

2005 - present - the 'Appliance' era, where the emergence of folks who don't
care one whit about programming or technology have to have a computer to do
daily tasks.

------
LarryMade
For me I got into computers in the around 1980 in high school...

So starting out pirated programs, and type-in stuff from magazines. Many
programs were in BASIC so a lot of peeking and poking about in the code and
memory to see what you could do with the computer and programs. Lot of reading
and hand-written/mind work between times with hands-on access to school
computers.

Once I got my own computer VIC-20, i got lots of mags and books (especially
the programmers reference guide) more time to experiment and try out hand-
converted assembly routines in my programs.

Commodore 64, man the pirated disks were everywhere... also was the beginning
of copy protected disks - and then to push back the protected software copier
and cracked programs... lots more books and magazines to learn (the magazines
were getting more technical then like the Transactor magazine, a true
Commodore programming mag... ahhh), as well as copied text files from BBSs
becoming more prevalent (see textfiles.com for a sample of independent
information people exchanged)

Once I got my modem I called around a lot, got some files but the discussion
forums were also an attraction, though the audience was limited to usually
folks within the general area of the BBS. Soon I became a sysop and worked on
my board as well as called others. Lots of hacking on the boards to
personalize them, add modifications, do new functions like inter-BBS message
networks, etc.

BBSs came in different varieties, besides operating system/computer (mine were
on the Commodore 64) there were boards with lots of on-bbs games, some with
pirated software, others did message boards (mine was more a message board),
some tried to do porn and stuff for profit, never got into that so don't know
much of that aspect. Hackers at that era besides cracking started doing demos
and intros for cracked games, its surprising how much of a show you can put on
with a few K of ram on a 1 mghz computer.

Internet creeped into neighborhoods and BBS callership dried up - except for
the more dedicated sysops and their boards (mine lasted till around 2004,
mainly due to Hard disk failure without a backup. :-/

I think it was better in a way for development as absence or less
accessibility makes the heart grow fonder and gave us time to plan things out
between whatever computer opportunity you were deprived of. Also a lot of the
technologies we use now were in their infancy in the day, so some of us old
geezer grock why computers/software do this or that because we saw it when it
originally came on the scene.

Today you have such more higher level languages, and supercomputers compared
to the old times, the complex is pretty much a cakewalk to the general
programming public now. So much accessibility and inter-connetedness too.

Back then it was mainly a nerds only club, your mom wouldn't even get into the
same room with the computer. Now the general public is here, which means you
got lots of noobs and wannabes all over the place.

Now also has a lot more distractions, not just games and facebook, but also
the avalanche of hardware/ programming/ etc. technologies that are being
pushed out at us every day. I guess the big challenge for folks today is where
to get started and what paths to choose.

------
duncan_bayne
I was coding for my old Amstrad CPC 464 in my tween years. I distinctly
remember not having access to a firmware manual, or the funds to purchase one.

So when I wanted to know how something worked (say, the cassette data
interface) I'd write to Amstrad, asking for the relevant documentation. They'd
then photocopy the wrong pages from the firmware manual, and return them to me
in the enclosed S.A.E. I'd then write to them again, explaining what I wanted,
and they'd send a different but still wrong set. We'd repeat this several
times, with a lag of weeks between each iteration.

I also learned a lot from listings in magazines. Each monthly edition of
Computing with the Amstrad would have program listings (games, utilities,
lessons) in BASIC and Z80 Assembler. One could figure out a lot about how the
machine worked by careful inspection of those listings.

Funnily enough, I remember spending entire evenings at the tender age of 9 and
10, coding away without any distractions like email, web, music etc. I might
have been more productive then than I am now :-(

------
opminion
Pre-Internet we were information-bound, now we are attention-bound.

From that observation you can deduce a number of consequences.

Information (software, encyclopaedias) was expensive. Your intellectual life
depended much more than now on where you grew up (as opposed to, say, your
character), see for example Lisp in US vs Prolog in Europe. It was harder to
be distracted but also easier to find yourself reinventing the wheel.

Instead of reading blog posts about time management and the seven most
important traits of whatever, you had mildly interesting newsletters,
documentation to photocopy, and complaints about the choice of books in the
local library. Back then you were more concerned about gathering resources,
now you are more preoccupied by where to put your attention and efforts. So,
in that sense, we have all followed the same trajectory as Bill Gates.

~~~
tygorius
Well, it depends a bit on what pre-internet era you're talking about. When I
think back to the 1960s and 1970s in the US, the first difference that strikes
me is that we were resource-bound.

* Hardware was expensive, so back in the age of minicoputers _you_ went to the computer. And perhaps first to the card punch room to make changes to your deck. (Painful memories.)

* Connectivity was both expensive and slow. Anyone remember acoustic couplers? Don Lancaster's revolutionary TV typewriter? Their financial heart attack when the first BBS phone bill came in?

* Information was obvious scarcer, but it could be found if you networked in meatspace. Lots of interesting conversations to be had at the local electronics shop or campus computer center.

------
xradionut
I've been using computers since the '70s, so there's a lot of highlights that
will be left out, but here's a few choice memories: Building a Apple II+ clone
with pirated EPROMs so we could play Ultima 2 and Wayout. Using a TRS-80 4p
and 1200 baud modem to connect to the university mainframe since remote users
had a higher job priority. Helping my father teach Autocad 2 on DOS. Seeing
the Xerox GUI and networking before the Mac was ever created. The joy of VMS
clustering and other big iron features, which everyone is slowly reinventing.
Build Ciarcia's designs from Byte. The first Mac, Amiga, Next and BeBox
machines. Wirewrapping, soldering and assembly. Ham radio RTTY and packet
systems. Printed documentation in walls of colored binders. User goup
meetings. Swap meets. Hours spent in libraries and bookstores. Building some
of the first web sites. (Pre Netscape)

Things I love now are the powerful affordable systems, free quality software
and virtualization. Like many older folks I hate the users that can't read the
basic documentation or even try to expand their computer skills. (But I end up
helping them... :) )

------
Lasher
When the BBS came along it was awesome, then it was too addictive and the
phone bill was insane. Then we discovered blue boxes and PBX hacking and it
was really on. It seemed amazing at the time being able to pick up the phone,
make a few tones and be talking to someone on the other side of the world, or
downloading "warez" from a BBS in Europe.

For some reason I particularly remember walking to the store one day pre-
internet thinking about this whole "virtual" electronic BBS world out there
that only 1 out 1000 people actually had a clue existed and how awesome it
was. When the internet came along it was a obvious to me that was it going to
change everything, but I was too young and naive to think about the business
aspect of it.

Other stuff, hmm. When you finished work for the day you were actually
finished, but more likely to be in the office late because you couldn't work
from home. The phone rang a lot more often before email. Installing software
on another branches system meant driving there - uphill both ways, barefoot,
in the snow.

------
GaryGapinski
It was worse. I started in the late 1960s. Information was not easy to obtain
as it is now. The computers were not particularly limited (or so it seemed at
the time), but there really wasn't any decent internet until the late 1980s.
Things were quite slow in comparison to the way they are now, particularly at
the human-machine interface. Frightening amounts of paper were used for
punched cards and printouts. While the old days were fun, I don't at all miss
any of it.

Now, I can cheaply obtain any computing capability I might want for pennies an
hour. I can obtain just about any information I need with a few keystrokes. I
can easily benefit from the massive, readily accessible work of others.

I can no longer function effectively without using contemporary amenities, nor
would I so want.

------
citizenkeys
I was there. And it wasn't that long ago. Before the Internet, and before wifi
and broadband, we had dial-up bulletin board services that used a modem. They
were text-based and when you started a download, you had to wait for it to
finish before you could do anything else. Some bulletin boards were connected
by dedicated phone lines between them, so you could access multiple BBS's
without having to hang up and dial multiple phone numbers. Also, the good
BBS's were frequently busy. So you had to leave your modem program to keep re-
dialing until you could finally get through.

~~~
zio99
Ah Wi-Fi, I had a blast working on WiMax and what became 4G over at Nortel
(before they went bankrupt).

------
doctorwho
Before the current version of what we know as the internet there were
alternative silos of information you could mine. Some of these, like
bitnet/netnorth, usenet, BBSes, FTP sites (like Simtel-20) were eventually
absorbed by the internet. If you worked for a big enough company they usually
had internal repositories you could access that were full of "hackers" showing
off their stuff. Software/Developer focused magazines like Dr. Dobbs, BYTE,
CUJ, etc. were a LOT more useful and relevant before the internet stole their
thunder.

------
dirkdeman
There was a show on the radio about BASIC programming, with programming
samples. You'd have to record the show on a cassette tape, because the code
was transmitted as audio output. You could do the excersise, and then check
your code by playing the tape on your Commodore 64. I still think that was a
pretty ingenious thing, sending code over the radio!

Ah, and the BBS'es of the early'90's... So much time wasted there!

------
D9u
I started my computing journey back in the days of BBS dial up porn, DOS &
Windows 3.1.

Network protocols were wildly divergent. (anyone remember NetWare?)

Windows for Workgroups 3.11 was the best!

Plug & play was unheard of. DMA & IRQ conflicts whenever new devices were
added to a system was the norm.

Castle Wolfenstein3D was the coolest game ever.

~~~
stray
> anyone remember NetWare?

I was a CNE (which means I was a badass at at NetWars)... Btw, I still think
syscon was amazing.

------
jamesjguthrie
I was coding back on Windows 95 before it was common in the UK to have
internet access. My machine was a Pentium 75Mhz with 8MB RAM and an 850MB hard
drive.

I got my warez from local computer fairs (fayres?) and bought books on Visual
Basic from PC World.

I miss the buzz of Windows 95 and the Pentium from back then...

------
zio99
As for programming, I'd write in x86 and Delphi (which came on 10 floppy
disks) with a lot of GoTO 0 statements. My parents used punch cards [PDF:
<http://www.columbia.edu/cu/computinghistory/fisk.pdf>], so I guess I had it
easier.

~~~
jfaucett
thanks for the link, its fascinating. That does give a whole new meaning to
linking and compiling :)

------
israelyc
This is one of the most fascinating HN posts I've read in a while.. nothing
practical, just fascinating.

PG says somewhere that there is a direct correlation between the length of a
comment to its quality.

This is the perfect example.

------
cafard
Let me just remark that the original O'Reilly _Whole Internet User's Guide_
had no mention of the web--plenty on Gopher and FTP and Usenet, as I recall,
but it must have been in press about the time CERN was announcing WWW.

------
zio99
We had a lot of Encyclopedias growing up, and the study/library in our house
where I spent most of my time. These days, it's HN. Same deal, just a faster
way of aggregating information.

------
dgudkov
We used floppy disks to exchange files. Software was purchased and received by
post mail as bunch of floppy disks. Was it better or worse? It was fun. Much
more exclusive than now.

~~~
mapster
yes, the UPS truck stopping in front of the house to deliver a package full of
floppies full of freeware. That was a 'download'. But more importantly I
recall the wonderful years of 92-94 when the internet was really blooming and
become a reality for the masses - there was feeling that something profound
and very special was occurring and I was watching it come alive. Now if only I
would have snapped out of my glassy eyed haze and snapped up some domains,
that would be a cherry on top.

------
liudepeng
I comes from china, you guys are so interesting, I love U!

------
stray
Better _and_ worse.

One thing I sorely miss is printed documentation -- _especially_ the (unix)
permuted index. Even today, I'm convinced that I understand and remember
information better when I can hold an actual book in my hand as I read.

Long before internet access was available for what the NSF used to call
"commercial traffic", we were already connected to each other through store
and forward networks like uucpnet, FidoNet (fight-o-net), and WWIVnet.

Instead of an ISP, you'd connect by modem to a BBS (TAG BBS ftw!). And for
most BBSs, only one person could connect at a time. If you were a user that
meant you'd have your terminal program (Telix was my favorite) set to keep
redialing across several BBSs till you connected to one. Sometimes you'd be
redialing for most of the early evening before your modem squawked and
squealed which meant you'd finally gotten in.

The BBS itself, was just some hobbyists computer. And the Sysop (system
operator/owner) may or may not have participated in one of the aforementioned
store and forward networks. If not, there would be local discussion boards,
file download areas, and usually a few doors (games). Popular games I ran on
my BBS were Tradewars and Geopolitics -- and like everything else, it was
multiuser but only one person at any given time.

Being a Sysop had three main benefits: [1] it was fun; [2] US Robotics gave
you a sweet deal on a high-speed modem; [3] whenever you were sitting there
connecting to other BBSs (thus tying up the line) people just assumed the busy
signal meant your board was more popular than it was.

For those of us who were writing software, there were usenet newsgroups like
comp.lang.c and FidoNet echos like 'the c echo' where we could discuss and
trade code with people around the world.

But honestly, I spent far more time reading talk.bizarre than doing useful
C-related stuff.

That little edge though -- having easy access to other people from all over
the world, made me seem far smarter at work than I really was. That, and being
able to read a man page...

Can't believe that makes me an old-timer :-(

