The tilde ~ by itself expands to your home directory. Also worthy of note is that you can refer to someone else's home directory by prefixing their login name with ~
cd ~/dave will look for subdir "dave" under your home directory
cd ~dave will look for user dave's home directory.
And bash's <tab> completion works with this,
cd ~grah<tab> will expand user names from /etc/passwd that begin with "grah".
Regarding item 3:
$ grep '(ping|pong)' afile
You don't have to type out the correct command (egrep, as opposed to the incorrectly entered grep), as just the "e" will work if you include 0 in your range:
egrep '(ping|pong)' afile