Since you have Lion (10.7) you can use Apple's iCloud's Back-to-My-Mac feature to access your Mac from another Mac via Screen Sharing and/or File Sharing.
You could use TeamViewer.com or LogMeIn.com (I guess you could also use GoToMyPC.com as well, although the previous 2 have free options for personal use).
Using JollysFastVNC (great program) is a problem in that you need to find your Mac when it is "On the Road" so to speak. The BTMM, TeamViewer, LogMeIn, GoToMyPC services all keep in touch with a company server that the client software asks in order to find the current connection information, plus these services deal with getting through the home routers. JollysFastVNC does not have this features. You need to know what the destination address is, and if it is behind a home router, you need to have the cooperation of the home router (preconfigured to allow the connection).
The same is true using the Terminal.
You could also look at Hamachi (also from LogMeIn.com) which can create a virtual private network with systems across the internet, making your Mac at your son's friend's house appear as if it is on you local LAN allowing the use of JollysFastVNC, or Terminal based ssh connections.
You should also keep in mind that many of these services put an indicator on the menu bar that the screen is being watched. So you sun may become aware that you are monitoring him.