So, we’re refugees. Also, I’ve been thinking about store-and-forward, intermittently-connected networks for a good long while. Looking at where life is going and how we plan to navigate it, I’m only going to be more intermittently-connected, with longer periods of isolation, not less/shorter. So, I want to start solving problems now, before I’m cut off from the wider Internet’s resources.
Email: pretty much a solved problem. It’s already store-and-forward. Compose an email, queue it up for delivery, and the next time my mail client can actually reach my SMTP server, it’ll get sent.
Documentation: Dash is great. It already pulls in updated documentation packages when my computer is connected, and it doesn’t need to be connected to the Internet in order to display already-downloaded documentation packages.
Development: If I use Docker and SPM and am careful about only referencing images that I’ve cached locally, and make sure that my package files refer to dependencies that I’ve got locally, then it should be okay. This is the most problematic bit. When I was doing all my development in Java, I ran a local archiva server and that way I could even blow away my maven cache and still have access to artifacts without the Internet. I really wish there were some kind of caching proxy for git repos. A superficial look around has found some bits and pieces, but nothing so fully-developed as archiva. Goblet comes close, but would require more work to make it usable at all, and still doesn’t solve the problem of, “the Internet is on time-out.”