Ask HN: How many of you are still using Kermit (the protocol)?

3 points by FerretFred ↗ HN
I recently rediscovered ckermit (last updated 15th December 2021) after 20 years, and have set up a server for fun. I'm curious to know how many of you still use this software?

6 comments

[ 3.2 ms ] story [ 31.6 ms ] thread
Good memories :-) It was my favorite protocol for some time until I discovered Zmodem. Admittedly that was only from an end user perspective at the time though. What kind of project did you have in mind for the server?
Yeah! 20 years ago I was writing a Kermit script that I used to provide data comms for the then startup I'd joined. It worked really well and proved extremely reliable, especially on different platforms. Now I'm running an IKSD server on a Raspberry Pi Zero 2 with ethernet hat and I plan to write some scripts to manage backups.
That's really cool, I will have to read up on the protocol. It's always so fun to hear what people are up to, I hope it turns out awesome.
See https://www.kermitproject.org/ - Columbia Uni closed down the project in 2011 but the project moved to a new web site and Frank Da Cruz is still working on the code! At this rate I may need to start looking for a CP/M-80 computer :)
Last summer I was developing an error correcting protocol for Arduino-to-PC serial communications and did a lot of research into protocols and Kermit was one of them.

I was initially inspired by XMODEM which I remembered fondly but it doesn’t take a lot of thinking to realize XMODEM is a horrible protocol. (E.g. error correction is nowhere near good enough, one char of line noise can abort the transfer, even the 128 byte packet seems a bit big when you have 2k of RAM and also big compared to my desire to something flush a few bytes of data very quickly to the PC.)

Kermit is better in a lot of ways but it is complicated in terms of unrequired capabilities (7 bit transfers) having the implementation fit into a small space and also be done quickly. In principle I want some advanced features like sliding windows, but it has to be tuned up for a very different case…. For Kermit sliding windows hide speed of light latency, for my case I am trying to hide latency in the USB stack, carefully choose a USB-to-serial converter that’s capable of reliable operation, etc.

I would up with a simplified version of HDLC with a modern choice of CRC function and variable packet sizes that top off around 30 bytes. So I was left with the feeling Kermit was a poor shadow of what people were doing on mainframes 15 years earlier which is a feeling we had about 1980s micros all the time I the 1980s.

Hah this sounds pretty close to what I did a few months ago trying to transfer files from my PC to a Win98 machine with only the tops I had.

Except, I started with thinking up my own HDLC-like protocol and ended up using xmodem/Kermit (the 98 machine had a terminal emulator with implementations)