You've used SSH to log into a shell account on a remote Linux or UNIX server and are happily waiting for a large download or a long compile to complete. All of a sudden, the connection between you and the server is dropped. You log back in, but what you were doing has stopped and you'll have to start again. How annoying!
Recently I have started using
screen. This allows you to start additional terminals that you can attach to and detach from. Being able to switch between them means that you can be running a large compile or download and still be able to get on with other things. That's nice, but what is really cool is that these terminals will last between your SSH sessions.
This means that you can start a screen terminal, do some work in it, detach from it, log out, go to another computer, log in again, re-attach to the terminal and it's as if nothing ever happened. If your connection is dropped, then the screen terminal will still be there too - just reconnect, re-attach and keep going...