phpESP

About 5 years ago, when I was working for one of the several nutty startups on my resume, this college student named Seth called me up and asked for a summer job. He seemed pretty clueful to me at the time (boy, was I right about that), so I figured he’d be a good addition to our little group.

A few days later ,this guy named James rang up and said something like, “Hi, I’m a friend of Seth – can I have a job too?”. He caught me at a very busy and stressful time, so we chatted for about 3 minutes before I agreed to hire him, partially because he seemed good and partially because I was too preoccupied to think too hard about it.

Round about this time, the CEO wandered down to our offices and said that he’d promised a website to some national association by the end of the week. Um. Ok. Try not to strangle him.

Simple website. Should be easy. We just need some way for non-technical types to post surveys online, collect data and summarize results. You’re a dead man.

But thank God for interns. James got that assignment. I remember saying to him that the software he was writing would probably outlast the company, so he should go ahead and put it up on sourceforge.net.

Fast forward to Jan. 2005: I think this is the second time that James’ survey software, phpESP, has been featured in eWeek since then. Congrats, James, on starting a useful project that has survived all these years.

Whirlycache benchmarks

I put up a benchmark graph showing how Whirlycache performs with 20 concurrent threads doing 50% read activity earlier today on the Whirlycache site. Here’s the graphic for your viewing pleasure. I also added a caveat about the usefulness of benchmarks right on the Whirlycache homepage, so please read that before you blast me here.

Whirlycache benchmark

I can summarize: when you have a lot of threads going against a particular cache implementation containing a lot of elements, Whirlycache will basically always come out on top. Obviously, it doesn’t have all of the features that some of the other caches have, so there’s a tradeoff that may be important to you.