My complaint is that there is some simple but common inconsistencies that I mess up all the time in scipy, and will cause unnecessary nightmares for my students. Specifically, array size is not specified consistently accross pylab. If you want to create a random 2x2 array, you call randn(2,2). But if you want to create a 2x2 array of all numbers, you call ones((2,2)). And there's no alternative that's consistent! Both rand((2,2)) and ones(2,2) generate errors, in the latter case it's a cryptic error. Why cann't we have a little consistency!