Varnish: Notes from the Architect
I have spent many years working on the FreeBSD kernel, and only rarely did I venture into userland programming, but when I had occasion to do so, I invariably found that people programmed like it was still 1975. […] Take Squid for instance, a 1975 program if I ever saw one: You tell it how much RAM it can use and how much disk it can use. It will then spend inordinate amounts of time keeping track of what HTTP objects are in RAM and which are on disk and it will move them forth and back depending on traffic patterns.