Your best bet is Holland, where small amounts are totally legal. Don't really know the situation in Canada first hand, but it's cool in some areas.