"it really is true that if you haven’t done it, that is: been intimately
involved growing a social web app from prototype to Internet-scale on a
UNIX stack, then you really don’t know shit."
oh I like you Leonard Lin!
"Even if you’re architecturally sound, you’re dealing with
development with extremely tight timelines/pressures, so you have to
make decisions to pick things that will work but will probably need to
eventually be replaced (e.g. DRb for Twitter) — usually you won’t know
when and what component will be the limiting factor since you don’t
know what the uses cases will be to begin with. Development from
prototype on is a series of compromises against the limited resources
of man-hours and equipment. In a perfect world, you’d have perfect
capacity planning and infinite resources, but if you’ve ever
experienced real-world hockey-stick growth on a startup shoestring, you
know that’s not the case. If you have, you understand that scaling is
the brick that hits you when you’ve gone far beyond your capacity
limits and when your machines hit double or triple digit loads."