gosh, the bludgers are out in force!
You want:
free hosting
no ads to pay the bills of the host
* domain name to hide the one point of id the free host still has!
Why do you want your own domain name anyway? Usually only important on commercial sites - beyond that it's a "nice to have". So if your site's commercial why shouldn't you pay something to your host?
I have a site called http://sarah.digitalrice.com. Its embryonic for now and is going to be my sandbox for ideas etc and a bit of a showcase - when the real world gives me time to work on it. I don't get any ads and I don't have to pay. For that I am happy to sacrifice the domain name. Anyone looking at my url can guess that http://www.digitalrice.com will take them to the web host and I reckon that's the least they deserve.
The web is amazing - you get so much for free and you can learn so much without having to spend thousands with M'soft, Oracle, Sun etc. Please don't abuse the amazing place that it is.