Hold On
March 3rd, 2009 at 11:24 am
Hey everyone in internet land.
I haven't updates this in a while, obviously, and the moo has fallen somewhat out of vogue. Just wanted to say I'm still alive, and there are some other things I have been working on that I'll post about in the new future.
Until then!
Small Changes, a Related Project
December 7th, 2008 at 2:16 pm
Since I last posted, I've made a bunch of small changes to the MOO. You can now specify how to handle each HTTP method separately, as well as have any request forwarded to another URL. The latter is especially important, because it effectively allows you to create hierarchies of objects: You can create an object at the top level, and then put its URL as a "forward-dir" into another object's member.
For example, http://moo.jesserusak.com/id/parent has a single member, named "child", that forwards all GET requests to http://moo.jesserusak.com/id/another_object, which has a "foo" member. So, if you go to http://moo.jesserusak.com/id/parent/child/foo, it returns you the "foo" member of another_object. This is the basis of making object hierarchies.
I also stumbled upon a project with many of the same ideas as this one: NetKernel. They share the ideas of having everything URL-accessible, with a uniform interface, as well as many of the optimizations I was planning to add later. They even use the same platform: the JVM. Their documentation, especially the "architecture" and "features" sections, is an interesting read. One of the major goals of the MOO, though, that they don't share, is to allow anyone to use it without installing everything. I think this is more important than the performance you get in exchange for local installation.
Most of my effort, recently, has been directed elsewhere. Hopefully I will pick this effort back up in the new year. There's a MOO to be made!
Protomoo
November 20th, 2008 at 9:11 pm
Greetings once again.
So, with a slight revamp and some moving around, the blog is back and now much awesomer, as it is powered by Osxome, written by Gavin, rather than by MobileMe.
In addition, I have been furiously at work on the Moo. This has been helped by the fact that I've finished up several projects for work, and so have some free time.
So far, I've got a server that implements a simple object model around HTTP requests. Objects are URLs, and they have HTTP GET, PUT and DELETE-able members. Of course, to round out the gang of methods, you can also POST to them. When you do, they are run as Javascript. (Via the magic of Rhino.) I think this makes for some interesting possibilities, as it makes it easy to shove some code online and let people play with it.
The object system is prototype-based (which seems to be in vogue), so any lookups that don't find a member in the object they're sent to are forwarded to that object's prototype. Since the prototype is just a URL, this means that you could potentially inherit from an object hosted on another server. This is the start of my plan to let anyone join in on this Moo without needing permission from the home server - you can just put up your own objects on your web space.
Anyway, there isn't much more to say other than to point you at it, and ask for kindness. It's hosted on a tiny little VPS, and I'd appreciate you not trying to break it too badly. Shamus and Gavin have already played around a bit; Shamus put together a some basic Moo-ish features in a few minutes earlier today.
So, Enjoy! If it seems to be down, poke me via email and I'll try to resuscitate as needed. Hopefully next week will have some more Moo-style fleshing out, and maybe even inter-player communication!
Start!
November 11th, 2008 at 7:00 pm
Here we go.
I've put up this blog to get myself started and working on a project. For starters, I think I'll work on a MOO, incorporating some elements from other projects I've been thinking about.
I'm really interested in working on a system where many people can contribute content separately (and easily), but have it all still work together. That means it should be fun for anyone (any programmer, initially) to add to the environment of the MOO, without requiring any kind of centralized control. Think distributed version control, but for a virtual world. We shall see how it goes!
The eventual goal is to take this beyond text; consider this the "one to throw away."
Hopefully, I'll be posting weekly or so, showing some progress or at least fleshing out some ideas. If you want to tag along, please do!
