What is this mysterious protocol? Who uses it and what is its story?
This story is a winding one, beginning in 1981. Kermit is, to the best of my knowledge, the oldest actively-maintained software package with an original developer still participating. It is also a scripting language, an Internet server, a (scriptable!) SSH client, and a file transfer protocol.
And my first use of it was talking to my HP-48GX calculator over a 9600bps serial link. Yes, that calculator had a Kermit server built in.
But let’s back up and talk about serial ports and Modems.
Serial Ports and Modems
In my piece The PC & Internet Revolution in Rural America, I recently talked about getting a modem – what an excitement it was to get one! I realize that many people today have never used a serial line or a modem, so let’s briefly discuss.
Before Ethernet and Wifi took off in a big way, in the 1990s-2000s, two computers would talk to each other over a serial line and a modem. By modern standards, these were slow; 300bps was a common early speed. They also (at least in the beginning) had no kind of error checking. Characters could be dropped or changed. Sometimes even those speeds were faster than the receiving device could handle. Some serial links were 7-bit, and wouldn’t even pass all 7-bit characters; for instance, sending a Ctrl-S could lock up a remote until you sent Ctrl-Q.
And computers back in the 1970s and 1980s weren’t as uniform as they are now. They used different character sets, different line endings, and even had different notions of what a file is. Today’s notion of a file as whatever set of binary bytes an application wants it to be was by no means universal; some systems treated a file as a set of fixed-length records, for instance.
So there were a lot of challenges in reliably moving files between systems. Kermit was introduced to reliably move files between systems using serial lines, automatically working around the varieties of serial lines, detecting errors and retransmitting, managing transmit speeds, and adapting between architectures as appropriate. Quite a task! And perhaps this explains why it was supported on a calculator with a primitive CPU by today’s standards.
Serial communication, by the way, is still commonplace, though now it isn’t prominent in everyone’s home PC setup. It’s used a lot in industrial equipment, avionics, embedded systems, and so forth.
The key point about serial lines is that they aren’t inherently multiplexed or packetized. Whereas an Ethernet network is designed to let many dozens of applications use it at once, a serial line typically runs only one (unless it is something like PPP, which is designed to do multiplexing over the serial line).
So it become useful to be able to both log in to a machine and transfer files with it. That is, incidentally, still useful today.
Kermit and XModem/ZModem
I wondered: why did we end up with two diverging sets of protocols, created at about the same time? The Kermit website has the answer: essentially, BBSs could assume 8-bit clean connections, so XModem and ZModem had much less complexity to worry about. Kermit, on the other hand, was highly flexible. Although ZModem came out a few years before Kermit had its performance optimizations, by about 1993 Kermit was on par or faster than ZModem.
Beyond serial ports
As LANs and the Internet came to be popular, people started to use telnet (and later ssh) to connect to remote systems, rather than serial lines and modems. FTP was an early way to transfer files across the Internet, but it had its challenges. Kermit added telnet support, as well as later support for ssh (as a wrapper around the ssh command you already know). Now you could easily log in to a machine and exchange files with it without missing a beat.
And so it was that the Internet Kermit Service Daemon (IKSD) came into existence. It allows a person to set up a Kermit server, which can authenticate against local accounts or present anonymous access akin to FTP.
And so I established the quux.org Kermit Server, which runs the Unix IKSD (part of the Debian ckermit package).
Trying Out the quux.org Kermit Server
There are more instructions on the quux.org Kermit Server page! You can connect to it using either telnet or the kermit program. I won’t duplicate all of the information here, but here’s what it looks like to connect:
$ kermitC-Kermit 10.0 Beta.08, 15 Dec 2022, for Linux+SSL (64-bit) Copyright (C) 1985, 2022, Trustees of Columbia University in the City of New York. Open Source 3-clause BSD license since 2011.Type ? or HELP for help.(/tmp/t/) C-Kermit>iksd /user:anonymous kermit.quux.org DNS Lookup... Trying 135.148.101.37... Reverse DNS Lookup... (OK)Connecting to host glockenspiel.complete.org:1649 Escape character: Ctrl-\ (ASCII 28, FS): enabledType the escape character followed by C to get back,or followed by ? to see other options.---------------------------------------------------- >>> Welcome to the Internet Kermit Service at kermit.quux.org <<<To log in, use 'anonymous' as the username, and any non-empty passwordInternet Kermit Service ready at Fri Aug 4 16:32:17 2023C-Kermit 10.0 Beta.08, 15 Dec 2022kermitEnter e-mail address as Password: [redacted]Anonymous login.You are now connected to the quux kermit server.Try commands like HELP, cd gopher, dir, and the like. Use INTROfor a nice introduction.(~/) IKSD>You can even recursively download the entire Kermit mirror: over 1GB of files!
Conclusions
So, have fun. Enjoy this experience from the 1980s.
And note that Kermit also makes a better ssh client than ssh in a lot of ways; see ideas on my Kermit page.
https://changelog.complete.org/archives/10555-try-the-last-internet-kermit-server
One of my first professional illustrations, a long time ago.
#mastoart #manga #anime #bd #illustration #art #game #conceptart #solarpunk #jonjuarez #mastodon #fediverse #harriorrihar
I kinda want to write a blog post about my favorite research paper.
The paper is authored by Rebecca Lawson: https://www.liverpool.ac.uk/~rlawson/rebecca.html
The paper itself is called "The science of cycology: Failures to understand how everyday objects work." : https://www.liverpool.ac.uk/%7Erlawson/PDF_Files/L-M&C-2006.pdf
The whole paper is amazing, but a paraphrase of Experiment 3 is: people don't understand things, and don't understand that they don't understand, even when presented with evidence that they don't understand.
Go read this paper!
For perspective, Trump put Reality Winner in prison for five years for releasing a single document that showed Russians interfered with the 2016 elections in his favor.
#TodayInMushrooms
Are these something that I thought had failed to take? Are these some random Garden mushrooms?
Found 3 mushrooms that I don't remember inoculating this pot with, growing some potatoes and some beans. But may well be from a reuse substrate that I thought had failed.
Could they be fried chicken mushrooms? Pretty sure milky mushrooms would not have overwintered. Not going to eat them and find out!
Spore print coming up in a couple of hours.
Not doors, not windows, just slivers of perception. Via AbstruseGoose. https://abstrusegoose.com/421
Some of our #RuralBroadband customers think the more external antennas the routers have, the better they are. I'm thinking of ordering hundreds of small plastic sticks, for a few cents each, buying dozens of cheapest WiFi routers and super glue, gluing them together and selling them with a huge markup.
Your Brutalist Sandcastle Summer Challenge.
This one built by Calvin Seibert
#sculpture #art #architecture #brutalist #beach
Tomorrow, is tomatoe sauce making day
I am very excited
a fun day of making things, but also a chill day of watching....something slowly become thicker
Living in the #wetlands of #Polesia (also spelled #Polesie) in #EasternPoland. Surrounded by #bogs and #forests, trying not to fuck up surrounding nature too much.
Taking care of a small pack of #dogs – #IdąPsięta.
Luddite working with hi-tech.
#RuralBroadband provider by accident. Starting a small LoRaWAN project to monitor our wetlands. Coding in #Python. Dealing with dirty data, cleaning them when time allows.
#Atheist. I don't *believe* in #science – science is the *only* thing that protects us from belief.
Fuck nazis.
My account on Twitter is still up, for good reasons. https://twitter.com/szescstopni
I check facts before I toot.
I sometimes toot in Polish.
Zdolny, ale leniwy.