The walls of your house are probably blocking the public wifi signal which doesn't travel well through objects. If you have a wifi card in the laptop, as opposed to built in, you might be able to connect an external antenna to get better reception.
For finding wifi networks try running...