Legacy/X BBS design started January 2017, when I decided I was going to run a BBS again. The design was to leverage my CodeRunner product from Modern Pascal Solutions, LLC. CodeRunner is a multithreaded socket server (listens for Internet connections) and has an embedded instance of the Modern Pascal script engine. In short, this meant I only need to focus on the functionality as all communications and threading is handled by CodeRunner.
One of the features of Modern Pascal, is the ability to store variables in memory and run another script. Producing what Turbo Pascal 3.0 had, called CHAIN. Modern Pascal has a Chain object for storing, retrieving, and running. So, I decided, why not make a BBS package, that as I finished part of the workflow (login for example), I could unload that excess code, and load the main menu code for example. This would produce a very small memory foot-print, and allow one computer to support up to 65,000 concurrent users. (We have tested up to 50,000 without problem).
The difference between CHAIN and EXECUTE, is shared memory in the same process, whereas, EXECUTE spawns a new process with new memory references. The interest in using CHAIN was more than just a small foot-print, as a developer, I could test a step in the workflow, make changes, and chain right back to itself and see the changes instantly.
Most of 2017:
Most of 2018:
Early 2019:
November 26th 2019:
November 27th 2019:
December 24th 2019:
January 2020 - February 2020: