Lentz Software-Development was run by Arjen Lentz between approx. 1990 and 2000, in The Netherlands. Its main products were related to data-communications primarily across public telephone lines using modems. The code contains several innovations and features independent implementations of some common things, aimed at resolving issues users were having on bad and laggy connections - consequently the code performed very well and was used for decades in remote parts of the world, across slow satellite connections, etc. It's great to see software used for good.
Information, binaries, sources and documented are provided here for historical reference and because it contains some pretty good code that can still be used today (the CRC reference being one neat example). Some lessons applied then, and still do now. Basic lessons, for instance about proper protocol design:
Arjen once did up state tables for the Zmodem protocol, based on Chuck Forsberg's protocol description and the sample implementation (rzsz). It turned out that the protocol had some serious problems that could make it hang in a state without making any progress, racking up huge phone charges. Had Chuck (or anyone else) done a state table, they would've spotted this quickly and the procotol could have been fixed.
Arjen then designed a new bidirectional file transfer protocol named Hydra (see below). Its specs were freely available and contain the full state tables. The protocol's initial release did contain a mistake, but within months of publishing a major Dutch corporation invited Arjen for a visit, and kindly explained exactly where they thought the logic went wrong. They were absolutely correct, the problem was quickly fixed. An excellent example of how openness and third-party review makes for better quality.
Fast forward to 2017. If the IEEE had built state tables for 802.11i (WPA2 wifi, from 2004), and just made the specs available from the start rather than trying to use it as a restricted revenue machine, the dreadful security problems published by Mathy Verhoef and Frank Piessens (Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2) would likely not have come out the door before, or have persisted for so long. Their paper does not mince any words and is quite clear on the lack of state tables being a serious contributor to the problem. It's a truly horrendous saga - one that could and should have been avoided.
xeninfo.zip General info, upto-date registration forms, beta application, bug report form, changes log xm198dos.zip Xenia Mailer/Edit 1.98 DOS (Evaluation version) xm198os2.zip Xenia Mailer/Edit 1.98 OS/2 (Evaluation version) xm19804d.zip Update/beta 1.98.04+ DOS (registered users only) xm19804p.zip Update/beta 1.98.04+ OS/2 (registered users only) exe05dos.zip Beta executables 1.98.05+ DOS (registered users only) exe05os2.zip Beta executables 1.98.05+ OS/2 (registered users only) nlidx107.src Full specs/sources/samples of Xenia's nodelist indexing
NOTE: In 2001 the Xenia sources were released under GPLv2:
xenia-mailer-1.99.01-20010520-gpl-agl.zip or Xenia at SourceForge
hcom_108.zip HydraCom 1.08 MS-DOS EXE, setup util, docs hydra001.zip HYDRA protocol specs, rev 001 (01 Dec 1992) hsrc_100.zip HydraCom 1.00 C sources, docs hydrakit.zip The above three archives together hc2_109b.zip HydraCom 1.09b beta for OS/2