"You are logged into your remote server via SSH and happily plucking along at your keyboard and then it happens. Suddenly, the characters stop moving and then you get the dreaded 'Connection Closed' message. You have just lost your session. You were halfway through some task and now you have to start over. Ugh. Well you can prevent this from happening by using screen. The Linux screen tool can not only save you from disconnection disasters, but it also can increase your productivity by using multiple windows within one SSH session. I use this tool all of the time in our server management work." An older tutorial, and even though I have little to no knowledge about screen, I know one thing: lots of people swear by it.

As a rails developer screen is a mandatory part of my toolkit. My only complaint is that I cannot seem to name the screens, so I have to remember which number is the server, console, vi session, etc... Does tmux have naming?

screen can already do what you want. Enter C-a A to give the current window a name. Enter C-a ' (quote) to prompt for a window name to switch to. Enter C-a " (double quote) to list all the screen names/numbers.