The scary thing is I just checked some logs from an instant message system we have where I work, and I find that it was 4 days before the earlier of these that I was last working on this:
([email protected]) (share&enjoy) [12-Jan-2001, 18:08]

there has to be a better way to do weighted random selection than one involving looking at all the entries in a table and walking over weights until we've passed a random number between 0 and the total of all weights


Of course it's not really the same problem, since in that case it's basically trying to build around the relational database I already had, which basically changes what the solution set will be.