Hacker News new | ask | show | jobs
by toast0 1332 days ago
Mars has garbage pings to earth, so interactive transfers are a definite no. You need to build offline first and (asynchronous) bulk transfers. TCP with really long timeouts could work, but you probably want something more appropriate because throughput would be really small for a long time until the congestion window opened; you'd almost certainly want to address packet loss handling as well.

Look into sneakernet compatible data transfers, because Mars latency is closer to that than anything else. I haven't studied it, but NNCP might work https://nncp.mirrors.quux.org/

You could 'just' run a Mars cluster and direct Martians there, but you'll need to think carefully about how changes from Earth users and Mars users are merged. The window for in-flight changes from both sides is quite large, and waiting for interactive writes to another planet is unreasonable.

This does mean hard work on conflict resolution; some may be solvable by the system, but many will require user input, and that user input is likely to be delayed, as they'll likely have moved on to something else. Lots of not simple UX there, but 'everyone' will need it, so users will be forced to adapt.