Hacker News new | comments | ask | show | jobs | submit login
Ask Old-School HN: What was it like pre internet?
27 points by jfaucett on Aug 21, 2012 | hide | past | web | favorite | 28 comments
I just got through perusing the IBM archive of mainframes, see here: http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_intro.html

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 :)

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 :)

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.

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.

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 :-(

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.

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.

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... :) )

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.

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.

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 :-(

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.

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

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.

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!

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.

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

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.

> anyone remember NetWare?

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

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...

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.

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.

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.

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.

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.

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.

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.

Sneakernet was a common network protocol.

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

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.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact