Firepear Informatics
Work update

After a lot of thought and re-reading old notes, I’ve ironed out the Roundabout “reliable” message protocol. That is, how to handle message delivery in a way that guarantees no data or state loss, even over unreliable links.

I’m probably just reimplementing TCP at a higher level, since the problem is so basic. Regardless, it gives me something to code against, and also to test against, which brings us to the latest work on Cat.

A new environment directive is being implemented: sleep. This will cause the driver program to sleep for the specified number of milliseconds. Not terribly fancy, but nice for testing things that require wait-states, timeouts, or the like.

Despite the amount of time I’ve spent thinking about it, and working on Cat, it is still sometimes difficult to think about how to test things from a blackbox perspective instead of simply reaching into the guts of my own implementation.

Finally, jumping back to Roundabout, I propose the Law of Realistic Expectations in Software: as soon as you shift your assumptions from “all hardware and transports are perfect”, it ceases to be possible to write “trivial” programs.