Metric geometry, algorithms and groups