Wednesday, December 17, 2014

Is This Something?

{tl;dr:  I was given some old BBS session logs and I scanned them.  Link in the third-to-last paragraph.}

People give me things.  I've built reputations in certain circles as everything from hoarder to pack rat to collector to amateur historian and, I hope, someone who cares about history, even if the narrow section of it I ended up fascinated with is understood by few and of interest to even fewer.

So someone gave me something.  It was a few years ago now when I was setting up the purchase of some old computer hardware and, as often happens, there was some "oh and I found this" and "I don't know if you'd be interested but..." and of course, I took it all.

Some pretty good scores in that lot, all now safely occupying their respective positions in the "fix me" queue.  But one item was not from one of the usual hardware, software or manual categories.  An add-on bonus from the one facilitating the sale, presented to me as "old BBS logs."  A name was mentioned but sailed by me, unrecognized.  Well, alright.  There's got to be something interesting in there - what did people spend valuable dot-matrix ink and paper on back then? Session dumps from some obscure Commodore board, nostalgia-triggering sign-on screens, maybe even some G-files that haven't been seen by human eyes since the 80s?

It was none of those.

I accepted a large blue binder of form-feed dot-matrix printouts at VCFMW two years ago, collected some months earlier and passed to me for its owner by a friend in town for the show.  It was stowed away, unexamined, in the same boxes as the hardware takings it accompanied and...forgotten.  Fast-forward to last November during one of many box-shiftings and re-stackings in the new home.  Always re-optimizing, real-world defrag, to make just a bit more space and hold collapse at bay.  The binder emerges and is opened for the first time.

Ohh....

I think this is something.  To Google, then.

8BBS was an early bulletin board system, running custom software (also called "8BBS") written by two DEC employees in the Bay Area ("Silicon Valley") near San Francisco.  It ran on a DEC PDP-8/e minicomputer with 32K of core memory and a pair of RK05J (1.5MB) removable disk packs for storage.  The software was written in PAL-8 assembly and BASIC and ran under OS/8.  Dial-up access was initially provided by a 300-baud modem, with a 1200-baud upgrade coming later.   Some say that that modem would prove to be the board's undoing.

The BBS scene was in its infancy in 1980; it had been barely two years since CBBS went online, right here in my area.  Disk space wasn't cheap and people were people, then as now, so most boards had some sort of moderation policy to keep things in line.  Not so with 8BBS: the system's founders chose a "zero censorship" approach to moderation, not just in the name of free speech but for the sake of convenience - it takes work to moderate.  So when "anything goes," everything often does, and the 8BBS message base was quickly buzzing with traffic from a number of talented hackers, phreaks and other elements of the "computer underground," some of whom we may recognize today.  More on those names later.

8BBS ran for about two years until the system became an early target of law enforcement's growing awareness of computer crime.  The 1200-baud modem "upgrade" the sysops received was purchased with a stolen credit card by a third party, providing the grounds for a raid and confiscation of the BBS hardware and storage media.  When the equipment was finally returned by the local police department, the disk packs had been damaged.  That was the end of 8BBS.

The 8BBS software used a simple sequential numbering system for messages.  The first post was Message 1 and all subsequent posts, public or private, were assigned numbers from the same sequence.  If a number was missing from public posts, it could be assumed that that message was an "RP," or private message to another user.  Public message number 6930 was posted on March 5th, 1981 by a user named Steve Kudlak.  Message 9975 was posted on Jun 28th, 1981 by a John Wood.

Those messages, and all public messages between them, were on the print-outs in the blue binder.


This is the point where some (most) will perhaps raise an eyebrow or nod respectfully, saying "huh, kinda cool I guess."   It's OK - I'm intrigued by some fairly obscure topics and I've accepted it.  But there had to be someone else out there with whom I could share the thrill of this discovery.  And equally important, the question always asked when one has acquired a rare document of any kind, "is it already out there?"  I was prepared to be satisfied with having an interesting original of unknown provenance, should I consult Google and find The Complete 8BBS Collection neatly scanned and indexed alongside Phrack and old 2600s.  But I found no sign of it.

I had just begun reading Phil Lapsley's excellent history of phone phreaking, Exploding the Phone, so his name was fresh in my mind.  I found his contact email and dropped him a note, sharing my discovery with the hope that he may be able to tell me more.  Phil had not seen the messages in my binder but he did know of another stack of 8BBS printouts that he was given by the journalists John Markoff and Katie Hafner after they had completed their book Cyberpunk, which drew on the logs to tell the story of early 1980s hackers, many of whom used 8BBS to communicate.  Within days he had located, scanned and sent the logs to me.  Although his printouts skipped around quite a bit, they contained Message number 2, giving a rundown of the board's hardware and Message number 3, which appears to have been periodically updated with the 8BBS software revisions.  Remarkably, the final message of the main lot was number 6931, an almost perfect match to my set's starting message of 6930.

Neither Phil or I knew where our sets originally came from but the shape of these two pieces do suggest that they came from the same puzzle.  Phil's set includes session dumps with logins and the composing of messages by the user Roscoe Dupran, a pseudonym of someone whose real identity is known.  Perhaps he's out there somewhere and can help...?

There actually are some 8BBS messages posted online, although only a few.  They were found here at a site belonging to Curtis Spangler, whose name also appears in the printouts I have.  Some messages are also found in Phil's collection and some are unique.

If you've read this far, you deserve some sort of pay-off.  I have scanned all of the print-outs I was given, cleaned them up to give OCR a fighting chance of making sense of them and compiled all the 8BBS messages available - Phil Lapsley's scans, my scans and the Flying Snail messages - into one PDF file here.  The OCR was, unsurprisingly, given the dot-matrix print and rough life some of the pages have had, not all that accurate.  There is other software out there besides Acrobat, I know, and others are invited to improve upon my results with their favorite tools and techniques.

The collection totals 600 pages, some of which contain multiple messages while some messages span multiple pages.  I have used the PDF format's bookmarking to delineate the three sources of the scans.  At some point I hope to add message numbers to the bookmarks but that will be quite a job.  Exporting the OCR'd (and corrected) text to an interactive web page is another idea.  Sometime sooner I intend to create a list of user names found in the archive and some research on those I find notable.  There are quite a few that stand out.  Whose do you recognize?  Maybe even your own?

It is my hope that those interested in BBS and hacker history, as well as the culture of vintage computing in general, will benefit from reading these messages.  I think they provide a fascinating - and intriguingly cryptic - look at a world and time when the number of private "online" users could be counted in the hundreds and the budding "elite" numbered in the low double-digits.  It's a time, place and set of conditions we'll never see again and I'm honored to help tell the tale.  Enjoy.

Many thanks to Phil Lapsley, Katie Hafner and John Markoff for their assistance and advice and just answering their email from a random Internet crank.

Monday, July 7, 2014

Sun-1 Board Inventory

Thanks to some very helpful people who have encountered these beasts before, I have learned much about the Sun-1 era chassis I wrote about in the last post.  And yet, there is much to be learned.  I will be posting all I know when I think I have learned all there is to know.  In the meantime, I have inventoried the Multibus cards in the chassis and have charted them here and uploaded detailed photos here.

Most of the part numbers check out against other Sun-1 and Sun-2 examples found online.  The Xylogics board looks a little different than the ones I found but it may just be an earlier revision (it is marked as "Rev A.")  The 3COM Multibus Ethernet board is marked only "Assy 0111-01" but, comparing it to the examples found, should be a 3C400.

While the CPU board is definitely a Sun-2, I don't know which specific board it is, other than its part number of 270-1007-04 (also known as 500-1007-05.)  It is probably an upgrade from an original Sun-1 CPU board but it is possible that the machine was configured as a -2 (making it a 150U, in Sun terms) at the factory.  However the number plate calls the model "RM-CC" (Rack Mount Card Cage,) not 150 or 150U.  It has an early serial number, so it is possible that the naming paradigm wasn't established at that point.  No one knows for sure what went on back then.

The last card, in slot 15, I am unable to positively identify.  It is an early Sun monochrome card but I can find no part number on it or match it to any photos of the other Sun mono cards of that time.

Sunday, June 15, 2014

Leads: Always Follow Them

So I was dragging my feet, pushing things to the back burner and off the stove, getting-around-sometime to replying to an ad on Craigslist for some old UNIX posters.  I eventually made the trip into the city and retrieved them.  They will be photographed and scanned and hopefully reconstructed for sharing online.  Another back-burner project for now.

As it often goes during a rescue run, one arrives at the topic of one's hobbies and the house full of crap one has and why sure I'd be interested in just one more item.  In this instance a relic was mentioned and the nervous chatter went in other directions and thank you for preserving history and I rushed the posters through the rain and into the ccmp-mobile for the slow highway journey home.

Later that night...I thought again about what I had heard.  Huh, well yes that is interesting but I don't recall where it was now, or with whom.  A thank-you email was drafted for the posters and oh yes, about that other thing...

The reply came quickly and I was informed that indeed, it needed a new home and soon.  So another journey began and another nervous, tangential conversation and the car is packed again and heading home.  Friends are called to help unload and examine the contents.  Research begins, photos taken.  And we arrive here, at the blog posting and photo gallery and hey look what I got:


Not much to look at but it's a Sun-1/150, or was.  The first (or second?  Was the 1/100 first?) product from Sun Microsystems, circa 1982.  There is much investigation to be done yet.  I was told that it, like nearly all Sun-1 series machines, was upgraded with a Sun-2 CPU board, making it a Sun-1/150U, in their nomenclature.  However, the ID plate shows this instead:



The model appears to be "RM-CC" but I can't turn up anything with those letters.  It could be a new badge applied after the refurb/upgrade or it could be an early model name, used before "1/150."  The serial number suggests it is an early production model but I have no idea how many Sun-1 machines were made or if the 1/100 desktop and 1/150 rack system shared serial numbering or not.

Also included (and viewable in the main picture gallery) were the Sun Workstation CRT, the Sun-1 keyboard and mouse and a Fujitsu M2284K 160MB SMD hard drive.  That would be the dead weight at the bottom of the rack with the cool transparent case.

The system was originally sold to the University of Chicago, who were an early, if not the first, purchasers of Sun computers.  Maybe it's one of these?

Oh yeah, and there was also a PDP 11/34 and RK05 drive (and NIB pack) in the deal.  Not bad for an afterthought.

So far, the CRT appears to be non-op.  It hums a bit and there is static present on the CRT glass (as in crackling when you touch it) but I see no light from it.  The Sun-1 powers on and the CPU board displays a pattern on its status LEDs.  I pulled out the color card, thinking it may re-enable the mono video on the CPU board but either that did not happen or the monitor is indeed dead.  I will haul out a serial term and a color monitor with correct BNC adapter (R/G/B/Sync) soon and test again.

I'll do another post when I have the cards inventoried and, with luck, some more in on this guy's origins.

Monday, March 24, 2014

And Some More Slides

This batch is not nearly as interesting as the last.  Some time ago I acquired a box of random DEC slides.  They were stowed away and forgotten until I dragged out my slide scanner for that last job.  The scanner hadn't left my desk yet so I figured I'd take care of these, too.

They appear to be schematics, tables and diagrams meant to accompany some sort of training text.  I scanned them in the order I found them, which is surely not the order in which they were meant to be presented.  I took note of the handwritten text on each:

01 Intercon: DMA Application Bus Interface Cs
002 Fig 30 Sh1: DMA Application Misc Logic Cs
003 Fig 30 Sh2: DMA Application Misc Logic Cs
004 Fig 29 Sh2: DMA Application Misc I/O Logic Cs
005 Fig 29 DMA Application DC010 Logic Cs
006 Fig 30 DMA Application Misc Logic Cs
007 Tbl 12 DMA Application CSR Definition
008 Fig 31 DMA Application CSR Format
009 Fig 27 DMA Application Device Selection Format
010 Fig 28 DMA Application Interrupt Vector
011 Fig 3 8640 
012 Fig 15 DC006 
013 Fig 14 DC006 
014 DC005 Pins 
015 DC004 
016 Fig 6 DC003 
017 Fig 4 
018 Intcon ?
019 Fig 29 sh 2
020 Fig 29
021 Fig 30 sh 1
022 Fig 30 sh 2
023 Fig 30
024 Fig 27
025 Fig 28
026 Table 12
027 Interconnect
028 Fig 31
029 DC002
030 DC010 Simplified Logic Diagram
031 DC004 Simplified Logic Diagram
032 DC004 Logical Invertor Table
033 DC005 Simplified Logic Diagram
034 DC003 Simplified Logic Diagram
035 DC006 Block Diagram
036 DC006 Simplified
037 8641 Transceiver
038 8640 8881 Chips

Saturday, February 15, 2014

Recovered Some Slides

I recently had the good fortune to attend a local estate sale which featured a great deal of telephone, switching and computer equipment.  Although I was two days late for the "good stuff," I did come away with quite a few interesting items.  Among these was a small box of slides:



When I spotted the box amongst a pile of scattered papers, I inspected one or two, saw telephones and naturally added them to the pile.

I've had a couple slide scanners for a few years now and have never had any slides to try in them.  The more useful-looking one is a Pacific Image PF3600 Pro with USB (1.1!) and Firewire interfaces.  Scanning one slide at a time at 3600 dpi was a bit (very) tedious but spread out over a few nights while watching YouTube videos it wasn't so bad.  I scanned them to uncompressed TIFs (5124 x 3420, about 102mb each) and reduced them to 2000 x 1394 JPGs before uploading.  If anyone has a need for an original TIF file, let me know.

They were all very dirty so each slide was cleaned with a microfiber cloth before scanning.  The images are far from perfect but it seems to have taken care of most of the dust particles and other debris.

The slide images look like they may have been used for advertising, training and other documentation.  There is no context to any of them but a few are bound to be interesting to Bell fans.  Classic Computing hobbyists will also enjoy the Silent 700 terminal, with acoustic coupler engaged.

So here, presented in the order I grabbed them from the box, are 39 slides of Bell System, Western Electric and AT&T images.

Wednesday, January 29, 2014

A Script For When Your Duplexing Scanner is Broken

I do a lot of scanning.  I've got a whole lot more to do.   Efficiency is getting to be important.  Starting years ago with a cheap flatbed and not a lot of disk (when my scans were terrible,) I've come some distance, owning a few decent scanners with high-speed ADFs and duplexing ability.  But there's a thing about duplexers - they're often broken.  Not just offline, unusable, smoking and shooting gears all over, but subtly broken in ways you won't discover until page 305 of the last existing copy of your document resembles a toilet paper roll after the cat's been at it.  Or they just jam.  Psuedo-jam, showing no apparent problem with the paper or the rollers or the little gnomes inside that flip the paper over.  They're just feeling moody and have decided that tonight, you're better off with NetFlix and the cat.

So you write that feature off - the ADF still works in simplex mode, right?  Usually they do.  So you scan one side of your stack and then the other side.  If you're using a directly-connected scanner and a program like Acrobat, you've got the benefit of a duplexing mode that will take care of collating and ordering the pages to mirror the original document.  If you're scanning directly to a stack of image files, either because you're using a network scanner that can only do that, you want to massage the images before sticking them into Acrobat or you're just using a different set of tools altogether, you'll need to rename the two sets of files ("front" and "back," aka "odd" and "even") into one sequential set to feed in proper order into your favorite PDF-maker.

That's where I was tonight, so I've written a VBscript to do the job.  IrfanView has a batch mode which will do this but I found setup too tedious and too easy (for me) to make mistakes.  This problem has surely been solved many times over but my google searches for extant examples were in vain tonight (mainly hindered by the number of "(web)page scanning scripts" out there.)  I make no claims at any talent for scripting, whether in VBscript or any other tongue, but I've got something that does the job.  If you can use it - or better yet, modify it for your needs - have at it:

' scanfix.vbs
' 01/28/2014 chiclassiccomp.org
' Takes two sets of image files scanned as front and back pages and arranges them in order for import into Acrobat
' Assume that the back pages were scanned in reverse order (flipping over the stack without re-ordering)
' Instructions: create three directories "odd," "even" and "final."  Put odd (front) and even (back) pages in appropriate directory.
' Output is copied to "final."  Files are assumed to be using the TIF extension.  Change the two "oname = " lines if you're using a different extension.

Set objFSO = CreateObject("Scripting.FileSystemObject")
OddFolder = "odd"
EvenFolder = "even"
FinalFolder = "final"
ocount = 0
ecount = 0

' Count odd files
Set objFolder = objFSO.GetFolder(OddFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
    ocount=ocount+1
Next
wscript.Echo "There are " & ocount & " odd files"

' Count even files
Set objFolder = objFSO.GetFolder(EvenFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
    ecount=ecount+1
Next
wscript.Echo "There are " & ecount & " even files"

' Make sure they match
if ocount = ecount then
    wscript.Echo "File counts match.  Proceeding with copy and rename..."
else
    wscript.Echo "File counts don't match!"
    wscript.quit
end if

' Copy odd files to final dir and rename them properly
set objFolder = objFSO.GetFolder(OddFolder)
set colFiles = objFolder.Files
set filesys=CreateObject("Scripting.FilesystemObject")
fcount=1
For Each objFile in colFiles
    oname = "final\final" & fcount & ".tif"
    filesys.copyfile objfile,oname
'    wscript.echo objfile & " " & oname
    fcount = fcount + 2
Next

' Copy even files to final dir and rename them properly
set objFolder = objFSO.GetFolder(EvenFolder)
set colFiles = objFolder.Files
set filesys=CreateObject("Scripting.FilesystemObject")
fcount=ocount*2
For Each objFile in colFiles
    oname = "final\final" & fcount & ".tif"
    filesys.copyfile objfile,oname
'    wscript.echo objfile & " " & oname
    fcount = fcount - 2
Next


* Some things I (or you!) may want to add:
   - Padding the final filenames with leading zeroes to ensure proper ordering (so file10 doesn't come before file2, etc.)
   - Checking for the odd/even/final directories and making them if they're not there.  There's no reason for the user to have to do this.