…my site (cherryh.com, the mothership for this blog) is not quite that old, but it’s been there a while…I think since about 1993, maybe earlier. I could see the importance of having a web presence. I knew very little about HTML—I got the HTML for Dummies book, and hired a guy to do the graphics you can still see (old-fashioned, yep, I’m a Historical Internet Landmark) back in the 90’s. Had no idea at all how to organize it, except on the model of an sf convention.
It’s huge, sloppy, and I haven’t updated the main body of it in a year (gotta tend to that soon)–but it’s kind of like a large museum and library of bits and bobs, the sort of place you can wander around in it, the attic where I store stuff. Wave is structurally part of it: the WP sites require an HTML index page for an ‘anchor’ and initial navigator, so it was easy to tack it on.
The site has lost the visitor-count three times and had to be re-started from what I could recall as the number, so the count would be quite a bit higher if I had set the first re-start where I should have: I can’t remember numbers worth a damn, and I think I lost about 50,000 visits. This is my brain on numbers, eh?
I did the splash page and other artwork, off a very rudimentary graphics program: Microsoft Image Composer. So it’s far from professional, but it’s vintage Me.
Nowadays I can type in HTML for elementary purposes. I’ve officially stopped short of learning PHP—I decided that when we decided not to go with Joomla! and to adapt a WP template, which has adapted pretty well, imho. But all resolutions are subject to change.
So as far as the WWW goes, we’re kinda venerable. And we just keep swimming…just keep swimming…
Long, long ago in my first computer class, we used paper tape and then I made the giant step up to 80 column IBM keypunch cards. I think that I owe what fragile sanity I have left to my absolute avoidance of learning or using any COBOL. At one point, I was in an advanced programming class where we were all doing the same application, I in basic assembler language and the rest using COBOL. The assignment had three modules; and IIRC I needed more than 60 or 70 cards in my deck for the entire program. That was easily an order of magnitude smaller than the necessary COBOL code. One of them disassembled the COBOL coidefor just the first module. The mass of pseudo-code that resulted looked like the Tower of Babel project must have; there was a great deal of hand-waving while precious little actually seemed to be getting done. {LOL} — Oh, for the halcyon days when addressable memory was limited to 8 kilobytes!
Later on, I ran into a true antique, an HP 1000-M minicomputer that filled two whole racks. Its 32 KB floating point processor alone was the size of a microwave oven. It could only run half at most of the overall package at any one time because the 20 MB removable disk platters the size of garbage can lids couldn’t hold all of the programs on one platter. On one late evening, I had to stay as much as possible in front of the HP as possible while I cleaned up thirty or so cables on our other mini because it gave off so much lovely heat in that otherwise cold, cold room.
Ahhh, paper tape. And are we talking about 5-bit, 6-bit or 8-bit with parity? I used to be pretty damn good at splicing. Our PT reader had 2 speeds, regular and high. We couldn’t use the spools for high speed so it was bucket to bucket, or garbage can to garbage can. And if you weren’t there to catch it in a can it would spew across the room.
For those who are truly getting on in years the computer was a General Electric GE-225; 8k 20-bit words until we upgraded it to a truly amazing 16k 20-bit words. It had a decimal feature where you could store 3 6-bit chars per word and could do decimal arithmetic.
For the truly esoteric calculations in Fortran IV we had an AAU, Auxiliary Arithmetic Unit, which did floating point separate from the main processor. These programs were run every night calculating where to put the sails on the Sydney Opera House.
Wow, the Sydney Opera House!
Everyone has a story!
I first dealt with a computer in 1977–as a Midshipman at the Naval Academy, I learned timeshare BASIC. Bought my first personal computer in 1985, a Mac (a fat Mac, even, with a whole, entire MEGABYTE of RAM (I wuz stylin’!). Two-sided floppy gave 800kB, in which one had the OS, an app or two, plus extra space for data files. I saved up for a few months and bought an external two-sided floppy, that way I didn’t have to disk-swap all the time. Rodime made a 10MB external hard drive that cost as much as the computer had, and had the same footprint; one of its advertised selling points was that it “raised the computer to a more-comfortable viewing level”.
In ’92 I moved to Boise and helped HP make hard drives–started out on a 360MB hard drive (full height, 5.25″) that weighed seven pounds. Which was quite the advance over the previous models–two versions prior had been a drive that you moved about with a hand truck; each read/write head was the size of a cigarette pack. When I moved to the LaserJet world in ’96, cutting edge was a head which was 3.5mm by 5mm, and “flew” at an altitude of 3 microinches. 8.7GB took 10 platters (20 surfaces). Six months ago I bought a new laptop HD: 2.5 inch, 325GB, using only two platters.
Ah, progrress!
Ain’t it amazin’? There’s (or was) a little blockhouse at OU which allegedly you weren’t even to drive past with a magnet in your car…and my laptop now probably has more computing power than the whole contents of that building.
I still find it hard to grapple with the idea that my phone is a fully fledged computer. I mean I have no problems using it and intellectually I know what it is but when I hear about people running debuggers on it, replacing the kernel modifying the file system.. it just feels weird. To me a phone feels like it should be complicated but essentially dumb hardware. Instead we have something that fits in my shirt pocket and is a 100% bona-fide computer? A device that not only can be programmed but one that actually runs programs.
That’s just weird :-/
There were small computers even back in those days. I remember with very great fondness the HP29C that I bought in 1977.
http://www.hpmuseum.org/3qs/29c3q.jpg
It was a programmable calculator with 30 memory registers, up to 98 program steps, loops, subroutines, indirect addressing, and a host of other features. Each program had to be manually entered step by step. It came with a booklet of hundreds of pre-written programs, and of course you could write your own. You could play games like Moonlander on it!
I still prefer RPN calculators to this day, and I have a couple of HP calculator simulators on my computer.
Ah yes, RPN. I spent a few weeks getting to grips with that many aeons ago when trying to learn Forth. I think I was trying to learn it because there was a games development platform that used it. I gave up on it though and switched to – of all things – BCPL. Little did I know that I would end up building a career on its famous cousin ‘C’ (sired from ‘B’ which was a cut down version of BCPL).
I wrote an article once for a newsgroup on the genealogy of computer languages. Much like that for species there are distinctive branches. Algol -> Pascal -> Modula 2 is one. BCPL -> B -> C -> C++ another. Then you have Java and C# that are sort of hybrids combining C++ syntax with Pascal high level operations.
I wish I had a copy of that article but I think it’s lost in the mists of time.
Heavens! RPN and Forth! I played with Forth for a while.
Ooooh RPN! You lucky people are all speaking of it in the past tense. I still have data dictionaries full of calculated columns that are simply a series of defined operations on data fields using RPN. One of the uglier examples would be “F;6;C;=;9;*;6;+;P;C0;=;10;*;+;9;C;=;10;*;9;+;_;-;P;C0;<;*;C1;=". Say What? Our original system architect was madly in love with these gems. LOL
Don’t forget the old tape drives, and cabinets filled with reels of tape. In the early 80’s I was working for a firm of actuaries. They had an HP mini computer, and the data files we worked with were kept on large reels of tape. A client would send in their data, and you would go into the special air-conditioned room with removable floor panels where the computer was, and thread the tape on the drive like this:
http://www.tvfilmprops.co.uk/userdata/PRODPIC-566.jpg
It would be processed by a FORTRAN program, and sometimes it would be left to run overnight.
Oh I hate tape drives. Back when I was in data recovery they were dealt with by a separate team. Unfortunately I still had to write the software for them and what a palaver that was. Disks are simple – you ask for data and you usually get it. If there’s an error it means the read failed. Tapes though can return an error code that when you ask them for more information turns out to mean ‘I’m getting a bit close to the end of the tape – be careful’. Or you tell them to rewind and they return an error. When you ask them to explain that the response is ‘I’ve reached BOT’ (Beginning Of Tape).
Or the oh-so-wonderful error ‘current position uncertain’. Translates into ‘I got you some data but I’ve no idea if it’s the right data’ :-/
My own experience with ‘bare metal’ i/o was the converse of yours. I found tape drives to be a lot simpler to talk to than disk drives. At least, with tape I did not have to worry about cylinder and head addressing.
Speaking of data recovery, we once had a pallet of tapes dropped into the harbor as they were being unloaded from the ship. If you really need the data, the recovery is to keep those tapes wet and to read them wet. The data was worth more than the sacrificial tape drive; so, that’s what we did.
Tapes generally were worth more than disk drives – people tend to only archive what they value whereas disk drive failure often only upsets your working week. CHS addressing could be inconvenient but the trick was to multiply it out to ‘flatten’ it. That meant most of your code could just use block numbers and you just needed two functions to provide the conversion. The big change that IDE drives introduced was that the drive did that itself anyway. You could still talk to them in CHS if you wanted but they ‘faked’ the geometry.
These days OSes just use block numbers and CHS is a thing of the past. With modern drives there’s no fixed connection between block number and CHS. In fact drives have differing sectors per track depending on how far out from the hub the track is. Then there’s bad sector remapping where the drive silently redirects a sector to a spare. It’s clever technology but woe betide you if the drive loses it’s mapping tables :-/
The worst recovery I remember was when a factory got flooded out. I think it was a job that came to us from Norway. Anyway the flooding was basically whatever came back out of the drains. That meant we had to kit engineers out with biohazard suits and the smell from the storage room was nasty. Another difference between tape and disk though is that disks just won’t spin if the platters are wet. That meant they had to be washed and carefully cleaned.