7 things we've learned about computer algorithms