They use four master databases, with each one having at least one read slave. They avoid reading from the master, if possible. They wrote their own database access layer, because “at the time there wasn’t a good database ORM layer.” PostgreSQL is used as a key/value store – it was faster than any key/value store they tried. (!) They love memcached: 5GB render cache, 15GB data cache, and 10GB precomputed queries cache.

Logged-out users always get cached content, so Akamai bears the load. These users are about 80% of total site traffic.

They also use C. Their whitespace filter is in C. They are switching to a memcache C library.

They didn’t use Django, because Django was “early alpha” then, support was hard to find, rendering was slow, and “the sandbox was hampering.” So they chose Pylons.

Moving to EC2 saved them 30% per month in ?total operational costs? ?server and technology costs? They pay $20K/month for hosting on EC2.

1600: Powerful Pythonic Patterns. http://www.aleax.it/pycon_ppp.pdf. 99% of the #pycon twitter traffic praised the greatness of this talk. I wasn’t impressed. Half of it was a needless exposition of particular words’ meaning. “Design” comes after “research” and before “implementation,” wow, holy Toledo, no kidding?

But, here’s one good slide from the talk:

Anti-Patterns

1455: The Ring of Python. Good talk about the various Python interpreters – differences, idiosyncrasies, pros, cons.

1402: Now going to forage for information in the exhibit hall, and hunt for business for Meta Consulting.

0931: Guido says Python 2.7 will be the last release in the 2-series. The conference is using a Twitter projected on a screen to ask questions of Guido. It’s not working very well, because with a font sufficiently large for the audience to read the screen, the tweets scroll off the screen too quickly.

0818: Sitting in the main hall, waiting for the Plenary to begin at 9. Threw out 2/3 of my schwag bag’s contents.

0720: Catching up on the state of the world, at the downstairs hall. The registration desk isn’t set up yet.