The story goes like this:
Back the spring of 1994, when rec.games.magic.marketplace (remember that group?) was still a relatively low volume newsgroup, back when I was a lowly summer intern at Microsoft ("But you just said it was spring!" you protest. Well, it was a long internship.), I was on Microsoft's e-mail distribution list for magic players. A lot of card trading took place on that list.
One day, some lady posted a message to the list asking for some cards (Arabian Nights cards. Remember when those were new?) that I happened to have spares of. I sent her mail to offer them, she asked how much I'd charge for them. Well, needless to say, I had no idea. But I knew that I could browse around on usenet and get an idea. So when I got home, I logged onto the UW's computer systems (I didn't have my own network site back then; I was still in college). I decided it would be a lot more efficient to download a bunch of articles from the news server directly and process the articles as a bunch than to read them in the newsreader and take notes. So I did. The conversation went something like this:
% telnet news.u.washington.edu NNTP > article_list
Connected to news.u.washington.edu
Escape character is '^]'.
200 news.u.washington.edu InterNetNews server INN 1.4 22-Dec-93 ready
newnews rec.games.magic.marketplace 031594 000000
(If that's a little bogus, forgive me; it's been a long time but suffice it to say that the above commands told the news server to list the article references since midnight on some particular day.) Once I had the article list, that had to be processed into nntp commands to fetch the articles. That involved getting rid of anything that wasn't an article reference (grep served nicely, thank you), sticking "article" in front of it, and shoving that all back through the server. Something like:
% telnet news.u.washington.edu nntp < article_commands > articles
So there I had lots of raw data without very much effort at all. So then I used grep to search that for the card names I was interested, and stuck all the matches into yet another file. Then I loaded the file into emacs and edited the heck out of it until i had just a list of the things that were actual price references. I tallied them up, did some division, and decided that forty bucks would be a reasonable price for that set of cards (in case you're curious, the cards included some really good stuff, like Diamond Valley, Mahamoti Djinn, Serendib Efreet, and some other commons and uncommons that I can't remember. It was probably a dozen cards total). The next day I sent her mail to offer the cards once again at that price.
Now all of that was a lot of work. It took about an hour and a half to get prices for just a handful of cards. I knew there had to be a better way, and from that the concept for a pricelist generator was born. It would be two or three months after that before I had it working. Oh, and the lady never bothered to respond whether she wanted the cards or not. It kind of pissed me off that I went to all that trouble and she didn't respond, but there it is. Without her we probably wouldn't have these pricelists now. Gee, and I never had the decency to thank her. :)
So on May 18, 1994, I published the first of my price lists. At the time, it just contained the original ~300 Magic: The Gathering cards, plus cards from the Arabian Nights expansion set, around 350 cards total. I wasn't doing lists for other games then, and this was before Antiquities came out. Since then, Magic has grown to well over 1000 distinct cards that I track (including different versions of the same card from different expansion sets), and now I do lists for Jyhad: the Eternal Struggle, and Star Trek: the Collectable Card Game.