Subj : Re: -64 and -46 option missing in 101 To : Wilfred van Velzen From : Dan Cross Date : Thu Apr 23 2020 07:30 am On 22 Apr 2020 at 07:10p, Wilfred van Velzen pondered and said... Wv> On 2020-04-22 12:54:00, you wrote to me: Wv> DC> Sure. Which part of it? Wv> Wv> Why you don't trust binkd. Ah. It's a lot of code, it's exquisitely complex, and it's written in a weakly-typed, unsafe language. The first time I tried to run it, I ran into a memory corruption issue that had lain dormant for two decades. Another memory-out-of-bounds bug showed up when it was compiled with IPv6 support. A filesystem permissions problem caused an infinite loop with no diagnostic. On my system, it mysteriously crashes *inside the Perl interpreter* when parsing nodelists; I some sort of memory corruption issue in binkd that manifests itself inside the Perl shared object. Finally, I'm not at all sure how resilient it is to avoiding data corruption in the event of failure (either binkd or the system). At that point, I realized I was faced with a decision: do I double down on binkd and attempt to fix it, or do I write my own replacement? The former involves ensuring compatibility with all sorts of legacy environments that I'm neither equipped nor interested in supporting (OS/2 and Win9x with ancient compilers, for example: even if I wanted to support those -- and let me be clear, I do not -- I don't have a development environment for them and while I could set one up, I'm just not interested) and that require workarounds for lacking features available in modern standards. The whole suite has very little in the way of unit-level tests, let alone integration style tests. And how much effort do I really want to put into it, anyway? The other option means I can make a clean break from the past, write in a type- and memory-safe language (I chose Go), write as many tests as I like, and take advantage of built-in support for modern testing practices etc. Further, I'm beholden to no one but myself to maintain compatibility. Since this is all just for fun anyway, I chose that route. --- Mystic BBS v1.12 A46 2020/04/20 (Windows/32) * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (3:770/100) .