Lore

You might wonder about the unusual names used in Minot.

The simple answer is greppability. Minot is designed for use during development. As it's an external system, I made a few assumptions:

You'll likely want to remove Minot before releasing your software. You'll also need to quickly locate Minot calls. Since words like bacon or rat are probably uncommon in your production code, Minot can use them without conflict. This makes them easy to find with a project-wide text search.


However, there's a more interesting story behind the names.

Minot's Ledge Lighthouse in a storm

Minot is named after Minot's Ledge Lighthouse near Boston (see Wikipedia). Early versions of the lighthouse didn't last, so a new one was built with a solid granite base. This formidable structure, standing alone at the edge of shallows, was a statement of permanence. Completed in 1860, it still stands today.

Info

There are local stories and songs about this lighthouse, which I recommend for unwinding after a long day of working with robot algorithms. The image on the right is from a storm in 1978, photographed by Kevin Cole.

The lighthouse symbolises coordination at sea—a beacon of hope and safety amid chaos. In contrast to this stability, there are ships navigating rough seas, battling strong winds. Wind is a metaphor for Bagfile data that propels the Ships (our Nodes). The Wind is generated by Turbines (the bagfile publisher nodes). The internal networking library is called Sea, which is self-explanatory.

Every Ship (Node) has Rats on board because, during development, a Ship isn't production-ready and still has issues. Rats love Bacon (variables), and when they find Bacon they want to tell their friends and share. So, they use a Cannon on your ship to shoot and retrieve Bacon from one ship to another—across the Sea (network). The Coordinator (lighthouse) oversees everything. While many of these names don't appear in the user-facing API, you'll find these concepts throughout the source code.

This story should also make the name of the configuration language, Ratslang, self-explanatory.

I like the idea of installing Rats on your Ship to help you stabilize its voyage. Rats do the dirty work by just liking Bacon and being proud of finding it. And once everything is working, you simply remove the Rats again, and your Ship is like new. But now its ready to sail with much more stability.