Saturday, March 27, 2004

Games for the Future

interactive fiction :: games :: technology

What is a game? Why do people play them? What are people's past
experiences with games? What do they want from them in the future?

I'm sure the gaming industry has poured tons of money and research
into answering these very questions. I have no idea what the public may
want from games; but I can share my own views on the matter.

It is my personal opinion that games exercise that desperate human
element that still longs to be running across the plains with it's
closet tribe members, providing food from the hunt for the community,
being a vital part of the never ending cycle: life and death and life.
We want to touch magic that is "real"; we want an immersive environment
that takes us away from the every-day find-the-cheese-in-the-maze

Playing games let us touch this in ways that are either not possible
or at best very difficult to attain practically. We've played things
like "Pong" or "Donkey Kong"... then there was "Doom" and "Quake" --
all of these games changed our lives in one little way or another. Then
there were more recent knock-outs like "System Shock 2", "Deus Ex", and
"Morrowind." These were much more involved and took the gamer deeper
into another world.

However, the games that I return to over and over again, what little
time I have left to game, are the ones with great story lines: when on
the train with my laptop and no connection to the net, I like to fire
up Zork or Nethack. When I do have an internet connection, I like to
play MUDs and MUSHes. I have even built MUSHes of my own. I even used
one for business -- a place where partners and co-workers could chat
online in a unique, friendly environment. Community-based and living,
these strike me for two reasons:

1) I am a voracious reader. I love words and good stories. I love my imagination;

2) I'm a sucker for that old feeling of sitting around with a bunch of friends playing pen-and-paper RPGs.

Along these lines, I've been working with some friends over the past
year building a universe (history, story-line, etc.) that encompases a
huge time frame with lots of interesting possibilities for game play.
We strive to capture everything from science and politics to mysticism
and space travel; linguistics and psycology to economics and
anthropology. Writing the history and developing the languages has been
the best part of this for me. Playing the game will simply be icing on
the cake.

Though some of us have dreams of making 3D environments that echo
this "reality", my aspirations are far simpler: I want to write fun
code, and I want to play with others in my imagination and I want them
to play with me in theirs. A good MUD or MUSH allows for this kind of
interaction with others in a story environment that brings what I like
about gaming together. When it comes down to it, graphics are great but
they are not the reason I play. It's the story that drives me. It's the
people and creative setting that make it fun. The better the story and
the more immersive the environment, the closer I come to capturing that
feeling of running across the plains with my tribe mates ;-)

Dinosaurs and Mammals

Large software corporations like Microsoft and Oracle in addition to groups of software developers like elements in the Open Source community are giving the world new versions of the same thing: monolithic software for a world that no longer needs or wants such products.

Take for example Microsoft Exchange Server: this is a heavy-duty, if often ridiculed, system of software. This software was meant to handle hundreds to thousands of users and their information. What about the company that wants a Microsoft solution but only has 50 users? They have to pay for Exchange. Yeah, you can get a great discount, etc., but I'm not talking about price -- I'm talking about need. And designing software for need.

Oracle is more guilty of this sin. Let's say I need to have my data highly distributed on remote machines, but that I don't have tons of data and I don't need the horsepower Oracle can provide. Yet, if I use their product or any other large RDBMS like PostgreSQL, SQL Server, or even MySQL, I am using the wrong tool for the job.

Another example: Apache is the world's most popular Web server, but let me commit heresy and ask "Why?" How many people need it's speed? Or its capacity to handle millions of requests? Think of the hundreds of thousands of web sites out there that are visited once a day or once a month. Using something like apache for these is engineering overkill.

Microsoft and Oracle as well as organizations like the Apache Foundation, MySQL, and PostgreSQL are producing software dinosaurs. The have lived, they have thrived, they have helped define our information universe. That universe is changing. With the introduction of programming languages and development processes that foster rapid development, for the first time in the history of modern technology, we are in a place to design enterprise software around the needs of the end user (individulas and organizations), not around the needs of licensing structures and coporate philosophies. Imagine that the motivation behind software development wasn't market domination, but rather market diversity. The right tool for the right job.

I haven't counted the lines of code in the apache web server, but let's just say it's 100,000 lines. What if I only need to serve a couple pages per second and a max of 100 concurrent sessions? What if I could use Web server software that could provide what I need in only 200 lines of code? 100? 6? Why should I use Apache for projects that don't require Apache's strengths? The same thing for my email server and calendar application. What if I could do the same thing for all my networked applications? What if in addition to being small, this software was highly distributable as well? What if I could build office applications perfectly suited for a firm of 40 employees, and they didn't have to pay for licensing of the cliched software products? In addition, as the firm grew, this software could support 100, 1,000, or 100,000 users just as easily simply by adding the required light-weight components.

Software like this is easier to setup and maintain. It's easier to get involved with and understand. It's easier to modify, add to, customize, and enhance. It's easier to provide your firm with what they need.
Enter the new software and application engineering model: the mammal. This is where we are heading. Imgine application servers so light-weight they could run on a 9-volt battery for a week. Imagine them embedded in hundreds of devices all over the country or even the globe... so cheap and distributed, it didn't matter if one went down or even if twenty of them went down. They are quick, nimble mammals, not lumbering dinosaurs.

There are already software developers working on projects with views and goals along these lines. Watch for them: they are small and furry. They move quickly and quietly. Pay attention to them; they will one day rule the world.

The Printing Press, Literacy, Education, and Unalienable Rights

community :: technology :: education

There seems to be some very interesting things afoot these
days... subtle revolutions in the works... large-scale evolution taking
place. We are seeing this in all areas of society: technology, law,
government, education, religion and spirituality, and most importantly,
in the community. What follows are some outlines of things my friends
and I have been discussing.

Version 1.0

* Clergy hold monopoly on the written word

* Guttenburg's Press

* Literacy

* Higher Education

Version 2.0

* Corporations and their teams of programmers hold monopoly on software

* Open Source Software movement, improved high-level languages that everyone can learn

* Computer literacy grows

* Information for everyone; power of software generation for everyone

More thoughts on this later...

A Revolutionary's Cookbook


So you want to start a revolution? Well, hey, we all want to
change the world. Who are the world changers? Some of them are like
great machines that chew up everything in front of them. Others are
charismatic, fervor inspiring fanatics. There are all kinds. My
favorites, though, are the ones I model my behavior after: parents.

Take it from the Buddha: life sucks. Then we die. Then we get reborn
and have to learn all over again that life sucks. People hate this; it
makes them crazy and irritable. So, when people come in contact with
others who don't seem so upset about the fact that life sucks, it's

We're all screwed up; it's the nature of humanity (biochemical
analog programming). We learn crap at an early age that we spend the
rest of our lives dealing with. But when we meet people who embrace
this craziness, things seem okay. We breath a little lighter. Hell, we
might even smile ;-)

Sometimes these sunny folk are even a little stable; sometimes
they're not nomadic hippies; sometimes they seem kinda normal. When
these people stick around in one area, they start to make friends --
people want to be near them. Their positive outlook is not some
bullshit facade, but rather a living reality; one that is upheld as
genuine by proof of these people's actions.

Watching them makes me realize that they treat every part of the
world as if it was their precious child. Every interaction with
existance and all its suffering is both a learning experience and a
teaching experience. I like being around this and I want to be more
like them. These people are community seedlings. They are like the
initial structure and catalyst around which crystals form. They are the