Home > Ramblings > How I introduced a 27-year-old computer to the web

How I introduced a 27-year-old computer to the web

December 12th, 2013

Reviving an old computer is like restoring a classic car: there’s a thrill from bringing the ancient into the modern world. So it was with my first “real” computer, my Mac Plus, when I decided to bring it forward three decades and introduce it to the modern web.

My Macintosh Plus. Spoiler alert: here it is surfing Wikipedia.

It’s a lowly machine, my Mac. The specs pale in comparison to even my Kindle: 8 MHz CPU, 4 MB RAM, 50 MB hard drive, and 512 x 384 512 x 342 pixel black-and-white screen. My current desktop PC is on the order of 200,000 times faster — not even including the GPU. Still, that Mac Plus was where I cut my computing teeth as a child. It introduced me to C, hard drives, modems, and the internet.

Yes, in a certain sense, my Mac has already been on the internet, first via BBSes and later via Lynx through a dial-up shell sessions. (There’s nothing quite like erotic literature at 2400 bps when you’re 13 years old.) What it never did was run a TCP/IP stack of its own. It was always just a dumb terminal on the ‘net, never a full-fledged member.

How hard could it be to right that wrong?

Everything went smoothly at first. I had my mom ship the computer to me. It arrived in good condition, having been stored undisturbed in her basement since the mid-1990s. I plugged it and its external hard drive in, flipped the power switches, and watched the happy Mac glow to life on the tiny CRT. Sure, the hard drive gave a groan of protest when it first spun up, but that quieted down, and everything seemed stable with the data intact. At least for the first few minutes.

I was far down nostalgia lane playing a game of Glider when all of a sudden there was a loud *POP* and the smell of smoke. Panicked, I slammed the power switches off and pulled the plugs. It didn’t take much sniffing to find the source of the acrid odor: the external hard drive.  The stress of current after years of disuse had proved too much for one of the filter caps in the external drive’s power supply.

A cracked XY cap from the external hard drive’s power supply.

Fortunately, Digikey still sold those exact caps(!), and I’m handy with a soldering iron, so a few days later I was back in business. On to the networking!

To accomplish my goal, I needed a web browser, a TCP/IP stack, and some way to connect the Mac to my home network.

The web browser was relatively easy to find thanks to guys running long-forgotten FTP sites in the dusty corners of the internet. MacWeb 2.0 was both old enough to run on my Plus and new enough to render HTML and speak HTTP. Sort of. But we’ll get to that in a minute.

A whole 4 MB of RAM to play with! Good thing, because MacWeb required 2 MB.

Likewise, MacTCP existed in a version just barely able to run on System 7.0.  It didn’t support niceties like DHCP, but MacWeb was happy to use it, and it installed without problems, so there was the TCP/IP stack.

Getting the Mac physically hooked to the network was a bigger challenge. The Mac Plus didn’t have an Ethernet port, and things like WiFi were years from being invented when it was manufactured. A couple of companies made SCSI-to-Ethernet adapters about 15 years ago, but those were rare and expensive. I thought about the problem for a while, and it occurred to me that I could channel the early days again: I could use the serial port and PPP or SLIP to bridge to the outside world. Like dialup without the modem.

I set up my Raspberry Pi and ran some Cat-5 to it from the router.  Using a level shifter and a variety of old adapters, I managed to get a serial cable working between the Pi and the Mac. That took care of the hardware.

On the software side, I scrounged around and after several failed attempts found a PPP client that would run on the Plus and a super-simple PPP server called SLiRP for the Pi. Documentation for the combination of MacTCP, MacPPP, and SLiRP was, surprisingly, still available.  After a bit of tinkering with the configuration, I was able to get MacTCP to talk to MacPPP, MacPPP to talk to SLiRP, SLiRP to use the Ethernet connection, and so on through my router and out to the internet.  Since serial I/O on the Mac Plus was processor-intensive, throughput was limited to about 19 kbits/s, but 19 was a lot higher than 0.

A Raspberry Pi doing the heavy lifting for the computer that’s tens of thousands of times slower. The mess in the upper right is a level shifter, a null modem, a DB-9 to DB-25 adapter, and a serial cable.

Now, you might be wondering, “Wait, how did you get all of that abandonware on there in the first place?”  Good question! The Mac’s floppy drive was old enough to be fundamentally incompatible with PC drives, and I didn’t have any floppy drives in my modern computers anyway.

I tried going down the avenue of 100 MB ZIP disks, since ZIP drives were made in both USB and SCSI-1 versions. While I did manage to get the Mac to use the ZIP disks (and in fact switched to one for the primary boot drive), and even got my Windows PC reading the HFS formatted disks using some nifty tools, every attempt to move data from the PC to the Plus resulted in nothing but corrupted files on the Zip disk.

That left the serial port. I happened to have an old terminal emulator called Microphone already installed on the Mac. Microphone supported ZMODEM for file transfers, which you’re probably nodding your head about if you remember BBSes. Thus, to transfer files to the Mac, I SFTPed the questionably legal  files I needed from my PC onto the Raspberry Pi, plugged the Pi into the serial port, fired up Microphone on the Mac as a terminal, and launched Minicom on the Pi from the Mac. I nervously struck the keys to initiate a ZMODEM transfer from Minicom, selected the files, and hit enter. Minicom obliged, there was a BEEP! and a “Save incoming file?” dialog popped up on the Mac. Some un-binhexing later, I found myself running new software on my old Plus. Huzzah!

So, with the Raspberry Pi, MacTCP, and MacWeb all in place, it was time to surf the web! Right? Right?!

No. No surfing yet.

The MacWeb developers apparently took a look at the HTTP 1.0 spec, decided, “Who would ever need name-based virtual hosting?” and left out the feature that 99% of the sites on the modern web relied on. No support for virtual hostnames meant you got whatever you saw when you used the server’s IP address alone in the HTTP request, and for most sites, that was jack squat. Oh, and HTTPS, cookies, and CSS hadn’t been invented yet.

AAARGH!!!

I vented about the problems to Tyler, mentioned that I was in for a long stretch of coding to solve it, and was surprised when he whipped up a filtering proxy solution in about 20 minutes using Python, Requests, Flask, and Beautiful Soup.  (Update 12/16: here’s the code from Tyler.) The key to it all was that MacWeb would include the full URL, with the hostname, when making a proxy request.  Requests fetched the URL, stripped SSL and managed any cookies. BeautifulSoup stripped out things that MacWeb couldn’t understand, like CSS, Javascript, images, and DIVs. Flask pulled proxy duties, reading the request and sending the filtered result back to the Mac.

And that, friends, was sufficient to surf the web. It even looked surprisingly decent, almost like a mobile browser:

The Mac Plus Wikipedia page, as viewed on my Mac Plus

 

Hacker News as viewed by the Mac. Surprisingly readable given that MacWeb doesn’t support CSS

Sure, it was slow as hell, but it worked! Data loaded, pages rendered, and links were clickable. Even forms sort of worked.

Did I mention it was slow? It was slow. Soooo sloooow. Slow slow slow.  Like, minutes to read and render a page slow. Here’s a video showing how slow:

Whatever. The goal was simply to introduce the Mac to the web.

The meet-and-greet was successful.

  1. Andy
    December 15th, 2013 at 09:41 | #1

    They say that every person has its perfect mate…
    This poor lonely Macintosh Plus — possibly the only one the internet — needs to find a companion to speak with.

  2. mania
    December 15th, 2013 at 09:46 | #2

    hi its great ….

  3. December 15th, 2013 at 09:46 | #3

    Good God almighty;. ‘alike back in the old days;
    you know? 1988 this ring ‘outer enslaved Dave
    with it’s bait: tetris.

  4. KatKal
    December 15th, 2013 at 09:52 | #4

    Amazing work- besides an old Vax mainframe my ex( yes, this was the reason he is the ex) bought from an old first Tennessee bank that was upgrading thing took up our ENTIRE loft and had to be climate controlled!! The Mac Plus was also my first “real” computer!

  5. Beverly Martin
    December 15th, 2013 at 11:14 | #5

    Should drive some of those OS tracking sites crazy.

    Windows whatever – ??%
    Mac OS X – ??%
    Mac OS 7.XX .0000000000000000000001%

  6. December 15th, 2013 at 11:50 | #6

    Hello Mr. Keacher
    How are you? I hope you have been well.This is the big news. I have a MacBook Pro and I installed Os X Mavericks system on my Computer. Some people believe that today’s world is technology’s world but I believe somebody as you is so important.
    Tack care

  7. Jose Jimenez
    December 15th, 2013 at 12:03 | #7

    Is there a way that you can alter the CPU and maybe alter the internal memory of that mac for faster internet browsing. Super cool project. High five. What are the graphics specifications of that Mac?

  8. David Every
    December 15th, 2013 at 12:22 | #8

    If you want to take this to the next level, I have my original Mac128 (upgraded to 512).

  9. December 15th, 2013 at 13:01 | #9

    This brought back fond memories of my first bulletin board service – The Canadian Wireless Update. We used 300 baud modems to link Apple FirstClass servers between Toronto and Calabasas CA. I used this exact machine in 1996. I should have kept it…

  10. Antoine H.
    December 15th, 2013 at 13:31 | #10

    Did you use the MacWeb 2.0c patch or was it already patched?

    MacWeb 2.0 had a bug on B&W Macs like the Plus, SE and Classic that rendered pages as completely black if the background color was anything but white.

    Many years ago, when faced with this problem, I dug into the program (using ResEdit?) and changed the background color tag to something else so they were ignored. I made a patch for it and posted it somewhere.

    I had put my name in the read me file, which ended up on a couple of Web sites and eventually on Wikipedia. The funny thing is that at first I was identified as a hacker on the Wiki page, which was correct but only with the original definition of “hacker” which was more about tinkering than breaking into secure computers.

    I did surf the Web for around two years on a Mac Classic in the early days of the WWW. A nice browser I found later was WannaBe Web browser, which worked on b&w Macs. It requires System 7.0. It’s a text only browser, it doesn’t support forms or tables, but it’s very fast. Images appears as links that could be automatically open in an application like GifConverter. It’s like a more nicely formatted version of Lynx.

    I still used WannaBe Web browser on a Quadra and even a PowerMac 6100 because it was so fast for many of the content I was consuming (mostly text based). I think it has a “Open In…” command to open the current page in Netscape or iCab.

  11. December 15th, 2013 at 14:59 | #11

    You might have been able to skip a lot of the hardware hacking by finding an old Farallon AppleTalk to 10-base-T adapter and the associated software. I have one in the shop for migrating data off some of the antiques that retirees occasionally bring in.

  12. keacher
    December 15th, 2013 at 17:22 | #12

    @Antoine H. Wow, small world! While I was aware of your patched version of MacWeb, I never encountered the “everything is black” problem, so I wasn’t using it. Or perhaps I was using it but was unaware of doing so. 🙂

    Thanks for the info about WannaBe. I’ll have to check it out. Sounds like it might be a faster option for my Plus.

  13. Mason Jar
    December 15th, 2013 at 17:27 | #13

    Much of this was largely unnecessary.

    Macs networked from the get-go with LocalTalk. LocalTalk to ethernet bridges were very common to connect networked Macs to an ethernet network.

    You could also use SLIP and PPP over the serial port if that’s what your computing environment supported. That’s why those software modules exist for the Mac.

  14. Gary
    December 15th, 2013 at 18:57 | #14

    I have an old Mac Classic in the garage. Can you do the same for me??

  15. Frank E
    December 15th, 2013 at 21:04 | #15

    Had one as prof. People came to see the gigantic HD. My fav was the IIe. Dual drives, dbl sided disks (hole punch), ram drive.

  16. You
    December 15th, 2013 at 21:53 | #16

    Congratulations. Now you need to focus on getting laid as soon as possible. Seriously.

  17. Susan Rubinsky
    December 15th, 2013 at 22:21 | #17

    Oh man, this is so awesome. I have my original Apple IIe (circa 1983/4?). I booted it up about 10 years ago and was able to get it running. Loaded some programs I wrote off of 5″ floppies and got it to print off an old dot matrix printer. I still have it but the cables have since disintegrated. Should think about refurbishing it at some point, perhaps.

  18. Scott Baret
    December 15th, 2013 at 22:51 | #18

    I also have a Mac Plus. It was online as recently as 2001, back when dial-up was still a viable option. I would love to try this on my Plus–is there any way I can get ahold of the filtering proxy program Tyler made for you? I can handle the rest, especially the hardware part, but I don’t know if I have the programming experience to try making it myself.

    I have otherwise brought this Plus into the modern world as much as possible. Like yours, it’s maxed out at 4MB RAM. I run Word 5.1 on it but stick with System 7.1 for speed reasons. It’s got a CD-ROM and a laser printer, too!

    Also–your Plus may be older than 1986. It doesn’t say “Macintosh Plus” on the front, so it’s an upgraded 128K or 512K of some sort. It could be a 512K made in 1986, but there’s also a chance it’s a 1984/1985 model.

  19. JP
    December 15th, 2013 at 23:37 | #19

    @Macs R We
    That won’t perform MacIP nor will you be able to surf. You will be able to share LocalTalk with other Macs, but that’s about it.

  20. Jeremy
    December 16th, 2013 at 00:00 | #20

    Geez this is nostalgic. I had a Mac Plus with a 68030 accelerator card slammed into it rocking a 14.4k for AOL and BBSes back in the early to mid nineties. Now that was slow and painful

  21. Grayson
    December 16th, 2013 at 00:08 | #21

    The Mac Plus was the first Mac to come with a SCSI port, so I wonder if there was a SCSI-to-Ethernet adapter you could use. Also, the Mac Plus supports up to System 7.5.5, which helps matters dramatically on the TCP/IP front.

  22. Paul
    December 16th, 2013 at 02:13 | #22

    This was brilliant. Thanks. It inspired me and brought back a lot of memories. ZMODEM! PPP (though some are subjected to PPP when they shouldn’t be to this day)! And ah… 19kbps. I would have killed for that speed when I first set up my BBS in 1994. 🙂 Thanks for posting this. It was like an early Christmas present.

  23. deepthi
    December 16th, 2013 at 03:58 | #23

    THIS IS BRILIANT

  24. Rom Pereira
    December 16th, 2013 at 05:41 | #24

    Sweet, nice job! Another soul saved.

  25. Andrius
    December 16th, 2013 at 10:07 | #25

    Nice job !

  26. December 16th, 2013 at 10:08 | #26

    wow, just an awesome experiment.. thumbs up ! love this kind of stuff

  27. dowel
    December 16th, 2013 at 10:27 | #27

    Ups. How do Awstats, Piwik and friends categorize this one 😉

  28. sven
    December 16th, 2013 at 10:33 | #28

    Thanks! It made me happy to read this. Funny how some things just touch you.

  29. Jones Lacerda
    December 16th, 2013 at 11:02 | #29

    Parabéns, por trazer de volta a vida algo tão
    Incrível como o pc mactosh
    Mentes brilhantes merecem sempre um destaque
    Na mídia e no mundo virtual.
    Parabéns pelo feito! !!

  30. Karl Randolph
    December 16th, 2013 at 11:34 | #30

    A trip down memory lane. At one time we had a Macintosh household anchored on an old 7500 connected to the internet. The 7500 (eternally upgradable Mac) running Mac OS X.4 Tiger, had both ethernet and Appletalk connectors, and our Mac Plus was on the Appletalk network. I tried rendering a font once on the Mac Plus using Fontographer (yes, it ran), it took a half hour to render what took about thee seconds on a Quadra. But the Mac Plus was still usable for making documents for B&W printing, using SuperPaint for drawing (it handled both raster and vector images) and PageMaker or MacWrite for text. And we could read and edit other documents.

    I tried getting on the web 10 years ago, and it was slow, I mean slow, on the Mac Plus. Since we had other computers for web browsing, I never tried again.

    Since then web pages have gotten more complex, and my Quadra went to the trash because it could no longer handle the complexity, at 13 years old the 7500 hard drive died, our Macs are Intel based (except for an original MacMini kept as a file server and a couple of special programs). I still have the Plus, still working, but haven’t fired it up in years.

  31. Tom
    December 16th, 2013 at 11:41 | #31

    Can you post more about the details of the proxy & how to set up Python, Requests, Flask, and Beautiful Soup? I have an old SE/30 with an ethernet card so the hardware part is done, but the browser is useless.

  32. December 16th, 2013 at 12:18 | #32

    Fantastic project. Many inspirations for our digital archaeology lab!

  33. Anonymous
    December 16th, 2013 at 13:05 | #33

    Amazing job. Welldone.!!

  34. bill b
    December 16th, 2013 at 13:24 | #34

    hi
    i would like to say thats pretty cool,i have 1 of these as well & all the goodies that came with it new,books,ect.
    was give to me the person who gave it to me said i liked that old stuff my nephew says he used something like that in high school so i figuerd it was pretty old.often i have wondered if it could get on the web .
    im of the opion if its working old or not why get rid of it,i use a old hp ,get on the web ect,its starting to get where some stuff its having a hardtime with & yes as of late its had its share of problems iuse a hp-compaq 6515b with win xp professinal on it it
    so i say good deal to you

  35. cris
    December 16th, 2013 at 13:35 | #35

    you should be proud, bringing grandpa mac to the web. i would be stuck with the hardware stack

  36. December 16th, 2013 at 14:13 | #36

    @Andy

    This Mac is like that whale that sings in octaves too low for other whales to hear. It is beautiful in its loneliness.

  37. December 16th, 2013 at 15:17 | #37

    Wow this is really amazing! Good job! 🙂

  38. Simon
    December 16th, 2013 at 15:41 | #38

    Cool!

  39. Shawn
    December 16th, 2013 at 16:18 | #39

    Amazing, just for nostalgia of having to play around in System 7. Also, ZModem…. definitely brings back BBS memories.

  40. December 16th, 2013 at 16:41 | #40

    Throw it out !!!

  41. December 16th, 2013 at 16:51 | #41

    Amazed that they sell the same capacitor…

  42. December 16th, 2013 at 16:53 | #42

    Great work! There is an HTTP server you can run on it. I have a Mac SE connected to the net serving up a page via the HTTP server. You can link to it here: http://mac.dresen.org

  43. عاشق اپل
    December 16th, 2013 at 17:25 | #43

    کار جالبى بود . دمت گرم دادا

  44. December 16th, 2013 at 18:17 | #44

    Thank you for bringing back the memories! Was doing loads of desktop publishing courses in the late 80s on Macs like IIcx and IIfx. I’m sure some place I have a full set of system 7 disk lying around. 🙂

  45. Al Pawlowski
    December 16th, 2013 at 20:13 | #45

    If remember right, the 68k version of iCab and Netscape 4.8 (or so) ran pretty well on OS 7. I used to use Netscape for 128bit Https bank connections in the early 90’s.

    For the guy that wanted to speed up a mac plus, one good way was to use the 3rd party RamDisk (I think a control panel) to make a ram disk on startup that then loaded a system into the disk. I used to have a 50MHz/8Mb RAM upgraded mac plus that I would run MacCAD and MacDraw on that way and it really blazed.

  46. Ethan
    December 16th, 2013 at 20:20 | #46

    Good job!

  47. December 16th, 2013 at 20:58 | #47

    so nice it is.

  48. December 17th, 2013 at 08:35 | #48

    Hello,

    with great interest we read your thread with the old Mac surfing the internet. The Heinz Nixdorf MuseumsForum is one of the largest computer museum worldwide and we would love to present this project during an event in our museum. We do have several Macs in our store house – we would appreciate very much if you could provide us with the according interface hardware and software. What do you think about cooperating in this issue??

    Jochen

  49. Alfred
    December 17th, 2013 at 08:35 | #49

    Nice job….but did you try a newer browser, too? Apparently, German iCab 2.9 should run on system 7.5, and afaik system 7.5 should run on a mac plus, so theroretically you could have a much more modern browser experience…

  50. December 17th, 2013 at 11:02 | #50

    Awesome! What an entertaining read! Loved it! And love my Raspberry Pis, too! Really nice versatile machines! Did you get that hack where the brilliant guys from Adafruit managed to connect an original NeXT keyboard to a PC via a Pi? Fun! http://learn.adafruit.com/usb-next-keyboard-with-arduino-micro

Comment pages
Comments are closed.