Kermit Alive and Well on the Space Station
An Ominous Cow Erred writes "Spacedaily.com reports on the use of the fantastic Kermit "program" being used to communicate with devices on the international space station. While the article's author doesn't seem to have a quite perfect grasp on what Kermit is (and effuses about how Kermit is being used to help war-torn Bosnia and advance AIDS research) it brought a smile to my face to imagine the old protocol from my BBS days (which was scorned in favor of Zmodem) being used on the greatest technological achievement of humankind."
Kermit Alive and Well on the Space Station
This place is starting to sound like the Weekly World News.
"Archie disappears, Veronica suspect! Gopher dug the hole far aWAIS!"
Trolling is a art,
After Kermit 95, there probably will be Kermit 98, followed by Kermit NT, Kermit ME, Kermit 2000, and finally Kermit XP.
But somehow, I can't imagine Kermit Longhorn as a species... :-)
Seriously, it definitely was (is?) a great program, especially when communicating between less common platforms. It saved my day more than once when I needed to transfer files between the VAX and Amiga, both quite ancient, and without ethernet hardware on Amiga. Many thanks to the creators!
Alex
Kermit is an extensible file transfer protocol first developed at Columbia University in New York City in 1981 for transferring text and binary files without errors between diverse types of computers over potentially hostile communication links, and it is a suite of communications software programs from the Kermit Project at Columbia University. The Kermit protocol and software are named after Kermit the Frog, star of the television series, The Muppet Show; the name Kermit is used by permission of Henson Associates, Inc.
Over the years, the Kermit Project has grown into a worldwide cooperative nonprofit software development effort, headquartered at and coordinated from Columbia University. The Kermit Project is dedicated to production of cross-platform, long-lasting, standards-conformant, interoperable communications software, and is actively engaged in the standards process.
Since its inception in 1981, the Kermit protocol has developed into a sophisticated and powerful transport-independent tool for file transfer and management, incorporating, among other things:
KERMIT PROTOCOL
The feature that distinguishes Kermit protocol from most others is its wide range of settings to allow adaptation to any kind of connection between any two kinds of computers. Most other protocols are designed to work only on certain kinds or qualities of connections, and/or between certain kinds of computers, and therefore work poorly (or not at all) elsewhere and offer few if any methods to adapt to unplanned-for situations. Kermit, on the other hand, allows you to achieve successful file transfer and the highest possible performance on any given connection.
Unlike FTP or X-, Y-, and ZMODEM (the other protocols with which Kermit is most often compared) Kermit protocol does not assume or require:
(although Kermit does not require any of these conditions, it can take advantage of them when they are available). A feature article on Kermit protocol by Tim Kientzle in the February 1996 issue of Dr. Dobb's Journal noted that "Kermit's windowing approach is faster than protocols such as XModem and YModem . . . What many people don't realize is that under less-than-ideal conditions, Kermit's windowing approach is significantly faster than ZModem, a protocol with a well-deserved reputation for fast transfers over good-quality lines."
Thus Kermit transfers work "out of the box" almost every time.
Kermit's downfall was the defaults with which it shipped. People (myself included) switched to zmodem simply because by default it gave faster transfer speeds. Yes, by messing around with window sizes, you could get just similar performance out of kermit. But no one could be bothered when zmodem "just worked". To be fair, kermit had a different set of design goals, which probably influenced the default settings. But IMHO they should have shipped kermit with default settings optimized for the common case, rather than for older, slower connections. Oh, and not being fully open source really didn't help its cause, either...
"The invisible and the non-existent look very much alike." -- Delos B. McKown
rz\r
rz\r
rz\r
man screw this
^Z^Z^Z^Z^Z^Z^Z^Z
dsgkh$#@^%@26 3421lj __ 34 NO CARRIER
REM Old programmers don't die. They just GOSUB without RETURN.
Man:It's a flyswatter!
Woman:It's a spatula!
Man:It's a flyswatter!
Woman:It's a spatula!
Man:It's a flyswatter!
Woman:It's a spatula!
Announcer:Wait! You're both right!
All's true that is mistrusted
Kermit, it wasn't fast, but I swear that protocol could almost talk through mud. I used it through terminal servers, over X.25, over DECNET, over a freaking IBM 7171 converter (anyone else remember these monsters?). I even used it to stress test a Sun to DECNET comm program (keep signing on back and forth between a and b back to a back to b back to a), and then doing a kermit file transfer. Easy way to simulate 40 people using the system simultanously. But a friend of mine has me beat, IP over kermit over a satellite bounce from the south poll.
Kermit is dead. Zmodem is dead. The argument died ten years ago! Get over it!
It's not pinin', it's passed on! This protocol is no more! It has ceased to be! It's expired and gone to meet its maker! It's a stiff! Bereft of value, it rests in peace! If you hadn't nailed it to the Space Station it'd be pushing up the daisies! Its CPU usage is now zero! It's off the box! It's kicked the bucket, it's shuffled off its mortal coil, run down the curtain and joined the bleedin' choir invisibile!!
THIS IS AN EX-PROTOCOL!!
Sheesh, if you want an argument to die around here, you've got to complain 'til you're blue in the face.
John
That's true. The purpose of ZMODEM is to transfer data as fast as possible, on a fairly modern system with clean phone lines, plentiful memory for buffering, and fast I/O that doesn't block. On a modern system, ZMODEM is the best character-based protocol out there (there were a few that were more advanced or had special purposes, like BiModem, but they are irrelevant now that everything now uses packet-based data and TCP/IP).
:)
The purpose of Kermit is to be 100% compatible with pretty much every piece of technology, going all the way back to the earliest mainframe computers!
Different character set (ASCII, EBCDIC, UTF-8, etc.)? Kermit will translate the data as it is transferred.
Strange record length requirement (data must be transferred in units of 80 bytes or so, and can't be addressed as individual characters)? This was common on mainframes. Kermit will pad data as required to make this work.
Limited I/O that can't use the comm port and storage device at the same time? This was common on old DOS PC comm programs that could not multitask. Kermit will delay as needed in order to let data be stored before continuing with the communications, and synchronize this with the other side so that data is not lost.
Noisy phone line? Kermit will do complete error correction, without stalling or aborting the transfer (as ZMODEM was known to do).
Low memory for buffering? Kermit will do handshaking to ensure that the other side doesn't send data until the current data has been fully processed, minimizing the need for memory to buffer data.
Alien directory structure (VAX, etc.)? Kermit includes a mini-OS that can be used interactively to browse directories and initiate file transfers, and it abstracts the local storage conventions of the system's OS into a simple hierarchy that is the lowest common denominator. As an example of what this means, have you ever done a "ftp" into an old DOS system, and found yourself unable to change drive letters, because FTP (being a UNIX-based program) has no concept of drive letters? Kermit to the rescue here.
Now that computers and protocols are beginning to become standardized, thanks in part to the popularity of the Internet, the need for Kermit is fading. Still, it's good to read about interesting uses of Kermit such as this. Kermit joins the old DOS shareware program "Compushow" as having The Right Stuff....
Dr. Demento On The 'Net!
You just made a great case for Kermit, but I feel it needs a bit of a summary:
in space, reliability is key
Often triply redundant systems are deployed, and their life expectancy is STILL 5-10 years at best.
>> Do you know what happens to a frog when it's
>> exposed to the cold vaccuum of outer space?
This happens.