Sharing files with a linux guest on VirtualBox

One of my friends recently installed Ubuntu on a VirtualBox, and he had a really tough time sharing files between the Ubuntu guest and the Windows 7 host machine. In this article I will describe the two most common ways to share files between the host and a *nix guest os inside VirtualBox