I had an online text chat with him on Compuserve back in the 80's; he was surprised anyone knew who he was. Nice guy.
I had an online text chat with him on Compuserve back in the 80's; he was surprised anyone knew who he was. Nice guy.
My first paid programming gig ($20) was implementing the XMODEM checksum in 6502 assembly for a BBS sysop who had bought an early 1200 baud modem, only to find that his Atari BASIC BBS software was computing the checksum so slowly that it still created slowdowns in file transfers and needed a USR() that could compute it faster.
I learned a lot about protocols and algorithms from that exercise (now trivially simple, but wasn't for me at the time).
I really wish this culture could be understood by future generations. Yes, we have the BBS Documentary movie but we need so much more. Everything non-US is underdocumented, and all the subcultures such as the eLiTe scene, the demo scene, the vision impaired stuff, all of that risks being forgotten with time.
Let us stay in touch!
2:206/149 or about in my profile and you’ll find me :)
Yep, it’s one of those names I can’t think of without seeing it emblazoned in green on a black background on my old Apple Monitor III screen.
Many Cisco, Adtran, Juniper etc switches and routers have it in their firmware also.
Finding something online was a journey and it's often the journey that teaches you more than the destination.
I feel like many of us programmers here could do with a blizzard, weeks without work to just build things. If you're like me, so often you're so busy it's hard to ever stop and just build things for fun, for play.
Ward was a first principles thinker. Lately he was very active with Blinkies, helping folks learn to solder and make their own electronics.
There were attempts to address this. Networked forums became available, and there was PC Pursuit, an effort by Telenet to sell off-peak capacity on their X.25 network to people wanting to call faraway BBSes. A user could dial in to a local access number, then use their network to dial out to a remote system, provided their network could dial it from a nearby modem pool.
https://www.page6.org/archive/issue_11/page_24.htm
One of the annoying things is that the most convenient way to encode a short machine code subroutine was in a BASIC string. But BASIC strings are not loaded in a predictable location in RAM, so any code intended to be encoded in a BASIC string has to be relocatable (using only relative branches/jumps). That's not an issue for a simple XMODEM checksum calculation, of course.
RIP Ward.
What are some websites that host the text files, ansi art, and computer programs from old school BBS systems? I would really love to be able to mirror that with wget and explore it in emacs.
Edit: http://www.textfiles.com/directory.html looks good.
Its author/developer/maintainer was blind. You can imagine how well it worked with screen readers and other accessible technology (which was primitive at the time, and yet somehow better than it is today).
Text on a terminal is much better suited to accessibility technologies, whether readers or braille terminals. BBSes were all about text on terminals, and it was a place where folks who used accessibility tools could choose whether to identify themselves as someone who needed it... and most of the time if they chose not to make it known, none of the other users had any idea.
"You are your own words" is a BBS-ism. For people who are in the deaf community or who used tools because of their sight, being able to be known primarily by their words and not by the way that they used them was absolutely incredible.
(edit: typo)
I want to see a documentary of this in the style of alternating scenes of a) narration over still photos and b) contemporary music alongside silent video of the people behind this community.
Maybe HN should carry a black banner today.
Recently, I've been playing with MMBasic (for E32s and RPi2040s) and a question about XMODEM and YMODEM came up on their online forum. Ward responded immediately to my inquiry, and gave me the exact information I needed.
Very nice guy.
I picked Kermit this time because I didn't want to implement x/y/z modem again and had never used Kermit.
This [1] claims Kermit is faster in some instances depending on what features you have enabled.
Back in the days before boot ROMs were standard computer hardware, you had to use the toggle switches on the front of a computer to enter programs and data, even if you had a tape or disk drive.
Usually, this involved reading a page containing the bootstrap program, and toggling it into the computer. This process was repetitive, and error prone, because you're moving your attention back and forth, and can easily lose your place.
Ward solved this problem by recording himself reading the the boot loader to audio cassette tape. He could then hit play, and enter the data given to him by his recorded self, and focus only on the switches. ;-)
--
The origin of ReSource
Once upon a time, Ward had written a program, and some time later, needed to modify it, but found he had lost the source. He wrote a new program called resource, one of the first reverse assemblers.
--
Ward once entered a "shortest useful program" contest in the days of CP/M. Here is his entire entry, in Octal, as listed on page 6 in [1]
j 1731751
Author: Ward Christensen
Length: 2 bytes
Memory clear.
0000 063 INX SP
0001 307 RST 0
[1] http://vtda.org/docs/computing/AltairUserGroup/AltairUserGro...[0] http://vintagecomputer.net/cisc367/byte%20nov%201978%20compu... (pp 150-157)
[1] https://www.nytimes.com/2019/12/20/technology/randy-suess-de...
The XYZ Modems: https://web.cecs.pdx.edu/~rootd/catdoc/guide/TheGuide_226.ht...
As far as I can recall, it didn't have a sliding window, once protocols, like kermit, added sliding windows the speed jumped a huge amount.
Well worth watching.
They were successor protocols designed and implemented to fix perceived shortcomings in the original one.
1977: https://en.wikipedia.org/wiki/XMODEM
SModem supported simultaneous upload/download and chatting.
RIP to the man that made BBSing a bit faster for my attention-lacking self.
On the Sinclair computers (incredibly popular in the UK, the BASIC was not written by Microsoft) it was in fact possible to predict where the program would be loaded, so a very popular place to store machine code was in a REM statement. This also had the advantage that you could save the machine code by saving the BASIC program.
On the ZX81, the first byte of the payload of a REM statement at the beginning of the program was at address 16514, hence:
RAND USR 16514
was the command to run the machine code. (RAND set the random number seed and was just used as a convenient way to turn the USR function into a BASIC statement. The contents of the BC register were the return value from USR).Was it Telegard? WWIV was originally in Pascal but by the time I got to it, it had been rewritten in C++. Telegard was built off the Pascal version of WWIV (if I'm remembering right). There was another BBS based off WWIV in Pascal, but I don't remember the name.
https://en.wikipedia.org/wiki/Telegard
I started on a Commodore 64 and C-NET BBS then was gifted a PC in late 1990 and WWIV was the closest thing with source code. We had a pretty decent modding community for both C-NET and WWIV. Good times.
For someone like me who grew up in that era, in a small town in a remote country, having access to BBSes was life-changing. It gave me a window to the world that I otherwise wouldn't have had.
RIP Ward; thank you for everything you did.
[1] Recent discussions:
"BBS: The Documentary (2005)" https://news.ycombinator.com/item?id=38746221 (Dec 2023, 185 points, 65 comments)
"Enjoyed Jason Scott’s BBS documentary" https://news.ycombinator.com/item?id=31740247 (Jun 2022, 115 points, 39 comments)
You're probably thinking of Renegade, which lives on at https://renegadebbs.info/
It was not trivial to reconfigure, but if you did, it had very good throughput. And if you had to make an EBCDIC/ASCII translation, it did that well. Kermit always works. That's the point of the protocol. If you want it to be fast, that's up to you. I did not realize this until I met Kermit gurus who taught me.
My goal had been to do a documentary on the BBS Experience, working from interviews with flexible friends and nearby folks, and then work up to the "Big Ones", the names who had been in my teenage mind when I ran a BBS, like Ward Christensen, Chuck Forsberg, Randy Suess, and others. But then I had someone from Chicago checking in to make sure I wasn't going to skip over the important parts the midwest had told in the story. So it was that a month into production, barely nailing down how I would fly post 9/11 with a studio worth of equipment, that I found myself at CACHE (Chicago Area Computer Hobbyist Exchange) and meeting Ward himself.
They say "Never meet your heroes." I think it's more accurate to say "Have the best heroes" or "Be the kind of person a hero would want to meet." Ward was warm, friendly, humble, and very, VERY accomodating to a first-time filmmaker. I appreciated, fundamentally, the boost that he gave me and my work, knowing I was sitting on hours of footage from The Guy.
There were many other The Guy and The Lady and The Groups for BBS: The Documentary, but Ward's humble-ness about his creation and what it did to the world was what made sure I never overhyped or added layers of drama on the work. Ward was amazing and I'll miss him.
https://www.theregister.com/2024/10/15/ward_christensen_obit...
I sure miss those days. First modem was 2400 baud, so I was kind of a late comer.
The Star Trader game was also really ahead of its time.
There was no Google, and I've forgotten about it until just now. But, that makes sense. Thanks.