My problem with the statement "HTTP is slow": All of the reasons why an HTTP connection might be giving poor performance (serialization costs, SSL encryption costs, TCP latency) are not intrinsic to HTTP and would be a problem for any protocol that goes over the network. So it's almost never accurate to say "HTTP is slow".
Anyway thanks for sharing the write up. It's easy to sneer and say "what a bunch of clueless idiots!" but when I think back on some of the stuff I did when I was first starting out as a programmer and thought I was shit-hot:
* My first ever experiment with Yacc ended up in a "scheduler" with a custom dependency language for expressing the dependencies, used to schedule our whole overnight batch processing
* After learning about smart pointers in C++, I knew that they were the way to go! I happily wrote: std::vector<std::auto_ptr<T>> - it was only a year after I had resigned that my (ex) boss, who was still on friendly terms, calls me up to query why the latest version of the C++ compiler won't compile this code.... "Did I write this? What the fuck was I thinking!?"
* I think my first Java class was a very complicated thing that, at the end of the day, allowed one to "more easily" write code to read a CSV file...
Well, it's all a learning experience! </shudder>
On the HTTP is slow thing: I think I was pretty clear in the write up that we had failed to performance test and it wasn't at all clear that our replacement was faster. I think these are sufficient disclaimers that I was pretty obviously labelling it "HEY DON'T DO IT THIS WAY" :-)