Geoff Wozniak is a user on mastodon.club. You can follow them or interact with them if you have an account anywhere in the fediverse.

If you don't want to read it (and I don't blame you), the examples are mostly badly designed programs -- even for BASIC -- with a stream of consciousness describing how to fix them. As you read it, you think, "Uh, maybe the design is no good?" This is never brought up.

There is a whole chapter on patching. This is trivial in BASIC, but the examples are so contrived it's ridiculous. The argument is that you may not be able to rewrite or reload the program. But the scenarios presented are, laughably, less than 50 lines long.

One example uses a floating point number X.Y to represent two ASCII characters (!). This is "patched" to deal with two special cases by just hard coding a string in the code. But then it's revealed there are only 15 cases in total. You might as well hard code the strings anyway since the data set is so small, thus avoiding the bizarre numerical representation of characters.

@GeoffWozniak > One example uses a floating point number X.Y to represent two ASCII characters (!).

Cairo's *build system* does this - it picks some specific absurd floating point number carefully constructed to determine endianness of floats.... and it does so by running strings to see how the float got represented

it makes me scratch my head

@calvin Can you point me to that? I'm now curious.