I got really frustrated with the tilda (probably more accurately known as the tilde) that wouldn't appear in the correct spot in LaTeX. Apparently Google does not know how to properly typeset a tilda without resorting to the url package. There may be nothing wrong with the url package (actually the last time I tried it I wanted to pull my hair out). Anyway, it is way overkill if all you want to do is have a properly typeset tilda.
After cuddling with the TeX book for a while (something I hadn't done in years, and never properly), I found the \show command. This will let you find out all the secrets of TeX (really, try it out). I then gave the command \show\TeX and found out that \TeX uses both the \kern and \lower command. Those are the tools you need.
So without further ado, here are the definitions I eventually created, be very careful about spaces when editing (I had no idea plain TeX was so sensitive to spaces).
\def\urltilda{\kern -.15em\lower .7ex\hbox{\~{}}\kern .04em}
\def\urldot{\kern -.10em.\kern -.10em}
\def\urlhttp{http\kern -.10em\lower -.1ex\hbox{:}\kern -.12em\lower 0ex\hbox{/}\kern -.18em\lower 0ex\hbox{/}}
The way this is used is
{\tt mgeorg@cse\urldot wustl\urldot edu}
{\tt \urlhttp www\urldot cse\urldot wustl\urldot edu/\urltilda mgeorg}
notice that you need the \tt to be in monospaced type.
You may have to adjust the kerning for your font or font size.
I just whipped this together real quick and want to post it before I
forget about it.
Go look at my resume if you want to see it in action.
Other things you might try that sort of work (but that I don't approve of).
I think this symbol is too long
$\sim$I think this is typeset too high (so I lower it and kern it correctly in the code above).
\~{}