
How I introduced a 27-year-old computer to the web - teuobk
http://www.keacher.com/1216/how-i-introduced-a-27-year-old-computer-to-the-web/
======
TazeTSchnitzel
>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.

Of course they did, it's not in HTTP/1.0, it's in HTTP/1.1.

~~~
contingencies
Hehe, that lept out at me as well. I guess we're old.

~~~
TazeTSchnitzel
I'm not old, I'm 17!

However, I recently had to implement a minimal HTTP client. I assumed Host:
was in HTTP/1.0, but unfortunately it wasn't and I had to implement the
minimal portion of HTTP/1.1 required for compliance.

~~~
contingencies
Keep up the good work then :) At your age I spent my time reading _TCP /IP
Illustrated Volume 1: The Protocols_ and discovering unpublished operating
system detection mechanisms in ARP and ICMP, putting them online and running
home from school to see which governments' agencies had visited my website
that day. They didn't bother hiding their tracks very much in those days.

------
JunkDNA
This is just wonderful. About three and a half years ago I booted the first
real computer from my childhood as well: a Commodore Amiga 500. I had one
mission and that was to clone the hard drive so that I could get all the stuff
off of it before time had its way with the bits (there are excellent Amiga
emulators that can actually run old OS). Not having any experience soldering,
I would have been crushed if I had experienced the failure of a capacitor.
Fortunately, fate was kind to me.

In that experience I learned how incredibly difficult it is to get things on
and off of computers this old. Even though I lived through all the advances,
my mind has a much rosier picture of the capabilities of old hardware than is
actually true. Similar to this author, I had to rely on serial connections and
some utilities developed by the Amiga emulation community running in Windows
on an old PC to actually get it to work. And boy was it slow to move data. It
took something like 48 hours to move about 80 megabytes of data. I was worried
that was too long for such a machine to be running, but it held out. One of
the partitions did have a tiny bit of corruption, but I was overall surprised
to find most of the data intact.

Sadly, my shoebox full of disks is probably never to be recovered. Both floppy
drives seem to be failing and reading Amiga floppies on modern hardware is
possible, but an expensive pain.

~~~
nfoz
Because of the inability of most modern PC floppy drives to read Amiga disks
(since Amiga floppies use sectors outside of the appropriate "readable" range
for PC disks, IIRC), it can be hard to convert Amiga disks to ROMs.

However, in ~2000 there was a mechanism discovered whereby you can take two PC
3.5" floppy drives and get a ROM from an Amiga disk. The way it worked is you
have one PC disk that will be destroyed, and you instruct the floppy
controller to do a low-level floppy-to-floppy copy operation from the Amiga
disk to the (burner) PC disk. The CPU will listen in on the copy and get the
full Amiga disk image, while the PC disk gets overwritten with junk.

I used this mechanism and saved all my old Amiga files, and happily play many
of my old games (awesome retro demo-scene crackers/trainers included! yea!)
using the UAE emulator to this day.

~~~
vanderZwan
> The way it worked is you have one PC disk that will be destroyed

I think "sacrificed" is more appropriate here.

------
kken
Nice! But this machine is a supercomputer compared to a C64.

Web server running on C64: [http://www.c64web.com/](http://www.c64web.com/)

OS with TCP stack running on C64:
[http://en.wikipedia.org/wiki/Contiki](http://en.wikipedia.org/wiki/Contiki)

~~~
danielweber
How many of us does it take to slashdot a C64 web server? Two?

~~~
romaniv
Don't know, it loads for me.

People often forget that it's not the power of hardware that matters, but the
power of hardware divided by the crap the software makes it do.

~~~
csmuk
It's broken now :)

------
fsckin
Mac Plus has a CPU limited line speed of ~19 kilobits/sec? That's pretty
amazing.

My first was a Kaypro II with 64kb of RAM, 191kB floppy drive, and a 2.5MHz
Z80. I just looked up some videos of them running and the memories came
flooding back. Good times.

Just imagine what computing power we'll have in another couple of decades and
how silly what we have right now will seem.

~~~
bane
I remember being absolutely devastated when the U.S. Robotics 28.8k modem I
purchased was too fast for the 9.6kb/sec speed the 8250 UART on my 386sx. I
had to sell it to somebody else and find an expensive internal model with its
own UART. I think later they started selling internal modems without UARTS
that just used the CPU to do the work, I wouldn't be surprised if that was the
case here.

~~~
zenciadam
Why didn't you just get a new serial board with the 16550A UART?

~~~
bane
It's been, many years...IIR the serial port was built into the motherboard.

~~~
Nate75Sanders
He's saying get an _extra_ serial board (put it into an ISA slot) that has the
16550 on it. Back then, this was a common way to get around what you're
talking about.

~~~
grogenaut
Yes, he needs to go back in time and commit nerd seppuku. This is intolerable.

------
tjmc
This post brought back great memories of connecting my Amiga to the net ~1991.
The greatest triumph at the time was FTPing synth patches for my Yamaha DX7
from a server in Texas to my unix account at UWA, downloading it to the Amiga
via zmodem as the author did, then uploading via the second serial port to the
DX7 with a serial to din (MIDI) cable made with 2 sockets, 2 wires and a
resistor. I couldn't really believe it when it all worked.

~~~
JonnieCache
I bet it was still easier than programming the DX7 by hand though.

------
Zardoz84
This server is running in a real 80286 ! :
[http://www.mundoviejuno.com/](http://www.mundoviejuno.com/) Do a "cd info"
and "type faq.txt"

Also, there is more older machine connected to internet that these MAC :
[http://www.youtube.com/watch?v=-ECnN7jdgA4](http://www.youtube.com/watch?v=-ECnN7jdgA4)

~~~
bobbles
Hmm when I opened this thread I didn't expect to be playing Pong on a 286 over
the internet.. but here I am

~~~
kken
The pong game does not look like anything a 286 could do. You have never used
a 286 in real life, have you?

~~~
arethuza
I've seen ~6 people using serial terminals to a "server" running Xenix on a
286 with SQL database applications - this was in late '88.

My mouse probably has more computing power now.... :-)

------
redact207
Love it, nice work. Had a bit of a chuckle when thinking of the site owners
who see "Mac Plus, 1986" turn up on their user-agents log. Still renders
better than IE6 though

------
tluyben2
Excellent work :)

I created a network card for my MSX computer a year ago; it has less than half
the cpu speed of this Plus. I really like working on that machine; adding
hardware, writing bits of software. I said it before, but it's like a Bonzai
tree. Because it's not really _possible_ to do something commercial on it
anymore, unlike on anything modern, my brain stops thinking commercially and
that's a good feeling which I don't seem to have when touching any modern
computer/board. Using the latter I always get business ideas and then it
suddenly went from playing to work. Which is not bad because I like that, but
sometimes I want to just play.

------
coldtea
> _Did I mention it was slow? It was slow. Soooo sloooow. Slow slow slow.
> Like, minutes to read and render a page slow._

This. People wax nostalgically all the time how fast running Star Writer or
something was back in the day, and how "bloated" modern OSs have become,
without understanding that those old PCs did 1/1000 of the things modern
computers do, and even those simple stuff (running a text processor) was slow
compared to today's standards...

~~~
6cxs2hd6
It depends. For instance, Borland's Turbo Pascal with its one-pass compiler
was pretty damn fast. Its edit/compile/run cycle was amazing (an "ECRL" as
fast as a REPL). And this with 64KB RAM.

Whereas some of today's IDEs and language-layered-on-a-VM experiences aren't
nearly so fast. Granted they're working much harder. But the end-user
experience is not always faster these days.

~~~
coldtea
> _It depends. For instance, Borland 's Turbo Pascal with its one-pass
> compiler was pretty damn fast. Its edit/compile/run cycle was amazing (an
> "ECRL" as fast as a REPL). And this with 64KB RAM._

Still, not comparable. That means that TP had to work on the memory, and not
touch disk (else it wouldn't be speedy at all).

Which probably means that the libraries available would be miniscule. A decent
graphics (or even math) lib can be well over 1MB. Did you got much out of that
era TP besides the ability to use the core language structures?

~~~
6cxs2hd6
Yep, particularly since touching the disk meant a 5-1/4" floppy diskette.

But no, the programs weren't toys. They were an order of magnitude more
complex than most of today's smart phone apps. And in fact, PCs were the smart
phones of their day -- a fun size version of what had been considered "real"
computing, initially not taken seriously, but destined to evolve quickly.

Also you had direct access to the hardware -- there weren't ten layers of
virtualization, protection, and APIs in between. You could do near-realtime
things, very low latency. I think that's part of what contributed to the
subjective experience being quite fast... provided you didn't need to hit the
floppy disk!

------
dustmop
A couple of years ago jwz did something similar, getting the original Mosaic
browser to talk to the modern internet:
[http://www.jwz.org/blog/2008/03/happy-run-some-old-web-
brows...](http://www.jwz.org/blog/2008/03/happy-run-some-old-web-browsers-
day/)

Here as well, a proxy was used to get around the Host Header problem.

------
rwhitman
That Mac Plus is decked out. 4MB RAM, external hard drive, System 7. Jealous!

~~~
huxley
When I bought mine similarly decked out (with a GCC PLP printer) the computer
sales guy asked me "What are you doing with that much RAM? CAD for NASA?"

We kept it for 9 years but it developed a quirk where the monitor wouldn't
turn on. The only way to make it light up was to grab the Mac Plus and squeeze
it, so everyone used to joke that my Apple computer was lonely and needed a
hug.

~~~
alan_cx
Ah, I used to work as at a place that used a load of old PCs for training.
Often some would refuse to boot. The solution was a sharp slap on the side of
the case. I guess these PCs knew they were naughty.... ;)

------
userbinator
It actually has a lot more processing power than the minimum required to
"connect to the Internet" \- TCP/IP and web servers have been implemented on
microcontrollers with KBs of RAM. Parsing and rendering HTML, however, does
need more than that...

...or maybe not, as this C64 web browser(!) shows:
[http://csdb.dk/release/?id=30400](http://csdb.dk/release/?id=30400)

~~~
DanBC
Here's a small TCP/IP stack.
([http://tuxgraphics.org/electronics/200905/embedded-tcp-ip-
st...](http://tuxgraphics.org/electronics/200905/embedded-tcp-ip-stack.shtml))

And here's a press release about a tiny web server, with a small stack.
[http://www.eurekalert.org/pub_releases/1999-08/UoMa-
Ucsg-100...](http://www.eurekalert.org/pub_releases/1999-08/UoMa-
Ucsg-100899.php)

> In terms of technology, the achievement is not only in connecting a small
> computer on the Web, but also in the size of the network software that is
> running on the chip, according to Shri. The computer consists of an iPic
> TCP/IP stack running on 256 bytes of memory, using its own equally tiny
> operating system. Despite the small size, the TCP/IP stack is fully
> compliant with the requirements of the relevant standards. It is connected
> to the Internet through a serial port. Because the machine is a Web-server,
> it does not need a keyboard or display, but is operated from another
> computer using a Web connection.

------
theandrewbailey
I know everyone here will tell me to get off their lawn, but I just built a
Pentium II computer about 2 months ago. I pulled most of it out of my uncles
house when he died about two-ish years ago, and decided that its time to do
something with this crap that's lying around. It's not quite the first
computer in the house (a Compaq 486[1]), but it runs all the things it could.

[http://theandrewbailey.com/article/119/Project-Twentieth-
Cen...](http://theandrewbailey.com/article/119/Project-Twentieth-Century-
Planning)

[http://theandrewbailey.com/article/120/Project-Twentieth-
Cen...](http://theandrewbailey.com/article/120/Project-Twentieth-Century-
Resurrection)

[1] it was (what would now be called) an all-in-one, and it came with some
Windows 3.1 thing called TabWorks. And before anyone asks, no, I didn't
program on the thing. Not every programmer has programmed since he was in
diapers. Also, Windows didn't come with a programming environment back then
and search engines sucked ass.

~~~
djur
A Compaq all-in-one 486 with TabWorks was our family computer when I was a
kid. You've evoked some very fond memories. Windows didn't come with a
programming environment, but DOS had QBASIC, which is one of the best
beginners' programming environments ever made.

That machine had a long lifetime for us. We upgraded the RAM as far as it
would go, replaced the HD... even added one of those AMD "586" coprocessors.

~~~
theandrewbailey
Cool! After we had it for a year or so, said uncle put Windows 95 on it. Lost
the speakerphone app and Lode Runner Online during the process, but gained the
late 90s web. I downloaded that Lode Runner from the creators site around
2004[1], and had my first retro computing moment.

It wasn't upgraded (except possibly RAM), and we had it from about 1995/6
until 1999, when my dad got a Pentium 166 that was surplus from an office
move.

[1]
[http://www.daggert.net/Folio/Programming/Presage/LodeRunner/...](http://www.daggert.net/Folio/Programming/Presage/LodeRunner/Loderunner1.htm)

------
sneak
The reason that HN looks okay on it is because HN is laid out with a series of
nested tables, just like we did in MacWeb's heyday.

~~~
Sharlin
Yeah. Hooray for table layouting. I was at first surprised that the browser
even understood _tables_ , but it seems MacWeb 2.0 was released in 1996.

------
iuguy
Nice one! I like the proxy idea, any chance of it showing up on github?

Not as old as this, but I wrote a guide nearly 10 years ago on installing
Apache on Apple Unix (OSX is not the first Unix from Apple) on a Quadra[1].

[1] - [http://www.snakeoillabs.com/downloads/aux-
guide.pdf](http://www.snakeoillabs.com/downloads/aux-guide.pdf)

~~~
tghw
I helped write the first version of it, which is mostly intact. I've included
teuobk's changes.

[https://github.com/tghw/macproxy](https://github.com/tghw/macproxy)

------
girvo
I wish my Aunty hadn't thrown out our IBM Pentium PC @ 100mhz, and a whopping
at the time 16mb of RAM. Seriously powerful machine for the time. I miss it...

~~~
acheron
Heh. Posts like that make me want to pull a Four Yorkshiremen.

"Sixteen _mega_ bytes? Luxury."

------
leonk
Oh great, another browser we need to test on! Thanks A LOT!

------
dzhiurgis
I must say my Kindle experimental browser loads and renders websites...
slower.

------
pfarrell
What useragent string did your browsing generate?

~~~
teuobk
To the outside world, it looks like "python-requests/1.2.3", sadly. I should
change it to "Mac Plus!!!"

~~~
aaren
The python stack was running on the raspberry pi right? Or did you somehow get
that going on the mac plus too?!

------
GigabyteCoin
I'm curious how long it would take that browser to infect the computer with a
drive by download? Or if it's just so old and obsolete that not a malware
programmer exists in this world to bother exploiting it's holes?

~~~
renanbirck
Nearly forever. You don't have JavaScript, most malware isn't designed for
platforms that old etc...

~~~
GigabyteCoin
Right, no scripts running means virtually no attack vectors. Perhaps
overloading the buffer by downloading a large webpage? But that's about all I
can muster.

------
lordgilman
There was a dedicated fanbase for using Apple's System 6 day-to-day as
recently as a decade ago or so. There's still a bunch of information up on the
web and many of the links to 3rd parties at the bottom still work.
[http://www.vintagemacworld.com/sys6net.html](http://www.vintagemacworld.com/sys6net.html)

------
duncan_bayne
Wow, I'm old: my first real computer was an Amstrad CPC 464. 64kB RAM (some of
it used for video), 4MHz 8-bit CPU, built-in cassette player.

I'm still developing for it in my spare time ...
[http://vimeo.com/70784619](http://vimeo.com/70784619) (very little progress
yet)

------
eschaton
The site www.lisa2.com is often served from an actual Lisa 2, which was
released with the Mac in 1984.

(Edit: Removed a bit about the Amiga being a knockoff, as mobile reading led
me to conflate this article with the one about the Amiga emulator.)

------
mcv
Cool. But isn't his (Raspberry Pi) ethernet adapter a far more powerful
computer than the computer it's adapting ethernet for?

------
Globz
This amazing, now I just have to find my moms old Mac...its probably hidden
somewhere in her basement!

------
weland
This is wicked cool. Congratulations!

------
iterable
Amazing. These screenshots really take me back...

------
rohit6223
congratulations!

