Web (& Print) Log (2003, 2004)

Gene Michael Stover

created 2003 May 1
updated Friday, 2004 December 31

Copyright © 2003, 2004 Gene Michael Stover. All rights reserved. Permission to copy, store, & view this document unmodified & in its entirety is granted.

Jump to the latest entries.


Contents

1. May 2003

1.1 3 May 2003

1.1.1 What am I doing?

What am I doing here? I was going to create this file to hold random thoughts about programming, & I had some initial random thoughts to insert, but now I can't find them. More specifically, the file where I wrote them doesn't look appropriate for random thoughts. It's more a random article of thoughts on a single topic ([241]).

So here we have a file with no raison d'etre. Ah, well. I'll keep it for a while in case I remember why I made it.

1.1.2 Hierarchical Index on a Web Site

Here's an idea for a way to make a hierarchical index of documents on a Web site. Haven't tried it. It's just an idea.

Normally, I guess you'd make a hierarchical index from the top down. You'd start with everything, then split it into categories. You'd put documents into those categories. If a category got too large, you'd split it.

What if you went the other way? What if you assigned keywords (categories) to each document. When you see that certain categories should be grouped together, you create another category & put them in it. I wonder if creating the index this way, from the bottom up, would be easier & lead to more useful categories.

But if you have enough categories, you might as well just use a searcher. Never mind.

1.2 21 May

1.2.1 Red White & Blue: R.I.P.

The attacks on the United States's people on 11 September 2001 were absolutely, entirely, totally successful. I don't think they could have been more successful.

In what way were they successful? Because of the body count that day? Nope.

They were a total success because they have caused the United States to move so far, so quickly down the path to becoming exactly the kind of restricted, regulated, hypocritical police state that it has been so proud that it will never be.

The United States government has already passed laws to restrict privacy & freedom from searches & seizures. They have passed laws to intensify ``crimes of terrorism'' & (get this) to somehow make those crimes more illegal than they would be if you just considered their outcomes. (What kind of sense does that make?)

Starting with prisoners in Guantanamo Bay & a camp in Afghanistan, the United States is denying the exact same human rights that are recognized in the Bill of Rights. How long until it does the same to its own citizens?

The United States's foreign policy is basically ``You can't have too many enemies''. That will only increase acts of terrorism & also reduce allies who will help the US after such attacks in the future. The United States has demonstrated that it does not respect the rights of sovereign nations; it is willing to force its own economics & way of life on other peoples. As a result of its own foreign policy, the United States is becoming exactly the same kind of international bully it claims to protect itself against.

The attacks of 9/11 have been at least as successful as those members of al Queada could have hoped because they exposed the American people as the unreasoning cowards they are. The United States government has become an isolationist war-maker that restricts the rights of its own people with the hypocritical goal of protecting its freedoms. Indeed, the lives of the terrorists on 9/11 could not have been martyred more effectively; I'm sure their spirits rest easy & satisfied in their afterlife. Congratulations, gentlemen. I'll miss the red, white, & blue.

1.3 23 May

1.3.1 Digital Restrictions Manglement

There is an elegant (informative, to-the-point, & short) article in April 2003 Communications of the ACM called ``A skeptical View of DRM and Fair Use'', by Edward W. Felten.

It points out that

For a DRM system to work, it must understand the context of copying. How can we expect a program to do that? How can a program estimate the ultimate social effect of an act of copying? Does the program need to run an entire economic forecast?

Since copyright law was to evolve via case-by-case human decisions, do we want to freeze copyright law in its exact form & allow automatons to decide what we can & can't do. Here's a mental exercise: Extrapolate the philosophical implications that has to self-determination. Think of The Forbin Project1.1, & then shudder.

The article is ``Digital rights management and fair use by design: A skeptical view of DRM and fair use'', by Edward W. Felten, Communications of the ACM April 2003, Volume 46 Issue 4. The tag line is ``Don't expect DRM to ever be smart enough to distinguish fair use from copyright infringement''. It's online at http://delivery.acm.org/10.1145/650000/641232/p56-felten.html, but I think you need to be a member of the ACM to read it.

An old news article about the author, Edward W. Felten, is at http://www.wired.com/news/politics/0,1283,41183,00.html.

Here are some more thoughts about Digital Restrictions Manglement.

From what I've read of DRM implementations, many (most? all?) of them fail to recognize that copyright terms expire. So what happens in 200 years, when the author has been dead for more than 75 years, & someone tries to access the content? Maybe this point is moot because (a) file formats will have changed so much that nobody 200 years from now will be able to access anything other than our plain text & LATEX files, (b) someone will have cracked the copy-protection system by then, anyway, (c) you should be so lucky that people still want to read what you write 75 years after your death, & (d) the U.S. Congress will not allow copyright to expire ever again because it would be the death of Disney.

Thinking about my dig at Disney & copyright extension in the previous sentence, for the moment, put all the ethical, ``Big Brother'' problems of DRM out of your mind & consider what would happen in the long run if all DRM systems implemented the concept of copyright expiry.

The simplest way to implement it would be to hard-code an expiry date into each copyright. (We can be pretty sure that the draconian overlords - I mean, ``content providers'' - would implement a simple scheme because one (of the vast number) of the problems with the DRM systems they propose is that they use technology so simple as to be inadequate & then try to make it adequate with extra legislation. So they would probably choose a simple copyright expiry system.

So what would happen if all the DRM systems in the world assumed copyright ended, say, 100 years after it started. Copyright actually ends 75 years after the author dies, thanks to Disney, but it's tough to know when an author will die. An alternative would be to approximate when he dies, & that might be about 25 years after the he created the copyrighted work, so the copyright would expire 100 years after it was created.1.2 So all the devices in the world, every VCR, DVD player, TV, tape deck, CD/DVD-ROM drive, PDA, wristwatch, & toaster would have a DRM chip embedded that assumed a copyright was null & void 100 years after its time stamp. Imagine a world that contained millions of such devices, each with this assumption about when copyright expires.

Then imagine Disney approaching Congress to petition to have copyright extended yet again.

Maybe there would be one - just one - benefit to DRM.

Actually, I suspect the draconian content overlords - there I go again, I mean ``content providers'', short-sighted as they are, would not implement copyright expiry in the first place. As far as they are concerned, there is no good other than to preserve & protect their own corporate rights.

1.3.2 Alan Turing

Also in the April 2003 issue of Communications of the ACM is ``Computation Beyond Turing Machines'', by Peter Wagner & Dina Goldin. I thought I knew a lot about Turing, but the brief history of Turing machines in this article taught me that Turing himself wasn't demonstrating a universal computing machine. Instead, he was proving that there are things algorithms can't decide. When we think of Turing machines as being able to compute anything that's computable, we have it backwards. Woah!

Then the article goes into some stuff that's even more interesting.


1.4 27 May

1.4.1 Independent Video Game Developers

I read an interesting entry on a blog about/for game developers. (The entry is http://www.costik.com/weblog/2003_03_01_blogchive.html#90490621 if you are interested, though reading it is not necessary for what I'm about to say.)

Some of the main points of that blog article are

Okay, fine. All makes complete & total sense to me. I accept all of those premises, including the one about how the risky, lower-budget games are the ones which are most fun to make & which have the highest rewards (when they become hits, that is). No arguments or questions from me.

But then that article, & some others I have read lately, bemoan the state of the independent game developer. He doesn't have the budget to compete with the big studios. I'm not so sure I agree with that completely.

First, if someone is a game developer, that's what he does, & he hates his job because he's always producing the same-old, same-old sequels, & he wants to make a living now by becoming an independent game developer, he's got my sympathy, but what about the guy who has a day job (maybe programming in a less creative capacity - like the wireless phone networks!), & his main motivation to developing games is that he likes to do it? That guy is in a different situation. It's kind of interesting.

Is it possible for that guy (maybe with a group of his similarly-driven friends) to publish? The articles imply it's not because he's totally locked out of the industry, but I'm not so sure. I mean, what does it take to publish a program? It could cost zero if you open source it, but let's say that he wants to try to recover his costs.

Could he form a small company & sell his game as a downloadable from a Web site? There are licensing schemes that can be used to reduce (though not totally prevent) piracy. Let's say they prevent ``casual'' piracy. I presume the costs for this method of distribution are, oh, a few thousand to start plus less than a thousand a year to maintain (business taxes, communications bill, credit card processing software, license, or agreement).

The distribution techniques used by shareware developers in an older age might still be useful today. You could advertise online (advertise - see below). People could order your software, & you could send them a CD & a printed manual. There used to be entire printed catalogues of such software. Of course, getting into those catalogues costs money, but not millions. There are grades of cost, in fact, from dirt cheap to expensive.

I suppose you might buy booth space at a convention & sell your software out of a booth. Of course, you can't afford a booth at CES or E3, but what about a smaller, less hyped convention that is more focused on attendees who might be your customers? Booth space is probably more expensive than the other methods I've mentioned, but it could be a hell of a lot of fun (& a premise is that the garage game developers in question are doing it mostly because they want to make games; they have day-jobs; the question is ``What methods of distribution could they afford, & can they sell something, maybe even recover their costs?'')

Then there is advertising. Distribution is cheap these days. Hell, once you have that Web site setup, it's probably more expensive to renew your business license than to pay your communications bill. The act of copying the software to the customer is trivially inexpensive these days. It's everything else that costs more, & it's probably advertising that costs the most. Advertising is what makes or breaks a game (or any product), I'm sure.

So what kind of advertising could the garage band game developers afford? They sure as hell couldn't afford the kind of advertising that goes behind a Final Fantasy or a game that sprung from a big-budget movie. (When you consider that a movie can be the advertising for a game, & that ``big-budget'', when applied to movies, is easily over 100 million USD, a garage band of developers absolutely cannot compete.)

But what could they afford? And how effective could it be?

From my other thoughts in this article, I'm convined the garage guys could produce & distribute their software, but I have no idea what kind of sales they could generate from the advertising they could afford. Word of mouth works for really good games, but you have to make some initial sales first; those initial sales especially depend on advertising. At least, that's what I'm guessing. And I don't know what kind of advertising they could afford.

For what it's worth, I know many people who want to be income-generating musicians (not MTV stars, but who want to at least recover their costs by being musicians). Most live hand-to-mouth with low-paying day jobs while they try to make money as musicians now, but two or three are software engineers. Their attitude has always been that they'll get paid well making software, play their instruments whenever they can (which is almost any time they aren't working), save wisely, & someday make their own album.

2. June 2003


2.1 10 June

2.1.1 Virtual World Exchange Language

I've been reading about virtual worlds lately, partly because I'm writing an artificial life game & partly because ...I don't know, just because virtual worlds happen to be on my mind. Maybe .hack has something to do with it. Anyway, I've been reading about virtual worlds & thinking about multi-participant virtual worlds.

A multi-participant virtual world, while I'm writing this bit today at least, is effectively synonymous with ``multiplayer online game'', but it might include not-quite-games, like There.com & any other forthcoming online places to hang-out. Maybe a more precise term than multi-participant virtual world would be ``persistent, multi-participant virtual environment''. Whatever. You know what I mean, or you don't.

Currently, nearly every multi-player virtual world is a pay-to-play online game. Examples are Everquest, Ultima Online, Asheron's Call, The Sims Online, My Street Online, & lots & lots of others.

One common thread between those currently existing online worlds is that each is owned & operated by a single entity (a corporation). Though the players can have a voice in some of the workings of the world if they make enough fuss about it or vote with their dollars, the worlds were created by someone other than the players. The players aren't programmers.

But anyone who has written a simulation, or a game with a sufficiently complex world inside it, or a program to solve a physics problem in calculus knows that what's even more fun than playing a game in a virtual world is creating your own world.

What's more, an online article I've been reading about real-world law & how it will interact with virtual worlds has me convinced that there will be significant complaints from online game customers about things that happen in online games. They might complain about policies or that their character died unfairly or that some other players are monopolizing the best hunting grounds or pissing in the virtual Jacuzzi, & a lot of rational people might reasonably conclude that the complainers are just complaining, but they'll still complain. Some of those complaints will find their way to court, & some of those court decisions will go against the players, & some of those players will leave those virtual worlds.

So some people won't like the current crop of virtual worlds, & some people will know that it's more fun to roll your own. What this means is that, sooner or later, people will be running their own virtual worlds. There will be free software2.1 for creating & running your own virtual worlds. The programming challenges to virtual world construction kits aren't much more difficult than creating a modern game. Hell, many modern games are created with tools which probably contain the functionality that a virtual world construction kit will need. If you melded the toolkit from a game company together & made it easier to use, you'd have a virtual world construction kit for one type of virtual world.

This will be cool. I'll be running a virtual world. Hopefully, I will have contributed to a construction kit, but what's the point of a virtual world if you are the only person who visits it?2.2

So people will want other people to visit their virtual worlds, but if everyone is busy creating & running their own virtual worlds, why would they want to visit someone else's (other than to steal their good ideas)? So you know what will happen? People will network their virtual worlds, creating larger worlds. You'll see peer-to-peer virtual worlds.

Hopefully, there will be many types so that you can create the kind you want. By ``type'', I don't mean hack-&-slash vs. online hang-out. Any large virtual world can accommodate both of those, plus many of the variations in between, at the same time. I mean the rules of the rules of the virtual world. For example, in some virtual worlds, the physics will be constant throughout, but in others, maybe the physics will change from one server to another depending on what the whim of the world-designer running that server (or peer, I guess). Different types of worlds might have different types of actions. Maybe in some, avatars can kill avatars, but in others, avatars are immortal. There are billions & billions of variations on the virtual world theme.

People will traverse the servers in a virtual world that's built on a peer-to-peer network with virtual world client programs. Maybe they'll be plug-ins to our existing browsers, or maybe there will be a new crop of Virtual World Web browsers which will repeat the World Wide Web browser wars of the mid-1990s.

Which finally leads me to virtual world markup language, the title of this bit. The clients will need to understand the data the servers send, & the servers will need to communicate with each other. So there will be virtual world markup languages. There will probably be some standards, but I hope that each network of servers will have the freedom (& ingenuity) to experiment.

I had a couple of friends who were interested in a Virtual Reality Markup Language years ago (must have been about 1993). I remember that they were frustrated because enthusiasm in VRML waned, & VRML followed. I thought they had been excited about nothing. Now I see they & others like them were fifteen or twenty years ahead of their time.

Speaking of people & ideas that have been ahead of their time, the enthusiast of multiplayer online games might have some fun by looking into Multi-User Dungeons (MUDs). They have a long & ancient history. They never were very popular outside of the techie crowd because they weren't graphical. When graphical games went online & became popular, they effectively closed the circle. MUDs have become popular, but because graphical games caught up with them, not because the MUDs turned graphical.


2.2 11 June

2.2.1 The Matrix, Reloaded

I heard today that Matrix Reloaded has been banned in Egypt for religious reasons.

  1. I'm glad that there are still places in the world that ban books & movies for religious or other reasons. I mean, not every place is a duplicate of the United States. I appreciate the variety.

  2. I'm glad I don't live in those places.

  3. Why do people make such a big deal about a shallow movie? I don't get it. It's a kung fu, special effects movie containing watered-down versions of 20-year-old cyberpunk ideas. There's nothing new here people. Move along.

Maybe item number 4 would be ``I'm surprised that Hollywood can still make a movie that moves people enough to ban it in some places & write philosophical essays about it in other places''.


2.3 14 June

2.3.1 Implementing a MUD with Lisp

I had a dream last night about how to write a Multi-User Dungeon (MUD) with Lisp. Writing a MUD in Lisp might be fun. Here are the ideas I dreamt. I've never written a MUD, & I use them infrequently these days. I'm out of practice & don't have MUD on my mind. I haven't encountered, considered, & solved the classic MUD design problems that I'm sure exist & for which solutions are obvious to anyone who has. So if you see naïvete in some of my ideas, like class hierarchies, ignore them. The class hierarchies aren't part of my big idea, anyway; they are just to help explain my big idea.

To write a MUD in Lisp, you might start by defining the protocol for all objects within the MUD. Maybe it would look like this:

(defgeneric location (thing)
  (:documentation
   "Return the room that THING occupies now.  SETFable."))

(defgeneric look (thing looker)
  (:documentation
   "Return the textual description of THING when LOOKER
looks at it.  The description is a string."))

(defgeneric move (thing direction)
  (:documentation
   "THING tries to move in DIRECTION, which should be one
of the symbols NORTH, EAST, SOUTH, WEST, or the directions
between those (NORTHEAST, ... NORTHWEST)."))

(defgeneric take (thing taker)
  (:documentation "TAKER tries to pick-up THING.  Depending
on what is appropriate when something of TAKER's type
picks-up something of THING's type, THING might be added to
TAKER's inventory, or it might bite TAKER, or TAKER might be
sent to hell, or maybe nothing happens."))

That list of generics is incomplete; you'd want more, or maybe I'm totally off & you'd use different messages altogether. The actual messages aren't my point.

So then you might define & implement your classes. Maybe some of them would look like this:

(defclass thing ()
  ((mass :documentation "Mass, in grams")
   (location
    :documentation "The room (a kind of thing) this Thing
occupies now.")
   (inventory
    :documentation "List of Things this Thing holds"
    :initform ())
   (owner :documentation "Player that owns this Thing.")
   (name :documentation "Name of this Thing."
	 :type string)))

(defclass room (thing)
  ...)

(defclass player (thing)
  ...)

(defclass potatoe (thing)
  ...)

You could define all sorts of classes & implement the methods for them. You know the drill.

Here's where my idea kicks-in. Once you've implemented those classes & methods & functions, you have a MUD! Yeah, really, you'd already have a MUD. It'd be a stripped-down MUD with no natural language interface, so to use it, you'd have to type Lisp expressions on the Lisp command line. Also, your proto-MUD wouldn't know about networking & wouldn't have session management, so if you had multiple players, they'd have to stand around a terminal & take turns typing their commands (as Lisp expressions) on the same keyboard. Obviously, it wouldn't be a real MUD, but as far as the environment within the MUD world goes, it would be a working MUD, & that's what a MUD is all about. Sessions & networking are technical details.

That's the big idea. If you wrote your MUD in Lisp, you'd have a functional, testable, virtual world in relatively short order. Relative to a language that doesn't have a read-eval-print loop, I mean. I presume the same benefits would apply to any interactive language.

That was my big idea, but there are a few more details

To convert your proto-MUD into a real MUD, you'd need to add session management & network connections.

One way to add sessions & networking would be to create an event loop in your Lisp program. It might have an event queue, & it would call your Lisp's (non-portable, non-standard) equivalent of Unix's select system call to collect the next command from a user. Yes, yes, yes, you probably need to buffer data from each session until you've received an entire command, & you need to validate the commands, & if you have pending events, you need to supply an appropriately calculated timeout value to lisp-select, but since when is this not part of managing multiple connections on a service? Once you had a whole command from a session, you'd parse the natural language into a Lisp expression, exactly like the Lisp expressions you could enter on the Lisp command line of your proto-MUD. Add a login step to create sessions, & you have a MUD.

Another way to add sessions & networking would be to do them in a front-end program, possibly written in C. You might want to do this if your Lisp didn't have a function that worked like Unix's select. You could write the front-end in a language that had networking support. (C would be perfect.) That language would collect & buffer input from each session until it had a complete command from some session. Then it would send the entire command in a as a string in a function call to the Lisp command line in your proto-MUD. The function call would contain the session identifier (or maybe the player identifier, if you wanted to handle security in the front-end program). For example, if I was logged into your MUD, & your front-end translated sessions to users, & I typed ``kill orc with sword'', the front-end might send ``(mud-command "gene" "kill orc with sword")'' to the Lisp proto-MUD. Of course, the front-end would collect output from the Lisp proto-MUD & route it to the appropriate session.

Another nice feature to add would be a Lisp interface. It could be an option. With it, the user would send Lisp expressions instead of natural language. (For security, you'd want to examine the expressions & filter those which were not benign, or you'd want to evaluate them in a sandbox.) Also in ``Lisp interface'' mode, the MUD would send results as Lisp expressions. The idea behind this would be to make it easier to write intelligent clients.2.3

Maybe I'll be writing a MUD in Lisp some time soon. It'll have to wait for me to finish the zillions & zillions of other things I'm supposed to be doing, though.


2.4 Sunday, 15 June

2.4.1 Virtual or Reality?

I've heard that, during the age of exploration2.4, artists would paint fanciful creatures, such as humans with alligator heads, & I'm sure they painted plenty of dragons. When people speculated whether such creatures could exist, one argument was that, if the human mind could imagine it, it must exist somewhere.

I don't think any of those explorers found any dragons or humans with alligator heads, but what about exploring virtual worlds? They are interactive, virtual realities embodied in computer code & data that has been designed to represent someone's imagination. Do virtual worlds make it true that anything in the human imagination could exist? And with enough virtual worlds, where anyone can create one, would it be true that anything imagined does exist?


2.5 Monday, 16 June

2.5.1 Music in Middle Earth

Is the most popular singer in Middle Earth named Elvish Presley?


2.6 Sunday, 22 June

2.6.1 Man vs. Machine

Here's an e-mail I wrote to some friends over a month ago.

From: Gene Michael Stover
To: a whole bunch of friends
Date: Fri, 16 May 2003 20:38:26 +0000
Subject: man vs machine

I went to the kitchen to buy Wonka Oompaloompas from the vending machine. Of course, my Oompas get stuck in the machine, so I buy a second one in the hopes that I'll get both of them.

First one falls, second one sticks.

Frustrated, I start beating the machine. I'm really wailing on it, & other people come to see what's up. They see that a man is fighting for his Oompas, & they cheer me on.

Machine wins. So I go get a cup of coffee.

On my way out, I stop at the machine once more & give it a whack in disgust. I drop my coffe, & the second Oompas plop into the tray.

I'm calling it a draw.

gene

2.6.2 Cats & Bunnies

Mia, a character in the .hack video game, looks like a bunny, but some other characters say she's a cat. In .hack//SIGN, the television series, there is a character which also looks like a bunny, but other characters say it's a cat.

In Boogiepop Phantom, there are some short scenes that show dead rabbits, but in at least one episode, someone says they are cats.

I know I have seen other images in anime & Japanese video games that look like bunnies but that are supposed to be cats. Is it a cultural difference in the perception of bunnies & cats?2.5 Are the Japanese artists using an intentionally stylized confusion of cats & bunnies?

2.6.3 A Definition

symmetry: (n) The difference between a Hershey's Kiss & a Hershey's Turd.


2.7 Friday, 27 June

2.7.1 Programming Contest

The annual ICFP programming contest begins today (if you're west of Sweden). Read about it at http://www.dtek.chalmers.se/groups/icfpcontest/index.html.

2.7.2 The Bush Administration Lies Lies Lies

Finally, the press is starting to stick its finger through the gaping holes in the stories & claims ... No, let's be frank about this. They lied. The press is finally talking about it.

I'm surprised there haven't been more sound-bites replayed to demonstrate the lies of the United States. This stuff is perfect sound bite material.

I can cut through the months of discussion which will hopefully arise from this:

Q: Where are the weapons of mass desctruction?

A: There never were any. The government of the United States wanted people to believe there were weapons so they wouldn't complain too much when the United States invaded another country.

The United States: Unwonted War-making peace-keeper of the world. Hypocritical freedom-preserving big brother.

Of course, the United States government is still trying to maintain the illusion that they are protecting freedoms rather than spreading destruction2.6, but it looks like they are facing some doubters even inside the U.S. government itself. Maybe there's hope, though I can't imagine that reality is fair enough that the war-making liars will pay. At worst, they'll retire as rich men.

3. July 2003


3.1 2 July

Ugh.

3.1.1 National Do Not Call Registry

I presume everyone has heard of the National Do Not Call Registry.

If you haven't, it's a newly opened place where you can place yourself on an official list of people who do not want to receive phone calls from telemarketers. Your information is placed on the list a few months after you enter it, & it stays there for some period, five years if I remember correctly.

3.1.2 Bad Numbers

Last week, a woman on the radio said that AIDS is the ``greatest plague in human history'', having killed about 70 million people.

The Bubonic Plague which killed people in Renaissance Europe beginning in 1348, killed perhaps one third to one half of Europe's population, most of the death toll occurring in the first two years of that plague.

I couldn't find an estimate of Europe's population at the time of the Bubonic Plague, but dim memory from some history classes in college says it was about one billion. One-third of one billion is about 333 million.

So while AIDS has killed about 70 million people in - what? - twenty years, for a killing rate of 3.5 million/year, the Bubonic Play may have killed 333 million in two years, for a killing rate of 166 million/year.

Which disease killed faster? Which disease is the worst plague in human history?

I really wish people would do the math once in a while. Even a rough estimate can get you a lot of useful place, & it's surely better than a gut feeling.

Why do people feel the need to make their trajedy the worst in human history? Isn't it horrible enough for trajedy to happen at all?


3.2 3 July 2003

3.2.1 Law & Virtual Worlds

There is an excellent article online about law & virtual worlds. It is ``The Laws of the Virtual Worlds'', by Lastowka & Hunter, at http://papers.ssrn.com/sol3/papers.cfm?abstract_id=402860.3.1It's actually a PDF that you can download from that page. It's an excellent article, highly recommended, which has inspired in me a lot of thoughts about virtual worlds. Here's one of them.

The article is about real world law & how it applies to virtual worlds. (From my own experiences, from noticing what's happening with online games, & from an article I read in Wired in 2002 & whose title I can't remember, I knew that virtual worlds & their economies were not non-existent, but the article has impressed me with just how significant they are. In a sense, those economies are real (& the article explains that sense).

The article reminded me of a conversation I had with Jay months ago in which we speculated about whether or not it could be possible to make a living by playing an online game full-time & cashing-in with real-world money. For example, someone might pay you to play with their character (on low-risk, varmit-killing missions) to level-up their characters while they were at work, so when they played in the evenings or once a week, they'd have a high-level character without having to spend all that time killing the varmits.

The article has made me wonder whether that fanciful idea is actually practical.

According to the article, it's possible. In fact, it's been done.

On pages 49 & 50, the article talks about how, because it is common to sell virtual-world goods on eBay, you can calculate the conversation rate between real-world monies & virtual-world monies. It's been done, by more than one economist. (I knew one guy had done it in an article in Wired, & I thought he was some kind of economic quack - even though I knew that virtual worlds weren't completely unreal.) The exchange rates change frequently, but they are inarguably determinable, & they are common enough that the virtual worlds effectively have gross domestic products. On page 50 or 51, the article says that some individuals in the world make six-figure USD3.2 incomes by selling virtual-world items on eBay in the real world.

Here's where it gets really fascinating, as in ``Woah, that's totally fascinating'': It turns out that that the hourly rate of earnings in one virtual world (Everquest, I think it said, but whatever) is 3.42 USD, which is significantly higher than the cost of living in some real-world, third-world companies. So a company named Blacksnow formed in Mexico. It paid unskilled laborers to play the game all day, & it sold their virtual loot to real-world players of the game. The online game company axed Blacksnow, but Blacksnow sued, claiming that they were playing the game by the rules (just killing monsters, basically), so what's the problem?

Sadly, the Blacksnow case never reached court because Blacksnow was disolved due to other financial problems which were not detailed in the article.


3.3 6 July 2003

3.3.1 Anime Girlfriend

At http://guru.theotaku.com/gfriend/gfriend.shtml, you can take a quiz to learn which anime girl would be your best match. I have dibs on Lain.


Who's Your Anime Girlfriend?


3.4 Monday, 7 July 2003

3.4.1 Virtual World Articles

That article I love so much ([11]), directed me to ``My Dinner with Catharine MacKinnan & Other Hazards of Theorizing Virtual Rape''. I haven't read it yet, but it's at the top of my list.

An unrelated source (someone who read something I wrote here), recommends http://www.ccs.neu.edu/home/dougo/thesis/000824/proposal/. I haven't read it yet, but it's supposed to be a description of an implementation of a MUD in Lisp, or maybe it is a MUD written in Lisp. It's second on my reading list.


3.5 Tuesday, 8 July 2003

3.5.1 Web Defacing Contest Debunkery

There was a ``hacking'' contest on Monday, 7 July 2003, in which the goal was to deface web sites. (I'll forgo my usual lecture about how defacing web sites, breaking into accounts, & stealing other computing resources is not hacking.)

Zone-H is a website that monitors cyber attacks & tallied the web sites that were affected. One article (``Hackers contest makes a mess of Internet'', in Sify News) quotes Zone-H's spokesman as saying that the day of the contest was ``the messiest day in the whole Internet history''. This is the messiest day in Internet history? Hell, I didn't see even one defaced website. I didn't notice any problems with Net performance at all.

Let's do some numbers.

Zone-H counted nearly 600 defaced web sites & points out that many sysops probably did not report their sites vandalized. Let's assume that, say, $\frac{1}{2}$ of sysops knew they could report to Zone-H & that $\frac{1}{2}$ of those sysops did so. Simple extrapolation suggests that 2,400 web sites were defaced.

According to ``The Spread of the Sapphire/Slammer Worm'', Slammer infected at least 75,000 hosts. I remember that day because my Internet connection at home was so slow as to be effectively unusable, & the connection at work was stopped dead.

If the website defacing contest infected 2,400 sites, & Slammer infected 75,000 sites & noticeably affected the Internet's operation, which is more likely the messiest day in the Internet's history?

What happens if we assume that $\frac{1}{10}$ of sysops knew they could report to Zone-H & only $\frac{1}{10}$ of those did so? Then the website defacing contest affected as many as 60,000 web sites, but slammer still inffected at least 75,000 & clogged the Internet for hours.

``The messiest day in Internet history''? Yeah sure whatever. I've said it before, & I'll say it again: I wish people would tdo some numbers before making claims.

3.5.2 Cat or Rabbit?

On 22 June, I wrote how I have noticed the confusion of rabbits & cats in Japanese anime & video games. Today, I found the answer. The answer is that the trend originated with Ryo-Oh-Ki from Tenchi Muyo. There is a discussion titled ``Cabbits in Japanese anime''. There are other pages in that article, which can be reached from the URL I've given, & they discuss the common, multi-cultural folklore of cat/rabbit confusion.

3.5.3 Sean Gorman

A student's doctoral dissertation about the connectedness of the United States' communication network has some people very nervous. See ``Dissertation Could Be Security Threat'', by Laura Blumenfeld.

I have two observations:

  1. Instead of censoring it, how about fixing the security problems? Then everyone could talk about it, but there would be no security danger.

  2. Some corporate & government leaders were surprised that their communications systems are so interconnected? A communications system is a network. What else did they expect?

One of the methods of censorship that might happen, according to the article, is through funding. Someone might give Gorman a grant along with the obligation that he publish to a select, limited audience. So it's not like anyone is trying to slap a gag order on him & confiscate his thesis. It's voluntary censorship, with money as the carrot, & that's okay.


3.6 Wednesday, 9 July

3.6.1 Virtual Rape & Freedom of Speech

In 1993, Julian Dibbell wrote ``A Rape in Cyberspace''. In 1996, he talked about it at a conference at MIT. That speech is ``My Dinner With Catharine MacKinnon And Other Hazards of Theorizing Virtual Rape''. Both articles are excellent.

Though I'm a long-time inhabitant of virtual worlds, I didn't expect that speech in the virtual worlds so quickly rubs against social propriety & other issues that are so easily separated from speech in the real world. Mr Dibbell also makes a good point that the issue isn't binary. It's an complex, difficult, fuzzy issue, probably with no unquestionably universal solutions. When issues of freedom of speech arise in the real world, I'm one of those people who say that freedom of speech should take precedent unless someone has a very, very, very good, unambiguously defined reason otherwise, & the consequences would be to limit freedom of speech in a very, very, very narrow way. I see now that such thinking will only make wars in cyberspace.3.3

Dibbell makes a case that though the attack was only an exchange of words, it created in observers many of the emotions that similar attacks in the real world do so the attack was real in that respect, at least. He supplies one or two reasons that an act in a virtual world is in some sense real, & I have another way of thinking that comes to a similar conclusion.

Words are an encoding of information that originate in a human mind & which have little or no effect on the real world, as observed by humanity in its day-to-day lives, until the words inspire a human mind to take action. In short, the ability for words to affect reality is purely in our minds, literally.3.4

Everything in a virtual world is made from information. In a virtual world, there is no distinction between information & reality. Information is reality, & words are information.

Notice that the penalty for rape in Lambda MOO was death. More importantly, notice that the users did not seek revenge in the real world. Action in the Lambda MOO virtual world was enough for them. Doesn't this suggest that the virtual world is a reality within its context? Otherwise, they would have sought redress in the real world.

3.6.2 The Sims Turn Criminal

What a coincidence. The very next article on my reading list is about how the masses may soon be asking the same questions Julian Dibbell did ten years ago. Let's hope they put some careful thought into the ramifications of any answers they choose. ``Sims Griefers Get More Publicity''


3.7 Thursday, 10 July

3.7.1 Programming MOO

A quick introduction to programming MOO-type MUDS is ``Colin's Way Easy Intro Guide to MOO Programming'' (http://members.tripod.com/~Snowfall/Way_Easy_Guide.latest.html).

At the bottom of that page is a link to the MOOring.

One of the sites on that web ring is MOO Tapping Magazine.

3.7.2 Xerox Parc

You run across the most interesting old sites when you read about MUD history & programming, especially Lambda MOO. Check out ftp://ftp.parc.xerox.com/. The readme file, PARCFTP-README, tells what's there. Lots of neat-o stuff.

I was looking for Lambda Core, a database that I might need if I installed my own MOO, & the site directed me to the official Lambda MOO FTP site, ftp://ftp.lambda.moo.mud.org/pub/MOO. The latest snapshot of Lambda Core is dated 22 February 1999. It's a mere 2.2 megabytes, uncompressed. Cool. I thought it'd be much larger. Then again, I guess it's just verbs & some basic prototype objects, no geography. The geography database could be significantly larger. I'm sure it is. Lambda Core also a flat-file; no relational database required (I guess). Again cool.

3.7.3 Defacer's Challenge

``Hacker Challenge Fizzles''. is another article about last weekend's Defacer's Challenge. It has some information that the previous articles I mentioned on the topic don't. Seems that it may have been the most chaotic day Zone-H has seen, but still not nearly the worst day the Internet has seen, much less will. It's also funny that the contestants made the score keeping site effectively useless as a score-keeper (or anything else). A few groups may have done that intelligently, but most must have done it through ignorance. The power of script kiddies is the power of the unwashed ignorant masses - propelled by juvenile excitement.


3.8 Friday, 11 July

3.8.1 More Reading about MUDs

More MUD-reading today. Here are some places I visited, mostly without comments from me.

  1. The Mud Connector, http://www.mudconnect.com/. The ``MUD Resources'' page on that site led me to most of the following links.

  2. AIME Mud Engine, http://aime.sourceforge.net. Some nice ideas for a MUD engine, but it looks like there has been no activity since 2001.

  3. Amberyl's MUD Resource Collection, http://www.godlike.com/muds/. It's a really nice index of MUD information, but most of the links are dead. Bummer, really; looks like a lot of good information will not be preserved for posterity by the information superhighway. And just the other day, someone was telling me that the Internet obsoletes libraries.

  4. Anatolia, http://www.anatoliamud.org/. Apparently a dead link. The hostname resolves to 67.122.102.212. My web browser made a TCP connection, but the remote server never sent data in reply.

  5. Electric Soup - Your Source for MU*News, http://www.electricsoup.net. It's like a newspaper & message board for MUDding. Appears to be alive, well, & currently maintained. Cool.

  6. Jehuda's LPMUD support pages, http://www.geocities.com/TimesSquare/Realm/4716/index-e.html. The growly face on the front page scared me away.

  7. MUSH Warehouse, http://lost.strange.com/mush/

  8. Amberyl's MUSH Manual, http://www.godlike.com/mushman/. Excellent! Paused reading at http://www.godlike.com/mushman/man2x1.txt, ``You can lock things to attributes''.

  9. TinyCWRU web site, http://tinycwru.tinymush.org/~tinycwru/. Connection refused. Damn.

  10. I downloaded the TinyMUSH 2.2.2 sources from ftp://ftp.cis.upenn.edu/pub/lwl/src/2.2/tinymush-2.2.2.tar.gz. I found that URL at The MUD Resource Collection FTP Archives''. It really is tiny - 1.8 megabytes, uncompressed, & it compressed to 450 kilobytes.


3.9 Friday, 18 July

3.9.1 Iraq Scandal?

The world has been witnessing the politics of how much the governments of the United States and Brittain twisted the facts to make their case to invade Iraq. Today, we learn that someone may have died about it. I'd say that turns this political issue into a scandal - & not of the frivolous ``who sleeps with whom'' sort.

And it looks like the United States and Brittain failed in their crappy attempt to kill Saddam Hussein:

Just goes to show you that no matter how you twist the truth, no matter how many people you fool, & no matter how thoroughly you convince yourself that you are doing good for humanity & not suffering from xenophobia, there is a good chance you'll still fail.

The real bummer is that most humans are sheep, or at least too busy with the difficulties of modern life, to make sufficient noise about all this. So the paranoid fools in power will remain in power.


3.10 Monday, 21 July

``Blair suffers as probe into dead scientist launched, by Katherine Baldwin and Mike Peacock, Reuters.


3.11 Tuesday, 22 July

  1. ``htmladdnormallinkfootBlair ally lays responsibility for suicide on BBC British PM's poll numbers drophttp://www.sfgate.com/cgi-bin/article.cgi?file=/chronicle/archive/2003/07/22/MN217959.DTL'', by Glenn Frankel, Washington Post.

    There is no way it was suicide, unless there were signs that David Kelly was already depressed. Even if there were, isn't it just a little suspicious that he would turn up dead when he did?

    It wasn't ``crass'' or otherwise irresponsible or unprofessional for the BBC to publish the claims that the British government (& that of the United States) had exaggerated claims of the danger from Iraq. They claimed that Iraq could cause mass death or destruction by deploying chemical or biological weapons at a 45 minute notice. If this wasn't an exhaggeration, I have a bridge to sell you.

  2. ``Democratic candidate calls on Cheney to explain his role in intelligence flap'', by Malia Rulon, Associated Press, http://www.bayarea.com/mld/mercurynews/news/special_packages/iraq/6358316.htm.

  3. ``Findings Made Public By White House Concluded Saddam Sought Nuclear Weapons'', by Ron Hutcheson, Knight Ridder, http://www.bayarea.com/mld/mercurynews/news/special_packages/iraq/6339324.htm.

    Among many things in this article, the last paragraph says that President Bush's speechwriters used one set of intelligence information, ignoring others. That's fine on a literal level, but the implication is that President Bush is not responsible for what he said. A world leader isn't responsible for what he says? A world leader who can cause one country to invade another country & kill people (justly or otherwise), isn't responsible for his words? What's wrong with this picture?

  4. ``Eiffel Tower On Fire In Paris'', Click2Houston.com.

    As if it weren't shocking enough that the Eiffel tower is on fire, it's on fire in Paris. Imagine that.


3.12 Wednesday, 23 July

  1. ``Saving the Net'', by Doc Searls, Linux Journal.

  2. ``The Evolution of Games: Originality & Chreodes'', by Chris Bateman, International Game Developers Association (IGDA), http://www.igda.org/articles/cbateman_evolution.php.


3.13 Thursday, 24 July

  1. Slashdot Questions for DoJ IP Attorneys Asked and Answered.

    Very informative. I still fear for my rights as the music, movie, & other parts of the entertainment industry limit them by lobbying ignorant or uncaring congressmen, but I see that the Department of Justice is just doing its job. The laws (or the bills which might become law) are the problem. If the laws were fair, the DoJ would be your friend instead of your inquisitor. (To be fair, the answers remind that the RIAA's suit against copyright-violating college students is a civil suit, not a criminal one, so the DoJ has nothing to do with it.)

    Sadly, I have suspected for a while that many technical people believe that it is okay to break the law by illegally copying because they disagree with copyright law. There's an old argument for that (``civil disobedience''), but I suspect most people do it from ethical sloth rather than moral conviction. One of the questions (number 6) was evidence that this view of mine is correct. Bummer, that.


3.14 Friday, 25 July

  1. Virtual Morality Gives Pause For Thought, Slashdot, http://games.slashdot.org/article.pl?sid=03/07/23/1714248.

    The main item of interest on that Slashdot page is a link to ``White knights fight for virtual morality // Games producers aim mature content at audiences that really are mature'', by Kevin Marron, the Globe & Mail, http://www.globeandmail.com/servlet/ArticleNews/TPStory/LAC/20030723/GAME23/TPBusiness/General.

    The article offers some interesting food for thought, though the article itself is not insightful.

  2. ``Chance to foil 9/11 plot lost here, report finds'', by Kelly Thornton, Union-Tribune, http://www.signonsandiego.com/news/nation/terror/20030725-9999_1n25report.html.

    Especially interesting were the paragraphs about the landlord of two of the 9/11 hijackers. He was also an unwitting FBI stoolie, & the whole description of him & his relationship with an FBI agent named Butler reminded me of Spy Game. I wonder if he fears for his life now. I wonder if he was as unwitting as he appears.

  3. ``U.S. ignored Sept. 11 warnings // Inquiry concludes agencies failed to act on al-Qaeda cell preparing for attack'', by Zev Singer and Ken Guggenheim, The Ottawa Citizen, http://canada.com/national/story.asp?id=90568502-0E8B-46A3-8B3E-8C837A47EA7E.

  4. ``Mr. Magoo?'' by Elanor Clift, MSNBC, http://www.msnbc.com/news/944207.asp?0cv=KB20.

    I've said for years that, when ex-presidents talk, people should listen. Their chapters are already written about them in history books, they have nothing more to prove, nobody to convince, & they've seen the dirty secrets that governments tell us we should be glad they handle so we don't need to know they exist. They don't even need to pander to a political party any more. So when an ex-president gives advice, it should be weighed heavily.

  5. ``Why Outsource When Workers are Willing to Telecommute?'', Slashdot, http://ask.slashdot.org/article.pl?sid=03/07/22/1757205.

    I keep wondering what the ultimate effect of exporting jobs will be. After some admitedly ugly pain that I would rather not experience, won't it have the effect of an economic diffusion, raising the living cost in some countries & lowering them in others until they are close enough that the extra cost of remote workers is significant? Then companies would again prefer local workers.

    If that's what would happen, then we might as well encourage out-sourcing & other ways in which jobs are exported. Painful now but easier in the long run.

    But I'm not sure that's what would happen.

  6. Dude on the radio is suggesting that ``bright'' be the term for aethesit, agnostic, naturalist people. Interesting idea. The term ain't bad. ``I'm a bright''. It almost works.

    Of course, the next guest on the radio is a believer & says it's preposterous that aetheists are underrepresented.

  7. ``The 25 Smartest Moments in Gaming'', Game Spy, http://www.gamespy.com/articles/july03/25smartest/.

  8. ``The 25 Dumbest Moments in Gaming'', Game Spy, http://www.gamespy.com/articles/june03/dumbestmoments/index.shtml.


3.15 Wednesday, 30 July

3.15.1 The ``SCO Is A Bastard'' Files

``IBM Points Out SCO's GPL Software Distribution'', by Mike Angelo, Mozilla Quest, http://yro.slashdot.org/article.pl?sid=03/07/29/0049210.

3.15.2 Lies Lie in Iraq

``Bush Takes Responsibility for Iraq Claims'', by Mike Allen, Washington Post, http://www.washingtonpost.com/wp-dyn/articles/A2184-2003Jul30.html.

The really important part of this article wasn't about Iraq. It was about marriage:

Bush said administration lawyers are drafting a law that would define marriage as a union between a man and a woman, stopping short of endorsing the constitution ban on gay marriage that is being championed by some Republican leaders following a Supreme Court ruling that effectively decriminalized sodomy.

I may never understand the conservative, Republican, white-bread, Christian preoccupation with marriage. It's just a license & a ceremony. People who don't take the commitment seriously are married all the time, & marriage is not necessary to validate love & commitment. Why are they so fucking concerned with who is allowed to marry?

4. August 2003


4.1 Sunday, 3 August

It's August already. I haven't read many online articles in days, but I guess I should write something. Hmmm... Okay, here's something:

Silent Hill 3 is released in just three more days! I can hardly wait. The two previous Silent Hills are two of my five favorite games. I purchased my copy of Silent Hill 3 before its release, in June 2002, over a year ago.


4.2 Tuesday, 5 August

4.2.1 Origin of Lisp Notation

There's an interesting post on Usenet's comp.lang.lisp about the origin of Lisp's parenthesized prefix notation. Here it is:

Subject: History of parenthesized prefix notation (was: Intresting writings similar to Chaitin's?)
From: "Anton van Straaten" $<$anton@appsolutions.com$>$
Date: Tue, 05 Aug 2003 13:15:47 GMT
Newsgroups: comp.lang.lisp

"Tayss" wrote:

Does anyone know interesting lispish stuff similar to Gregory Chaitin's papers? His work is apparently all about finding the limits of math, continuing Gödel's and Turing's work, and one can find lisp hidden in lots of places in his work. I wonder if there's anything else in that vein. Maybe something by Quine, who as I heard invented the lisp-like prefix notation and contributed quite a bit to philosophy?

Not answering the question, but I was curious about the Quine reference and did some investigation. I can't find any info about Quine having ``invented the lisp-like prefix notation''. Prefix notation, a.k.a. Polish notation originated with Jan Lukasiewicz in the 1920's. This was a parenthesis-free notation which relied on all operators having known arity - specifically, binary. See e.g. http://www.philosophypages.com/dy/p7.htm for an example.

However, John McCarthy credits both Lukasiewicz and Quine at http://www-formal.stanford.edu/jmc/history/lisp/node3.html, as follows:

``This notation later came to be called `Cambridge Polish', because it resembled the prefix notation of Lukasiewicz, and because we noticed that Quine had also used a parenthesized prefix notation.''

So McCarthy agrees about the originator of prefix notation, but attributes the use of a *parenthesized* prefix notation to Quine. I've been unable to find any other reference to this parenthesized prefix notation, though.

In the foreword to Schonfinkel's ``On the building blocks of mathematical logic'', which was the first description of combinatory logic, Quine apparently suggested using a Polish-style prefix notation for function application, specifically to *eliminate* the need for parentheses in combinatory logic. I'm basing this on a passing reference at http://www.latrobe.edu.au/philosophy/phimvt/joy/j00rat.html : ``As yet another applicative notation, to eliminate parentheses completely, Quine in his foreword to the Schoenfinkel (1924) reprint suggested using prefix for [function] application, thus: @fx, @@gxy and so on.''

So it isn't clear when, if ever, Quine actually used a parenthesized prefix notation. I haven't exactly done a thorough search, but I'm told it doesn't appear in any of Quine's books. Does anyone know what McCarthy might be referring to?

(The history of Lisp syntax is at stake, and I'm told we shouldn't make light of syntax!)

Anton


4.3 Saturday, 9 August

4.3.1 Silent Hill 3

I had a great time playing Silent Hill 3 for almost two days straight. Then it got too scary. It'd be more accurate to say it got too disturbing. So I stopped for about a day. I finished it last night. It turned out that I was just one puzzle away from the final boss.

Man, I love that game (all three of the Silent Hills). They are more frightening & disturbing than any horror movie I know ... um, except maybe for George Romero's 1986(?) remake of ``Night of the Living Dead''4.1 & maybe ``Jacob's Ladder''. Those movies might be as disturbing as Silent Hill.

The game has an advantage over a movie because it is interactive & it lasts much longer4.2. The game is more immersive. So even the rare horror movie which is of equal quality is at a disadvantage because it is short & it's not interactive.


4.4 Tuesday, 12 August 2003

4.4.1 DCOM Security Hole

There's a virus loose that exploits a buffer overflow in DCOM. It caught my eye because I am thinking of implementing DCOM in Lisp.

  1. The bug is announced on Bugtraq, http://www.securityfocus.com/archive/1/329283/2003-07-13/2003-07-19/0, but there are no technical details there.

  2. Announcement that a worm, called Msblaster, exploits the bug & began spreading this morning, http://isc.sans.org/diary.html?date=2003-08-11.

  3. ``Windows Worm Spreading Rapidly'', by Jay Wrolstad of NewsFactor Network, http://www.newsfactor.com/perl/story/22072.html

  4. ``Worm hits Valley computers'', The Business Journal, http://phoenix.bizjournals.com/phoenix/stories/2003/08/11/daily16.html. This is a more amuzing article, mostly because it is written for (or by) people who, well, may not have been aware that computers have virii & worms, too.

Sounds like the worm has been spreading since yesterday afternoon, but it's news to me as of 2003-Aug-12 T 23:45 GMT (today). It explains why a friend on the phone yesterday had all the alarms & phones in his office hit the fan. He runs a ``fix your computer, lady?'' style task-force company. He had said a bunch of servers were crashing & it would be a busy day. In retrospect, I'm betting his clients were hit by the worm & were phoning him for the fix, pronto. I'll bet it was a busy day; haven't heard from him since.

4.5 Wednesday, 13 August

4.5.1 Programming Games

Have you ever seen ``Name That Tune''? A contestant will say ``I can name that tune in 4 notes'' (or some