Saturday, December 22, 2007

The Naughty Nine

Ok, appears I've been counted.

As you all know, I don't do slex, (and lately I've not been much in SL whatsoever), so the below will be from the purely theoretical perspective.

So, name the avatar that I would most like to have sl sex with *if* was doing sl sex…..

1. Their av.

I've seen quite a few female SL avs whose looks I liked. Probably a few hundred. Also, if they ever implemented a proper SLpregnancy, etc. etc. (Just imagine if any new played would not pop up out of the blue, but could optionally select themselves an avatar produced as an average of settings of the male and female avs. I think it might be fun and would save some time on tweaking the settings for a lot of folks :) So, the answer for this one goes "A few hundred of those that I fail to remember now". So any female av who feels they have nice looks, consider yourself tagged :)

2. Their mind

Here I'd put Tiessa. Her mind is one of the most interesting constructs in SL I've found to date. (well, and just to prevent the formal complaints about "only the mind" from her - I'm fairly positive the body is within the set of answers for the (1) as well.

3. Their poetic/mystical/creative spirit.

Here the obvious winner is Vint - I can't stop being amazed by the amount of creativity and passion she is putting into everything she does - from the SLelections to the art gallery. And the magic she can make out of a function called "snapshot". You have to see it. (of course, the same comment about (1) applies.

4. Their social success/success in sl.

I'd probably put Helena here. What she did in PL was quite an achievement. Quite a cute av too (see (1))

5. Their libido, that is the thing they seem to want to do from how they talk and act.

Veyron. She was quite persistently trying to get me to explore the more unorthodox areas of SL, which definitely deserves a credit. :-) [*(1)]

6. Want to go against type for you. That is, if they are normally a top, you would want them to be your bottom, if they are straight and your same sl gender…

I don't like the forced sacrifices - it smells too much drama. So, any volunteer from the pool in (1) is welcome to pick up this place.

7. You would go against type for.

Partially for the same reason as (6), this space is blank. Another problem - I think I don't really have a stable type, so depending on where one puts the beginning of coordinates, every other answer might apply.

8. You would most want to do a nothing-but-sex week with, who you are not currently having sl sex with.

Heck, that's a *lot* of typing. I'm getting too old for this :-)

9. Threesome, which two. They don’t have to be from the above list, but can be.

Gather with Nicholaz Beresford and Barney Boomslang and go for a few beers and some geek talk somewhere in a good pub. What ? you asked about sex ? nah, I don't think so. Again, too much typing and distractions.

The tenth question:

“The forbidden,” the one that, you’d like to publicly confess to, but the consequences would be toooooo awful. Examples would be your best friend’s partner, a professional contact, someone you know rl who is here… Someone who you want, but have never been able to confess it too. Don’t post… Just answer with whether they are online right at the moment that you post your answer.

Not on SL despite of my fervent attempts to drag in. And given the chronic lack of time lately - probably irrelevant anyway.

Monday, December 17, 2007

How much is your blog worth ?

Geez. I did not expect it to be worth so much :-)

My blog is worth $22,581.60.
How much is your blog worth?

Behold: a nice image search tool

Via Around the corner.

Quite an impressive image search for Flickr...

Sunday, December 16, 2007

About unreadable programs...


No, I did not break the keyboard. The above is actually a program, in a language called Brainfuck. Well, looking at the program's readability , I can not disagree with the choice of the name for the language.

Free hugs: free as in beer or free as in speech ?

Stumbled across the Free hugs post from Tymmerie.

The first reaction - "argh. the bloody consumerism. 'come and get yours for free! the next batch is at a discount!'" type of thing, or "Genuine! as shown on TV!" - which is probably convincing to some - but to me is more a sort of badmouthing. They won't show anything all too good on TV these days, imho.

But then, thinking of it - a hug from a total stranger that you would not see anymore is indeed truly "free". Just let them hang around bit more - and you will get entangled into the web of obligations and promises. If you stay longer - you might get even deeper - it would be called "family" then. Totally trapped.

So - since these offered hugs do not have any binding properties (although, take a careful look at the back of the sign - they might have written something in small letters there!), indeed they're free, not in the TV-ad-sense, rather in the true sense.

But for some reason the value of these feels much less.

For some things you'd rather forfeit your freedom...

Saturday, December 15, 2007

Miscreants Live! tonight on SL

Ok, after reading this post, I figure I would write something up about Celine Ballinger and those other criminals that follow their paths.

It's amusing how fast-paced SL is. It took the RL more than 2005 years to get to the file encryption extortion worms, and it took SL - how much ? 5 years ? To get to the human-powered land grabbing extortion worms with a slightly cynical flavour. Criminals you can talk to.

All this junk about "Not a lot of people give land back where they can make easy $450"... There are even easier ways to make even bigger money. Put a web server, make it look like a bank website, let people stumble on it and ask for their credit card information. This easy avenue of getting money is called "Phishing". Luckily, at least sometimes those creative individuals go to jail. Although I think they should be put onto the life-long community work of fixing the PCs damaged by the malware. And no cheating - the reinstalls are not allowed!

The usability drawbacks of the SL interface should not be an excuse to "teach" the others in such an ugly way.

Of course, there are a few very easy ways to fix this:

1) if the land is set on sale to anyone at significantly below the market value, to put a captcha.

2) by default, ask if the land is being sold to someone specific - and make the targeted sale the default modus operandi.

Indeed, technically (disclaimer: IANAL), this might be "within the bounds". But if you went into a shop owned by a mom and pop, and noticed that a very expensive thing had its pricing sticker mis-placed such that it reads 1/10th of the price, and the college kid just went ahead and charged you that 1/10th of the price - would you be happy with your new buy, knowing that mom, pop and the college kid will have to repay what you "saved" ?

And for the victims of such an event - after hearing the suggestions about ransom, I would suggest to send all the logs to LL immediately, and request the suspension/termination of the said account. And when the miscreants will suggest to tone it down with LL - indeed you can do it. *After* they return the land *and* pay *you* for their behaviour. Don't be greedy, L$1000 will be enough of an amount. Afterwards you can donate the money to some good cause - and those guys maybe can go and buy a laptop to some child in a poorer country.

If anyone with a professional lawyer background happens to read this - would be very interesting to know whether this kind of activity can indeed be classified legally as a computer crime.

If yes - this can be a very effective way to control this mess.

Thursday, December 13, 2007

The start of the newer religion...

Everyone is gossiping the hell about Cory Ondrejka no longer keeping the CTO position (the question "has he left or was he fired" is quite irrelevant - first, it's strictly personal matter, second, I do not think the end result differs a whole lot).

For a change, I'm gonna crosslink the Prok. The post on the subject is pretty much without venom (thank you!) and reading the comparison
of differences of Philip and Cory, and a mention of Tao close to each other, I can not help but wonder - are we left with Yin or Yang now ? :-)

And in the end even that does not matter - you can have a position of something only relative to something else; and once there's no "something else" - the question becomes moot.

My guessing is that as Philip mentioned that the "rocket is already lit", and they were planning to focus on stability (so no new fancy features) - this means a lot of boring stuff. Trying to fly the first airplane is by far cooler than getting the airline passengers hot meal and target timelines of luggage unload.

And it's the hot meals that LL might want to take care about now - the exotic dishes look interesting, but don't get the hunger away.

So - it's not the end of the world. It's just LL entering a new stage of being a "more mature company", in my opinion.

What does it mean for the residents ? I think the changes will be for the better. If LL themselves internally does not get into panic mode, that is (meaning, that there are still those left who actually do the day-to-day stuff).

There will be some shakeups and maybe some more of "disruptive" folks would decide to pursue other opportunities.

Which hopefully should allow for a more consistent behaviour on the LL side.

So - I hope to welcome you all to the beginning of the mainstream new 'more boring' SL. The one that flies on time and gets the hot meals. No adventures whatsoever.

Wednesday, December 12, 2007

Eight things that you wanted to ask about me...

Ok, better late than never (and I still will have to tell you what I've been doing the week when I was completely offline), but I've been tagged.

So, eight things about myself. Let's fire up with a few thing about the meatball. err. About the engine that sits behind this avatar.

1) E (very expressed extravert)
2) N (moderately expressed intuitive personality)
3) F / T (depending on circumstance, various tests actually conflict) - the latest one supposedly says "moderately expressed feeling personality" another said I'm "T".
4) P - moderately expressed perceiving personality

For those unaware - that's Myers-Briggs. You can check yourself, it may be a bit revealing.

Now given those, I think it makes sense to a bit cheat and score a couple of points in getting the reader towards some less cryptic stuff than the above.

5) Like I said, the F/T duality lends itself to both ENFP and ENTP. (I still have to decide whether Sandra Bullock or Alexander the Great is closer to my heart. Hey, wrap both please, I think :)

6) "Career indicator" based off all this fancy pseudoscientific stuff - here.

Journalist/Reporter - well, you kinda are reading the meek attempts at it.
Psychology - mostly curiosity/hobby, although some tricks I do tend to use.
Counseling - hmmm no thank you... but with a good beer... I guess I've been one more than once.
Fitness & Nutrition - oops. this part is still ahead of me (quietly hiding a cigarette while stretching on the coach with the laptop)
Recreation Specialist - oh. interesting and viable career choice. Need to think about it.
Social Work - helping others... well, maybe, to an extent.
Musician - check. we do that. from time to time :)
Acting and Performances - that's what the life is about, to an extent.
Literature/Writer - something to work on, once I perfect myself in the Journalist instantiation.
Film Producer - oh, that's a cool thing to jump in. I still have to try a pick up line that I invented "hey I'm a porn movie producer" in a club, just for kicks - do you think it might work ?
Public Relations Specialist - for this one there's still a lot of work ahead.
Marketing - errr... is it "when you have the stuff and they have the cash, you exchange", or ?
Fashion Merchandising - bumm. If I was a girl, I'd certainly enjoy it. And a skirt slightly below my shoulders might be fun, again just for the sake of increasing the attendance of the male ostheopaths patients.

7) "The Champion Idealists are abstract in thought and speech, cooperative in accomplishing their aims, and informative and expressive when relating with others. For Champions, nothing occurs which does not have some deep ethical significance, and this, coupled with their uncanny sense of the motivations of others, gives them a talent for seeing life as an exciting drama, pregnant with possibilities for both good and evil. This type is found in only about 3 percent of the general population, but they have great influence because of their extraordinary impact on others. Champions are inclined to go everywhere and look into everything that has to do with the advance of good and the retreat of evil in the world. They can't bear to miss out on what is going on around them; they must experience, first hand, all the significant social events that affect our lives. And then they are eager to relate the stories they've uncovered, hoping to disclose the "truth" of people and issues, and to advocate causes. This strong drive to unveil current events can make them tireless in conversing with others, like fountains that bubble and splash, spilling over their own words to get it all out."

8) All of the above is somewhat true in certain contexts.

As for tagging the others... hmm. Well, as I'm lazy and since I'm all against the force, let's do it this way - if you're reading this, and the number of answers on this article is below 8, you can feel free to leave a mark there, which at the same time is your acknowledgement of being tagged for this little exercise.

Yeah I know it's not straightforward, but did you expect that ?

p.s. here is some questionaire in case you have some time to spend.

Saturday, December 8, 2007

"It's all just a fantasy".. not.

"First and second life are separate", etc. Yes. Everywhere except your brain. As this article on slashdot refers to a scientific study from columbia university, which show that a brain network responsible for suppressing inappropriate or unwarranted aggressive behaviors became less active after study subjects watched several short clips from popular movies depicting acts of violence.

So - you might probably separate the first life from the second, but not the reverse.

Scary, huh ?

Thursday, December 6, 2007

microfinancing in SL: a loan to you on *your* conditions.

I've been thinking about the power of trust, and about how Grameen bank functions without any tough measures and has quite high return rate (i.e. people do not run with the money). Looking at my SL balance, which thanks to your tips has risen to around L$3800 (which is a bit too small to throw to the friends at the charity), I got an interesting idea.

I can lend up to 3xL$1000 to those three who come up with the compelling business ideas and whose business plans are convincing enough.

How do we arrange the community pressure ? very simple. I will write the names, the business plans and the terms of the loan (amount and the suggested interest) on this blog.

So, if you are determined enough to rather loan L$1000 than to buy it for three RL bucks, feel free to drop an IM or leave the comment here.

The only restriction is that the time interval is bound by 4 weeks and the returned amount must not be less than the one borrowed :-)

How much you return (i.e. the %% - it's up to you to determine).

Let's see if anything comes up out of this crazy idea...

p.s. and obviously - by sending me an IM, you allow it to be published here.

Tuesday, December 4, 2007




The the order of the links is inverse chronological.

Saturday, November 17, 2007

IDTP: too early or not too late...

We had a very useful discussion yesterday with Teravus on IRC regarding my IDTP experiments.

I'll try to squeeze the guts into a RegionModule - looks like it is a very nice place, and could be made loadable by those who want it.

There's however a very interesting "philosophical" point which we discussed. The point of view that it is too early for such a thing - given that a lot of "basic" stuff does not work yet. This I totally agree with (that the basic stuff does not work), however, the areas of trust and interdomain relationships will require a lot of further thinking and experimenting - I would be naive to tell that the IDTP itself would solve the world hunger. No, IDTP merely opens up a large can of worms, and it would be a huge pain for the users if it was introduced later as an additional "feature" once the things do work. And given that everything would be hopefully solidified by that time, any incompatibilities will result in "chewing gum and matches" workarounds - which is what plagues so many RL software items - "get the features done first, and the security thing, we'll take care of it once we get the functionality done".

For my own memory, the worms in a particular order:

- the trust model - first of all, how do you ensure that John Doe from NowhereSim is really John Doe ? Do you trust that NowhereSim is NowhereSim, and not a rogue impersonation of that ? Do you trust that the sim SweetHome, to which you are going to TP, is really the SweetHome, and not EvilJerks, pretending to be SweetHome ? What do we do to avoid the need of all-to-all sim authentication (well, social network of trust seems to be the most appropriate approach to me here)

- policy enforcement glue for the grid mode - even though there the trust is largely assumed anyway - which is why in my opinion the grid mode is not workable - all it takes is a single miscreant, and the whole concept will be poisoned forever.

- the "little" detail of distributed inventory - right now the assumption is that there is a central repository, which simply pulls takes the LLUUID, and spews out the contents, or takes the contents and LLUUID and stores them somewhere. This kind of abstraction is nice and convenient, but with the growing number of agents it quickly falls apart unless given a significant financial investment for the infrastructure - this is something that I'd consider as a potential risk - the existence of the central money-sucking infrastructure.point. I'd rather think the very same amount of money should be transacted by the entities comprising the "constellation", allowing each individual owner to establish their own policies (and prices, if necessary) for the resources. Then the market would take care of itself, and if there is The Best inventory hoster, or such - eventually they would be able to come afloat and have a sustainable business model.

- micropayments - well, I do not even go there yet. it's a meta-worm - with some annoying RL tentacles.

In a nutshell - I'll start refactoring the code as the RL permits (not very promising), and will try to stick it into a regionmodule.

Dalien's top20 places to visit in SL

It's cool these days to make ratings, put up hit parade lists, and use other means to try to look like Srs Bsns. I figure I'd join the fun, and publish you a top20 list too. I'm lazy, so I just drop in the list of SLURLs here - if you are bored and feel like it, go and check them out, and tell here what this list is worth - I have no idea :)




  4. Rose/156/115

  5. Grove/204/40

  6. City/79/12



  9. Reflections/131/52

  10. Playpen/181/211



  13. Rock/164/73


  15. Exotica/175/150


  17. Gardens/120/179



  20. Of Lesbos/49/113

p.s. a few of those appear to be offline on closer examination... The names are still there though, so maybe it is temporary..

p.p.s. How this list was constructed, will be revealed in an appropriate time frame, if ever.

Tuesday, November 13, 2007

Git as a local tool for "staged commits"

Very interesting. I am using the git locally to help with my own "mess management" (i.e. to allow me to backtrack to the last "known good state"), and was wondering about reasonable way to actually perform the commits to SVN from it.

So, here it goes:

The open question though is, whether it is really a good idea to squash a few small commits for the subtasks into a single large one... From the understanding perspective of each individual commit - no, it's better to have smaller commits. From the perspective of having less "noise" in the log, it would be nice to have bigger chunks though. (Assuming they do not overlap).

Hmm... maybe it is a convention thing... Just create a unique prefix for each "task", and start the commit logs with it. Then it will be possible to view the smaller commits logically grouped together.

Git on windows

I must say that I start to like git more and more - it was very handy with the IDTP coding.

Now, there is opinion that it is unfriendly for windows users... Well.. I think I found a nice fork off it, which does not require cygwin.. - indeed no warranties, and all... :)

Interdomain teleports, revised.

This is going to be one hell of a geeky post :)

Ok, after a lot of bloody experiments (blood was mine, that is), I have the interdomain teleports working.

Needless to say, I will need to completely rewrite it, but at now I have a pretty solid proof it works :)

So, the first edition of the architecture is below. (when I talk "grid" further on, the standalone setup works exactly the same).

Suppose we have a sim in the local grid (LS), where we are, and sim on the remote grid (RS), where we want to get. The grid coordinates can be the same for the two. Also, each of the two grids defines two regions, I call them "Area51" - they are being used as a transit area for the teleports. Hence the name :) Let's denote them "A51L1", "A51L2", "A51R1", A51R2". If we consider the teleport from LS to RS, we can forget for a moment about the A51R1/2 - they are not needed, only local transit areas are used.

The RS has the URL, "http(s)://x.x.x.x:pppp/sim/RS-name" - where x.x.x.x is the address of the http listener holding the RS. (the one you would use in loginuri). We denote this "RS-TP-URI" (as belonging to the RS).
There is also another URL used for the interdomain teleport to the RS, "http(s)://x.x.x.x:pppp/interdomain-teleport/RS-name" - we denote it as "RS-ID-URI"

The process is as follows.

1) The user brings up the "Map" window while being on LS, and in the "name" editor pastes the RS-TP-URI. The flag "ID teleport pending" for this client is reset to "false"

2) LS detects that it is an URI-based simname, and does not do the local search, instead falls back to the next step.

3) LS fills in the XML data structure, denoting the key of the user requesting teleport, RS-TP-URI, possibly the credentials from the user/source sim, and performs an HTTP POST request to the RS-TP-URI. This happens in the background while the user is awaiting for the search result to pop up.

4) RS receives the request, verifies that the domain where it is allows the interdomain teleports, and fills in the reply - echoing the agentID, also the following info: RS-ID-URI, RS's name/location/external endpoint, regionID, regionHandle, and also the cookie - which will be used subsequently for verification that the request is not spoofed. Also can include the map of the sim for showing on the map.

5) LS checks the grid coordinates of the RS, and picks one of the two A51L's - the one that does not overlap with RS in grid coordinates. Let it be A51L1. After that, it formats the map block with coordinates of A51L1, and sends it to the user. At the same time, the structure InterdomainTeleport is being created, which holds the reply for further use, and the flag "ID Teleport pending" for this client is set to true.

6) The user selects the desired location on the RS's picture, and clicks "teleport".

7) The regular teleport function checks, if the "ID TP pending" flag is set. If it is set, some more info is stuffed into the "InterdomainTeleport" structure - namely, delegate functions for running before/after TP, position, and lookAt values.

8) The teleport proceeds as normal - note, that since we've specified the coordinates of A51L1, we're going to land there first.

9) There's a hook on the "UseCircuitCode" function, which checks, whether there is a pending IDTP. It would be reached (I think:) once we have successfully landed on the A51L1. If there is a pending IDTP, then the control is passed to the IDTP module. (also, since there can be more than one of these messages, ensure to react only on the first one).

10) IDTP module calls the "before TP" delegate, and then fills in the TeleportRequest, which it submits via HTTP POST to the RS-TP-URI - we have received it in step 5. Also it sends the "Start teleport" to the client. The Teleportrequest is basically the same idea as in the gridmode/standalone mode - request for the RS to start accepting the client packets.

11) RS checks the cookie, and if everything is ok, prepares itself, and sends the positive reply.

12) LS receives the reply, sends the "teleport" request to the client with the grid coordinates of the RS, and the IP endpoint of it. Then it sends another POST request to the RS-TP-URI with the additional parameter "final" - which will not return until the RS sees the client (i.e. "UseCircuitCode" seen by the RS). In the prototype version it is just a delay.

13) when the reply from RS is received, the LS knows that the client is already hanging "one foot" on the other grid, so now is the time to clean up. LS triggers the "SimDisable" messages for the sims on local grid, and (since they do not seem to do jack, apparently), also triggers the forceful disconnect of all the client's agent connections to the local grid.

14) At this stage the client is fully sitting on the remote grid, so the LS can delete the "InterdomainTeleport" structure and return to initial state.

Some observations:

1) If you think that the function which is called "CloseConnection" closes the connection to the client - no way. It does not :)

2) There's no good infrastructure for doing REST-like talk. The built-in library is dead buggy on mono - passes away after a few HTTP requests... So I had to hack around the ObjectPoster class - by implementing a callback method. (so 12 is a callback, and 13 is a callback upon the request done by a first callback :) Also made a couple of few methods to simplify the work with the XML-encoded requests and replies.


1) The "post + dual post" is deliberate. It allows to hook something else onto the GET handler (i.e. if the user just navigates to the RS-TP-URI with a browser, and also will allow to "jump out" of the firewalled or non-interdomain-enabled sims, if necessary.

2) There is currently possibly a bug when the client jams into the already existing circuit - everything is normal, except you are walking in the middle of the sea. Since I finally managed to fully disconnect the client upon the teleport, normally it should be no big deal.

With my experimental code (no selection of A51, no access control check), I've fired up 3 standalone sims, and had been jumping around with 2 clients. Did around 10 hops or so - seems to work.

3) physics when TP-ing can play funny tricks :) be careful.

Sunday, November 11, 2007

Artificial ants: simple rules and complex behaviours

And now that I am on the youtube raid... one more interesting video I've found:

The neat part is that each ant has very simple set of rules, yet the system as a whole gives the impression of "purposeful" behaviour. Strangely enough, with humans the tendency seems to be the opposite.

Immersive environments... with a tongue in the cheek

:) Make sure you watch the other episodes as well.

Opensim Physics tests on

Ok, today there we had a lot of fun.

First, we logged in:


Then we started chatting a bit:


Then someone from the folks put up a pile of colorful cubes with physics, and dropped a huge ball on it, so the things started to fly all over sim:


Then we throw a few bombs, to cover up (thanks nebanon for the video!):

And finally, there was a huge mess, so we put it up for sale. It's cool and colorful. So it's worth a lot of money!


Any buyers ? :)

Saturday, November 10, 2007

A few interesting comparisons of Mercurial and git

Being a curious and lazy beast at the same time as I am, I was wondering what the world has to say about another distributed SCM - Mercurial (hg). And as the traits are best seen in contrast, I was looking for the "Mercurial vs git" info.

Well, the harvesting did bring some interesting results. shows an interesting comparison alongside with a few more links, which I won't reproduce here - go and read for yourself.

From what it seems, neither is terribly superior to the other, probably more a matter of personal preference.

I very much like the fine-grained modularity of git - it goes very well with my own philosophy that instead of having a single entity that attempts to do everything, one is much better off with a lot of small tools, each doing only one thing, and doing it well.

But since so far I've used it just as a local version management control tool, hard to say.. Well, I guess the time will show.

Friday, November 9, 2007

Git impressions, part 1

To give some news on git (as I said, I started playing with it):

I've pulled in the opensim repository with the changes via git-svn (the whole business is around 200mb - not sure if the SVN storage is much better), branched off the release where my previous experimental code was, put the diff there, and rebased that branch off the latest version (200+ commits ahead). RL things do take their time, so the resolution of the merge conflicts (around 5-6 places) was merely into successful compile - rather than something working. But the whole process was very quick.

Given that the "commits" into the git go locally - IMHO this makes it very viable at the very least as a local "helper" platform for better flexibility, complementary to SVN. One can do many tasks at once in separate branches - switching between them is a breeze.

As a wholesale deal - I've also installed some beast called "qgit" - the gui to browse/search commits (separate package). allows to browse the changes fairly quickly.

I am quite pleased so far - although this is indeed quite basic usage, will need to see bit more how it works out.

The rebase today (reapplying the changes I made yesterday, onto the today's fresh checkout) went without any need for manual intervention, with a single command:

$ git-checkout teleport
Switched to branch "teleport"
$ git-svn rebase
M OpenSim/Region/ClientStack/ClientView.API.cs
M OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
M OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
r2304 = 23102815f47624d6f0cba0274302e11e010d9245 (git-svn)
M bin/OpenSimAssetSet.xml
r2305 = 1739baaedcd750ff768014289470f89769d625d7 (git-svn)
M bin/OpenSimAssetSet.xml
r2306 = 19566b7e39ec001b572e1bb730b5a9878e486b48 (git-svn)
M OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
M OpenSim/Region/Physics/Manager/PhysicsActor.cs
M OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
M OpenSim/Region/Environment/Scenes/ScenePresence.cs
r2307 = 1cf771ea6af379fd6ea461f91c640551313298fc (git-svn)
M OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
r2308 = 78ea566a282cd58a91a29d0d1f24db2a282dc70e (git-svn)
M OpenSim/Region/ClientStack/ClientView.PacketQueue.cs
r2309 = a693db9165ca881b94e971df25754c3eda6ab557 (git-svn)
M OpenSim/Framework/Communications/LoginService.cs
r2310 = d05e6d59e7fe4562f18f227caf72ae7b200de0ae (git-svn)
M OpenSim/Framework/Communications/LoginService.cs
r2311 = fe0cbbc15634d38380c25314990d23ccab26dc3c (git-svn)
M OpenSim/Region/ClientStack/ClientView.cs
r2312 = 8796cd87cd32b4c38ee34db5cd2674f3c25457cc (git-svn)
M OpenSim/Region/ClientStack/ClientView.cs
r2313 = 6cbec5269c486c0f502c55e665a62dd93f78bc33 (git-svn)
M OpenSim/Region/ClientStack/ClientView.cs
r2314 = 6ed08cd9f685740920ccb3f252571dd19ed71db5 (git-svn)
M OpenSim/Region/ClientStack/ClientView.cs
r2315 = 6ffbf70e55f31ae30e834ed947c27b9012f8af0c (git-svn)
M OpenSim/Region/ClientStack/ClientView.cs
r2316 = 87155e023edd3d9ae6482bd4cbf1c1a606b6a824 (git-svn)
First, rewinding head to replay your work on top of it...
HEAD is now at 87155e0... * Protip: Commit AFTER compiling.

Applying Some teleport code

Adds trailing whitespace.
.dotest/patch:25: public IInterDomainCommunications InterDomain
Adds trailing whitespace.
Adds trailing whitespace.
.dotest/patch:136: *
Adds trailing whitespace.
.dotest/patch:173: public bool InformOfArrival(string magicCookie, ulong regionHandle, AgentCircuitData agentData, LLVector3 position, bool isFlying)
Adds trailing whitespace.
.dotest/patch:175: if (OnArrival != null)
warning: squelched 7 whitespace errors
warning: 12 lines add whitespace errors.
Wrote tree 515a3b62544b5313f4693e3b00a4b778f3a36714
Committed: cfcc3fc5b25dc25f18caa1c9295c7eceac77c44b

Applying Fix the failed build (restructured namespace)

Wrote tree 3768941bd8fd7d2d1e8f0a240f3cc34433b59348
Committed: bb5771d7e1ec4901e737bab48d3cbe8a0eb79e49

(this little log also highlights some git cleverness about the whitespace changes - which is very good thing to have).

Tuesday, November 6, 2007

Trying out git...

Thanks to Sean Dague for mentioning git on the opensim-dev maillist.

It's been long time I wanted to try it out, but watching Torvalds' video gave it a new kick.

Apparently it is somewhat similar conceptually to some self-written hack I've been using for a while now. So, the hack will now be buried - the funerals will be quick and modest.

I'll write more once I have more impressions.

A random noise about common sense, but without any trace of it

Reading the comment of Taran on the post on virtuallyblind about the agelock, I thought - indeed, if all was done with a common sense in mind, it would all be so much easier...

But the reality is, everyone has his own "common" sense - and the laws are merely an attempt to formalize this in a way which would look "common sense enough". Note, that with the time this sense does change.

With the internet village in mind, this brings a funny construct - a law system, which would be automatically constructed, based on the, say, the average of all of the "locally acceptable" behavioral spaces, as defined by everyone in the village. The results would be collected and automatically processed, forming the "lawful" behaviour for the next time interval.

Could be a good idea to adjoin it with the tax collection - which can be much less in that case, since the lawmaking function is essentially automated.

But since making the personal copy of the laws is going to be even more boring than filing up the tax form, there would be a set of outsourcing companies which would help to offload this function.. You come, you consult them, and get your copy of the law to be submitted.

In the simplest case, with application of the exactly the same strategy for all the customers of any given "lawmaking consult", all of them get the same kind of "personal law". So, it would be pretty much exactly the same as the current political parties.

And they can sell their "lawmaking product" to the citizens, who would then advertize the brilliant qualities of it on the internet. Now, of course, in order to be effective, they would need to not only have a good package, but also have a bulk of the customers - to have enough weight.

Which would be achieved the same way it is done in any business - by good price and good quality.
This way the incompetence will automatically go out of business just by means of normal economic competition.

Now, that was an easy case. Consider the scenario when the "lawmaking co." is offering the custom services to each customer. The results of such an exercise at large would be the end behavioural space which is closest to what the majority desires - i.e. a perfect law system.

Now, we just have to learn how to capture and encode these acceptable behavioral spaces from everyone within their lifetime, at least.

Sunday, November 4, 2007

A geek comic...

Stubled across Peter Stindberg's blog and via the link of the map of the internet (entertaining by itself), came onto the (As you know, I am very ignorant when it comes to comics, so do not know anything besides Dilbert).

This is hilarious. And the vast majority of the other ones.

Getting rid of an UFO over the parcel...

Yesterday I had some quite interesting experience which I would like to share - maybe it helps someone.

There's a piece of land where I can do some stuff, but I do not have the ownership of it. The permissions on land are quite relaxed - scripting is enabled, building is enabled as well, however, to avoid the littering-by-ignorance, the land is set to autoreturn in 120 minutes.

Note, that as I am a member of the group the land is set to - so the autoreturn does not affect my stuff. (It's mostly only me who plays around on that plot, anyway).

I've not been spending the time on SL for quite a while, and last time noticed there was some strange particle effect over the parcel. "Hmmm... I've set it to autoreturn! Let's check..."

Indeed the land is set to autoreturn, and yet the small blue clouds of smoke are directly over the parcel. Not catastrophic at all, but a little bit annoying - somehow the autoreturn has been circumvented...

Selecting my object which sits in the corner of the parcel, and then extending the selection over the area reveals the secret - there's a flying transparent ball, which has the particle effects inside.

And, on each cycle, it flies *outside* of the parcel, so the autoreturn timer gets reset. Amusingly clever, I say. Although probably it is just a result of a random ignorance. From my experience, when the other people seem evil, it's about 1% of the time they are really evil, all the rest 99% they're just happily ignorant. But, let's see what we can do.

The first thought is to try to build a hollow cube to contain the movements of this little evil thing. Alas - the little evil thing, besides being transparent, is also physical and phantom, so it flies through the cube without any trouble.

Next lazy thing is to try to IM the owner - well, no reply... Writing angry blog about griefers putting the junk over my parcel ? that wouldn't help at all... filing an AR ? That's too boring. Let's be creative and think...

Ahha! I remember, that when this UFO was selected, it *stopped* moving. So, the plan is clear: select the object while it is over "my" parcel, and patiently wait for 2 hours :)

First part was very easy, the second part proved to be a bit more difficult - as I did not login to SL for quite a while, there were a couple of friends willing to show their new stuff, so I lost the focus. Nonetheless, finally I told myself "I am not moving until 2 hours elapses. Let me sacrifice myself for the sake of science".

Then I left the SL for a while "editing" that object, then a good friend IMed me and we spent quite some time discussing the geeky stuff. So the 2 hours had passed. The object does not disappear. Bummer. The friend tells it is a nice known feature. Well, after more thinking this feature indeed seems logical - you would not like the object to disappear from your nose in the sandbox or such.

So, let's try the luck - and release the edit... and - puff.

The UFO vanishes from the airspace above the parcel - maybe gets returned to owner, maybe decides to fly back to the stars.

Great. The goal is achieved, and no martians have been hurt in the process.

Saturday, November 3, 2007


This would describe the day pretty well. Instead of doing something planned to have been done, the day is spent in some typing. Oh well, I'm a fast typist, the process and the results were incredibly amusing, and my random generator now has a lot of fresh entropy - so it is good on all fronts.

But I should probably keep an eye on this hobby - or at least find the ways to monetize the entropy.

SL travels: Rose Gardens

Some quick exploration...

Rose Gardens/153/129/26

Nice piece of work. Although I suspect the guy would not feel really too convenient... but hey, it's art nonetheless. :) Lots of trees, colors, and such. Nice music, dance balls.

place: Rose Gardens/120/179/26

Friday, November 2, 2007

My celebrity lookalikes...

Funny. There must've been a reason I experimented with a girly avatar for a few days a long while ago :). Most of them match around 50%. I wonder which 50% do they match of the two :)

Via M is for Myg.

p.s. in case you wondered, my RL looks are slightly photoshopped to match the size of the face of the avatar.

LA flights are now flying in SL

Stumbled on the (the text is in russian). One of the possible sources - SLNN.

Basically, seems like now the folks from SL can look at the airspace above the LAX (Los Angeles International airport) inworld, almost realtime.

Although the pic on the russian site does show the 3d view of the airspace, and the SLNN article mentions the "zooming" on the aircraft - I wonder whether this kind of location is the most practical form :)

Flying all around the sim, trying to find the aircraft is more of an entertainment value, than practical use. At least they should provide a convenient billboard which would TP the interested avatar into the current location of the plane, so they do not have to search for it :)

The next step is to equip the airplanes with built-in translucent LCD screens in the windows - so the passengers could see the glazing avatars on the outside :) But this is much more expensive. And there might be some nervous types out there who might not like it :)

Tuesday, October 30, 2007

The future of reputation - a book

A review of what seems to be a book on a very interesting topic.

(Oh, and don't forget to read the comments. They are even more fun than the topic, the book, and the review all together :).

As a side note: I'd be so interested if someone has managed to create a mathematical model (even approximative) of the society without the "omnicomunication", and with that capability, and run a long-term simulation on the two. Information superconductivity.

Monday, October 22, 2007

Ruth/Zion with more memory now

Ruth/Zion is now running with 1Gb of memory - thanks ldvoipeng!

Also, I've added the [Chat] section to the .ini file - appears without it, the opensim crashes on startup.

Now everything is up and running back again. The physics seems to behave a bit odd though... but I'll play with it later on. The RL still will be dense, so feel free to login and mess around while I am not there :-)

Sunday, October 21, 2007

I hack charities! :-) Do you ?

In the keepalive post, I wrote about the great project - the "geek association" to help the charities with whatever they need.

I wrote the email to Johnny and he replied. He did not have the avatar in SL, so he created one - his name is "HaxTuff Hirano".

Thanks to the primskirtbuilder users and your generocity - my linden balance was growing. I think it grew around L$5000 in the past month, or so.

Well, the good news is that it is now around L$900. I've transferred L$22000 to Johnny so the folks can use this for helping the charities.

From here on, all the donations you make for the primskirtbuilder will go to the project - or, as well, you can pay to HaxTuff Hirano directly as well.

I will periodically go inworld, and publish the amounts I transfer.

Automatic image annotation

Not sure how well it annotates the images, but it definitely produces sets with high percentage of the beautiful stuff.

Saturday, October 20, 2007

More alternative business models for digital music

For those that follow the events in the digital music arena, it's an interesting time. The labels are desperately trying to protect the falling profits from the traditional model, but while they were busy suing their customers, the customers are deciding it is not a good idea to pay the money for someone who would sue you afterwards.

In one of the previous posts I mentioned some of the places that distribute the CC-licensed music.

Some interesting thing that I've found recently.
A blogpost from Steve O'Hear shows five alternative business models for distributing the digital music.

On the CC front, there is Jamendo, which distributes the CC-licensed music for free. Check it out - there're quite a few nice tunes.

And then, there's the WE7 - which allows to download the DRM music for free. What's the catch ? 10 seconds of ad in front of it. I think this is a fair deal. There's already a lot of ads, one-two more - does not matter. Especially since they are still quite short :) more than 10 seconds would be annoying.

Friday, October 19, 2007

a keepalive

No, I'm not dead - like I wrote some time before, I can't go dead - even if my human does :)

It's just that the human got bit more of the RL - but hopefully has some time in the the future so I can continue on hacking the opensim & blogging away.

Partially the new toy is to blame. The story was that the human went to buy some food, and instead bought this toy.. He was a bit frustrated that the only file sharing protocol was SMB (which also refused to work with the XP home edition, for some reason), but after some googling - found the website, so now the brick does work with SCP too, and some more coolness is on the way :)

Apparently it can run full-blown debian, but the 64M of RAM make it difficult to compile anything modestly serious.

As another interesting thing (and the reason why this non-prim-skirtbuilder post is tagged with the primskirtbuilder - is the site

And before you start your fury about the evil tekkies messing up with charities - go and read up.

It's a site focused to get the technical skills where it is needed.

So I have figured that even though there's not much time that the human can dedicate directly, it would be very logical to send all of my linden dollar balance and the tips that I receive for the primskirtbuilder to these folks so they can direct them to the charities.

I've written Johnny an email with the question on how to get the L$ to the project, so as soon as I get the reply, whatever is currently on my SL balance (not much, around 20K linden) will go to the project - as well as any future donations for the primskirtbuilder.

So - if you arrived here by clicking on the "News" button on the primskirtbuilder from inworld - check out again in a few days, maybe we can all contribute to a good cause!

Saturday, October 13, 2007

going mobile

It's been a hell of a week for the human - around 20 hours of sleep in not so many chunks around 3, i think. So, the end of the week the human was allowed to go and have a few beers. And out of curiosity. while the human is half-conscious, tryihg how it feels to post from his Nokia770. feels weird to learn the hand writing again... But it feels fun...

Friday, October 12, 2007

L33t X-tended Barbysp33k

Read the dandellion's fears about the barbyworld.

The crux of the problem: the chat is menu-based. Yes, only preset phrases :-)

But - c'mon, people! It is not all that bad. I think it is a great innovation even.

1) much less space is used to store the chats - since they can be indexed by a single byte of data (12 "hi and bye" messages, 12 "questions", 12 "answers", 12 "friendship" messages, 12 "say what?" messages = 60 in total).

2) this can be used to *enhance* the mental potential of the barbiegirls, and to speak stuff in relative privacy, without the parents knowing about it.


there are 2 protocols:

1) EZzZeeGirl(ttm)
2) L33tGirl(ttm)

during the start of the conversation, the handshake is used to select the mode of the conversation.

Proposal of the EZzZeeGirl protocol: "Hello..." - if the other side responds with "Hello..." - then the continuation follows the EZzZeeGirl protocol (see below)

Proposal of the L33tGirl protocol: "What's up?" - followed by "Hey!" - and the further communication happens in L33tGirl protocol.

The responder side may choose to refuse the proposed protocol by responding "Long time no see!" followed by the proposal of the alternative proposal. If the sides can not agree on the communications protocol, the negotiation gets torn down by either side by "gtg. let's chat later" which means the unwillingness to communicate in menu-based chat, or "Be right back..." followed by a one-minute pause, after which the subsequent communication falls back onto the MenuSp33k.
There is another proposal - "I dunno" - which is reserved for the future extensions, and allows to switch over to the other protocols and negotiations that may be defined in the future.

The protocols description:

EZzZeeGirl protocol:

each menu option corresponds to a letter in the latin alphabet. in the brackets there is the name of the menu for that item, for easy navigation.

"A" = "Awww! thanks for the gift!" [say what?]
"B" = "B posh pets (tm)" [answers]
"C" = "Can't wait to come back here" [say what?]
"D" = "Do you have a pet?" [questions]
"E" = "yEah" [ answers ]
"F" = "oh, that would be Furni Fever(tm)" [answers]
"G" = "Gtg. Let's chat later" [hi and bye]
"H" = "Hmmm... lemme think about it." [answers]
"I" = "I like your name. It's pretty cool!" [friendship]
"J" = "i would totally wear that! no Joke!" [friendship]
"K" = "have a great day, K ?" [friendship]
"L" = "Lol. u r funny!" [friendship]
"M" = "i'm gonna check out a Movie!" [say what?]
"N" = "long time No see!" [hi and bye]
"O" = "gotta gO!" [hi and bye]
"P" = "Peace" [hi and bye]
"Q" = "the b chick boutiQue(tm)" [answers]
"R" = "cool Room" [friendship]
"S" = "that is Sweet!" [friendship]
"T" = "That rocks!" [friendship]
"U" = "U R such a style queen!" [friendship]
"V" = "i loVe your outfit!" [friendship]
"W" = "What's up?" [hi and bye]
"X" = "thanKS!" [answers]
"Y" = "heY" [hi and bye]
"Z" = "this is fun!" (the very last item in the menus) [say what?]
" " = "i just sent you a message!" [say what?]
"?" = "why?" [questions]
"." = "okay" [answers]

That rocks! Hmmm... lemme think about it. I like your name. It's pretty cool! that is Sweet! i just sent you a message! Awww! thanks for the gift! Lol. u r funny! Lol. u r funny! gotta gO! What's up? that is Sweet! i just sent you a message! That rocks! gotta gO! i just sent you a message! That rocks! Awww! thanks for the gift! Lol. u r funny! have a great day, K ? okay

L33tGirl protocol:

the protocol uses the least significant bit first binary encoding, and allow to transmit the full ASCII table, as well as arbitrary binary data (file transfer - e.g. sharing favourite tunes).

ASCII mode: "Awww! thanks for the gift!" [say what?]
Binary mode: "B posh pets (tm)" [answers]
0: "yeah" [answers]
1: "okay" [answers]
end of byte: "no, thanks" [answers]

Space-wise, the overhead for both protocols is comparable - since the second uses 4 bytes per bit, so the ASCII would use 4*8 = 32 bytes, plus the end of byte sequence.

However, the L33tGirl has the added advantage that the user has to learn the ASCII bytecodes - which may be a helpful skill in the future. And as the connectivity options become better and better, the volume of the data transmitted is not a problem anymore.

We hope that this proposal is beneficial for all the involved parties.


Monday, October 8, 2007

IP, money, content and all...

Our late night chat with danx0r re. IP/money, and all...

(22:40:10) danx0r_: talk on mailing list re money & IP rights
(22:40:17) dalien: with overlapping coords
(22:40:35) dalien: yeah i wanted to write up something, actually on the blog, but it needs some more thought
(22:40:40) dalien: i think every sim can issue money
(22:40:46) dalien: as soon as they give something back
(22:40:53) dalien: and this something can be storage for distributed inventory :)
(22:41:28) dalien: so this could be both a factor to limit the inflation and the factor to expand the thing
(22:41:38) dalien: and the local sim providers could sell this space to users for real $$
(22:41:57) dalien: so it goes as $$$ -> disk space used --> funny money emitted
(22:42:16) dalien: more $$ = more funny money = more storage space :)
(22:43:14) danx0r_: hmm
(22:43:16) danx0r_: or maybe CPU
(22:43:20) dalien: cpu is hard
(22:43:28) danx0r_: but in any case, opensim has to be the plumbing, not the water
(22:43:36) dalien: if i tell you to calculate log2(123)
(22:43:39) dalien: and you reply 1204701724
(22:43:44) dalien: how can i verify it is right ? :)
(22:43:46) danx0r_: well I think it should be up to the grid operators what to base their economy on
(22:43:51) danx0r_: heh
(22:43:51) dalien: yup
(22:43:58) danx0r_: you really think about these trust issues, don't you
(22:44:11) dalien: but i think eventually we could supply the framework eventually
(22:44:21) dalien: yeah security is my RL job as well
(22:44:26) danx0r_: I think it's around 6.7 (log2(123))
(22:44:42) danx0r_: same with storage though
(22:44:49) danx0r_: there's storage and then there's storage
(22:44:54) dalien: well, right.
(22:45:00) dalien: availability, etc.
(22:45:02) danx0r_: it's all about the % chance that you will screw up my data
(22:45:03) danx0r_: yup
(22:45:14) danx0r_: you can measure quantity; quality is harder
(22:45:19) danx0r_: even bandwidth is wierd that way --
(22:45:22) dalien: yes..
(22:45:30) danx0r_: I can sell you 10 megabits per sec, then sell it to 10 other people
(22:45:40) dalien: so we come to a multi-country economy with sim=country :)
(22:45:42) dalien: wacky :)
(22:45:44) danx0r_: and no one may complain until you all want to do some event at the same time
(22:45:50) dalien: yup
(22:46:01) danx0r_: it's going to come down to a market-driven thing I think
(22:46:15) danx0r_: and what makes a market economy work, really, is the rule of law
(22:46:24) danx0r_: ie, some way to get compensated if you're screwed
(22:46:37) dalien: right.
(22:46:42) danx0r_: otherwise market economy breaks down to lords, serfs, gang-style behavior
(22:46:56) danx0r_: warlords
(22:47:05) dalien: so the way to compensate against the malicious user is to cut down the whole sim :)
(22:47:14) danx0r_: I hate to say it, but we may have to move through human history quickly
(22:47:25) dalien: yeah :)
(22:47:29) dalien: well, we can see it with SL
(22:47:30) danx0r_: well I think the biggest thing, and you've brought it up --
(22:47:46) danx0r_: is a trust network
(22:47:51) danx0r_: ala Ebay
(22:47:57) dalien: yup.
(22:48:00) danx0r_: it can be gamed, but it's a start
(22:48:16) danx0r_: that way, someone can start a bank
(22:48:22) dalien: and then trusted network between the sims, somehow.
(22:48:26) danx0r_: and pretty soon, everyone will know if he's bullshit or not
(22:48:33) dalien: (maybe as part of the network between their owners?)
(22:48:38) danx0r_: right, well then when I want to buy something,
(22:48:41) dalien: because for teleports you need to trust the sims
(22:48:49) danx0r_: I say "I'll give you 50 danx0r bucks"
(22:49:01) danx0r_: you look up danx0r-bank, and see it's trustworthy
(22:49:16) danx0r_: so you accept the offer, we secure-negotiate with danx0r, and the transaction is made
(22:49:29) danx0r_: then the vendor has a $50 credit at bank-danx0r
(22:49:32) danx0r_: something like that
(22:49:47) dalien: yup
(22:49:57) danx0r_: similarly, the vendor can check to see if I'm a known pirate
(22:50:00) danx0r_: and refuse to sell
(22:50:13) dalien: exactly
(22:50:23) dalien: but that part is actually easy.
(22:50:45) dalien: but where do we get the bucks from - independent bucks per-sim ?
(22:51:04) dalien: or still something tradeable...
(22:51:22) dalien: i think space/bandwidth could be something pretty cool for this
(22:51:30) dalien: even independent from sims
(22:51:43) dalien: so you actually pay for the space to host your inventory
(22:51:47) dalien: and b/w for it
(22:52:02) dalien: and you get the one-time funny money.
(22:52:04) dalien: hmmm
(22:52:27) danx0r_: heh ldvoip wanted it to be based on silver
(22:52:29) dalien: now the question is what happens if one person quits... that would mean the default of those money that were initiated by this person
(22:52:35) dalien: rl silver ?
(22:52:42) danx0r_: he had about $1000 in silver, he thought that would be the basis of his economy
(22:52:45) danx0r_: yup
(22:52:52) danx0r_: he's a bit off on that subject actually
(22:53:00) danx0r_: as in, a bit funny
(22:53:12) dalien: hmm. well, yeah it is simply "central bank=ldvoip" :)
(22:53:21) danx0r_: I think the market works out value by itself
(22:53:35) danx0r_: since somebody somewhere pays a hosting provider or buys his own equip and bandwidth
(22:53:45) danx0r_: the base value of things will get into the market that way
(22:53:54) danx0r_: the rest is exchange rate, arbitrage
(22:53:58) dalien: yeah but there need to be some kind of tokens
(22:54:13) dalien: and there are abusers
(22:54:14) danx0r_: well yeah, the client as it exists today is useless
(22:54:22) dalien: well, not fully
(22:54:30) dalien: under assumption that it is in the trusted sim
(22:54:34) danx0r_: well maybe you can shoehorn it into something
(22:54:36) dalien: all the brains can be moved to sim
(22:54:47) danx0r_: the abusers --
(22:54:54) dalien: so yes i think it can be "shoehorned" that way :)
(22:54:58) danx0r_: look, a typical SL transaction is for what, $.25?
(22:55:09) danx0r_: I mean, there are going to be assholes, but it should be manageable
(22:55:13) danx0r_: hmm... I hope
(22:55:40) danx0r_: I guess it could just get overrun with idiots from Nigeria just trolling for free money
(22:55:56) dalien: right
(22:56:04) dalien: assuming i can print the money and you can
(22:56:07) danx0r_: whitelists, blacklists...
(22:56:20) dalien: there is always the strategy that would win
(22:56:32) dalien: and assuming the "good" economy with everyone "printing money" sparingly
(22:56:37) dalien: someone can always come and print a lot
(22:57:01) danx0r_: The key issue is how virtual$ gets converted to r/l currency
(22:57:11) danx0r_: right but they're printing their own crap
(22:57:22) danx0r_: in my way of thinking, everyone runs their own press
(22:57:26) danx0r_: but you can tell who printed what
(22:57:34) dalien: hmm well, you'd need for the start to move real currency into toy currency
(22:57:43) dalien: that is rather simple
(22:57:52) danx0r_: yeah, as we're saying that's done by buying bandwidth & machines
(22:58:01) danx0r_: then that has value, such as land sales in SL
(22:58:21) danx0r_: or whatever scheme, per sim or X CPU per sec on a grid, whatever the model is
(22:58:25) dalien: right.
(22:58:34) dalien: hmm so the sim owner can emit X banknotes...
(22:58:40) danx0r_: that's the r/l cost of doing virtual business
(22:58:42) dalien: need more banknotes - need one more sim :)
(22:58:48) danx0r_: yeah I say let everyone do their own
(22:59:02) danx0r_: then put some conversion utility in place, so you know what each type is valued at
(22:59:09) danx0r_: like EU, before the euro!
(22:59:13) dalien: hehe
(22:59:24) dalien: interesting. and a giant megaexchange
(22:59:25) danx0r_: then if some idiot keeps printing up his money, it inflates
(22:59:30) danx0r_: and his exchange rate goes down
(22:59:33) danx0r_: right
(22:59:39) dalien: right... but then those people who have his money...
(22:59:49) danx0r_: I think that's the only way it will work distributed, without everyone fighting over who gets central control
(22:59:57) danx0r_: that's how r/l economies evolved
(23:00:06) danx0r_: eventually, there's an obvious one or two big players
(23:00:08) dalien: and then you would need to somehow figure out how to keep track of who prints how much
(23:00:16) danx0r_: and everyone else will fall in like, stabilize their exchange rates
(23:00:22) danx0r_: well the market does it
(23:00:47) danx0r_: if someone takes a risk on a new bank, and they print too much, they inflate, the investment goes down, and everyone knows it
(23:01:02) danx0r_: it's up to whoever prints money to manage the market for their money
(23:01:12) danx0r_: which is an incentive for most ppl to work with a known provider
(23:01:19) dalien: hm yeah. so assuming we tie the money with the person and vice versa...
(23:01:19) danx0r_: pretty soon, you'll have at most 3
(23:01:27) danx0r_: but that's a much better situation than 1
(23:01:52) danx0r_: people who trust each other will agree to consolidate their currency
(23:03:02) dalien: yeah, might actually work :)
(23:03:12) dalien: a looooot of PKI
(23:03:18) dalien: and a huge DHT :)
(23:06:39) danx0r_: sure
(23:06:59) danx0r_: but today's machines won't have a problem with that
(23:07:03) dalien: yup
(23:07:07) danx0r_: some of it can be done on a trusted server
(23:07:24) dalien: actually i think as soon as the number of "good" people is big enough
(23:07:29) dalien: it will be hard to defeat
(23:07:32) danx0r_: right
(23:07:39) danx0r_: I have similar thoughts about IP
(23:08:02) dalien: like ? "black-mark the evil guys" ?
(23:08:10) danx0r_: no
(23:08:15) danx0r_: well sort of but a whitelist
(23:08:24) danx0r_: blacklists are useless now
(23:08:31) dalien: yup
(23:08:33) danx0r_: everything has to move to positive ID and trusted networks
(23:08:45) danx0r_: you don't even let a client log on without some sort of introduction
(23:08:48) danx0r_: so for IP,
(23:09:10) danx0r_: the trust contract is that you voluntarily agree to abide by the author's distribution preferences
(23:09:30) danx0r_: and if you're caught cheating, that's a black mark on you
(23:09:30) dalien: ok
(23:09:36) danx0r_: it all comes down to ID's, really
(23:09:37) dalien: makes sense :)
(23:09:45) dalien: yes authentication is the start of all evil :)
(23:09:48) dalien: identity
(23:09:55) danx0r_: what ppl won't like about this world is, it becomes more difficult to act anonymously
(23:10:04) danx0r_: I know... a faustian bargain
(23:10:14) danx0r_: but, and this is some deep heavy philosophy here...
(23:10:14) dalien: well, they have only illusions about the anonymity in SL
(23:10:26) danx0r_: society will migrate in one of two directions:
(23:10:26) dalien: actually this scheme is *more* anonymous
(23:11:05) danx0r_: 1) fascist rulers who try to centrally control all communication so they can control society (ie Orwell's 1984)
(23:11:21) dalien: aha
(23:11:47) danx0r_: or 2) a 'utopian' world where everyone voluntarily gives up some of what we today consider basic rights, especially the right to exist anonymously
(23:11:55) danx0r_: that's a bit like Huxley's Brave New World
(23:12:25) danx0r_: and I'm not sure there's a nice, libertarian alternative. I wish there was, but I think it's impossible beyond a certain number of people, and when technology gets to a certain point
(23:12:34) dalien: yup
(23:12:42) danx0r_: these virtual worlds are going to be laboratories for how the real world develops
(23:12:52) dalien: precisely my point of playing with opensim :)
(23:12:59) danx0r_: that's why some pretty big thinkers are all excited about this. Not for poseball sex :-/
(23:13:01) dalien: since SL has failed this status imho
(23:13:10) danx0r_: well it was a decent first try
(23:13:14) dalien: yup
(23:13:18) danx0r_: like ancient Sumeria or something
(23:13:24) danx0r_: it will take a few iterations
(23:13:25) dalien: we know what the masses are excited about :)
(23:13:34) dalien: poseball sex has to be present in all incarnations :)
(23:13:44) danx0r_: so I prefer to live in a world with a bit less privacy and anonymity
(23:13:57) danx0r_: than a world where anyone can terrorize others with impunity
(23:14:08) dalien: yup
(23:14:11) danx0r_: poseball and other sex variants will not go away
(23:14:18) dalien: better no privacy at all than *some* privacy
(23:14:23) danx0r_: you can choose to live "off the grid" -- it's not mandatory
(23:14:51) danx0r_: but if you do, you will find it hard to buy things, and create a network of relationships
(23:15:21) danx0r_: now keep in mind, this doesn't mean everyone has to know your r/l identity
(23:15:28) dalien: precisely
(23:15:40) dalien: what you do online is your identity
(23:15:41) danx0r_: you can create an online identity that is separate, but *that* identity has to behave well
(23:15:45) dalien: which may have nothing to do with RL
(23:15:46) dalien: :)
(23:15:56) danx0r_: and if you blow it, you'll find that building that level of trust from scratch is going to take time
(23:15:57) dalien: hehe we think exactly the same :)
(23:16:01) dalien: yes

Saturday, October 6, 2007

"texture prob" on Ruth/Zion localized...

Appears to be something related to the contents of the sim DB.

Today I've reset the sim db to the default - all textures work all right. Even with quite a few prims.

So, it looks like the previous contents will make some nice debugging material...

Wednesday, October 3, 2007

apparently opensim maillists are "quiet"

Seems something odd is happening with the maillist server.

pinged the folks on the IRC - apparently at least one more person noticed the same thing.

Will write an update as soon as there're more news...


it started working now.

RTFM - or, why the autoupgrade broke...

Today I could not login to Zion/Ruth. Strange.

Investigating... Found some weird data in the archives.. - the name of the archive does not look like it should... The first thought - someone got in. But why starting the 1st of October ? In the end - It's a usual human stupidity.

the manual for the "date" command clearly says:

%e day of month, space padded; same as %_d

So, when I do:

date +%Y-%m-%e-%H-%M

This gives:

2007-10- 3-03-44

Notice the space. Given that I used this output for building the name of the archive file.. The results were not pretty. obviously the correct parameter to use is "%d", which means:

"%d day of month (e.g, 01)"

I have no excuses. Sorry for this cosmic stupidity.

The dry outcome:
1) sim state rolled back as of 30th september 6am CET.
2) scripts fixed, they are at

Also tweaked the script that builds/publishes the binary, to avoid overwriting the old one if the build failed - now, if the build fails, it shows the failed build log, and the last successful build log and binary.

So, normally we would always have a working latest version on

Why the machines are "stupid"

A bit of RL discourse - the human yesterday noticed an interesting article about ambiguous words by George Miller, one of the creators of the wordnet.


Who do you trust when they try teleporting to you...

The way I had done the code for my first attempt in the interdomain teleport inherently sucks bigtime. One sim tells the other one "hey, there's gonna be someone coming over". And there's someone coming over.

Indeed, I took care (well, somewhat) about the denial of service against the destination sim by including the cookie. Cookie is a good thing. It helps to get the others remember things for you. It's like if people buy something from you, but do not have the car to transport it - you can give them a fancy paper which only you could have made, which makes them eligible to get the stuff you sold them. When they come back and give you the paper which you recognize - you can just give them the things without much figuring on who they were and how they got there.

Indeed, they might have had their fancy paper stolen in transit...

So, here we come to a first little "problem".

The second little problem comes from the fact that we do not know who the incoming avatar is. It might be an 3v1l h4xx0r trying to have fun with the fancy griefing... I did write about the PGP-like web of trust for the identity before, but the main problem with all this is that the client does not have any of the features to do all this fancy crypto stuff. Once you're logged in - you're logged in. So, this is the second problem.

This brings us to the concept of "home sim" - both sim and its users having digital certificates.
the digital certificates of the users would be "trusted" by the home sim after the authentication of the client - and it would store them locally. So for all the client operations it can present the client's certificate and its own. Which in short means "It's me - and this is my client. If you trust me you should trust who my client is that is about to teleport."

And all the communications can be protected using the sims' certificates with mutual authentication - so the receiving sim can implement whichever policies about getting the incoming teleports - possibly even fully open.

So it looks like a nice fractal view - the trust between the users is roughly the same for the trust between the sims - except in the latter case there would be less of those.

Now, this is all great if we consider the teleport from home sim.. if there are multiple teleports - the source sim would not be the home sim anymore. Which means that for each user we'd need to drag the chain of the "confirmations" - basically the whole path of teleports since the last login. Bad for privacy ? yes. However, the act of teleporting into a sim already implies a great degree of trust to it - since the receiving sim does have the access to the whole inventory. And if one does not want the target sim to know the previous path - the teleport back to the home sim should "clear out" the stored path.

So basically the whole thing boils down into the abstraction of "network of trust" and managing it - both for avatars and for the sims.

But this is a big topic which will need to be covered after the basic functionality is working. The bottom line is that I will need to add another piece of info - a "blob" with all the certificates - into the teleport infrastructure, which for now will be unused.

So this is partly a note for myself, partly a request for comments from those who care and who understood the technobabble that I wrote :)

Monday, October 1, 2007

work-in-progress: interdomain teleport

Today I wrote a piece of code to allow the teleport between two disparate standalone sims.

Actually, it should work between the grids as well, possibly.

It's a huge fun.

The only problem seems that teleporting between the regions which are "overlapping" (have same sim coordinates) disconnects the viewer. I suspected this to be a problem, and have a workaround in mind for it, which I will test later on.

But I think that being able to teleport between the disparate sims and grids will be a very useful thing, and will allow to investigate the interesting questions of distributed inventory and distributed balance.

Sunday, September 30, 2007

Password stealing is about to become simpler...

Just read on Nicholaz's blog about the upcoming change to the way authentication is done in SL.

Let's put it short and simple: implementing it this way in the context of SL would be the most serious mistake, if the goal was to improve security.

D'oh... I'm speechless.

Saturday, September 29, 2007

A simpler solution to the ID verification in SL

Reading Gwyneth' stance on IDV, I started to reply, but the reply came up bit long that I am making it a separate post instead.

I am not at all opposed to having the ID verification. I am very opposed to having yet another somewhat-trusted party which holds a large entity of personal data, even if they mined it in public records - it's not quantity, it's the colocation. The total amount of uranium on earth is much more than critical mass - and it is available. But putting all this publicly available uranium makes up the nuclear bomb.... So, sorry I do not buy the argument of "the information is already there" :-)

Ok, so here goes my stance on how this could have been done without nukes :-)

It's dead simple.

1) The registration to SL remains free, but the "unverified" new residents are placed into the "welcome areas" - either controlled by the LL themselves, or subcontracted to the partners. Here the residents learn to build, script, behave, and may earn a few lindens by helping other new residents with this task.

2) The IDV is not free. It costs a few bucks, and is payable either by L$ that the resident has earned in step 1, or by credit card/paypal/whatnot.

3) The LL generates a 8-digit random number for each resident, and uses the address and the name that were entered, to send this number printed on the sheet of paper, to the human that is verifying the identity, by registered mail. The number is not stored in the profile, the cryptographic hash of it is stored instead.

4) upon the receipt of the mail (and there are mailing services that verify the recipient's identity), the user goes to IDV page and enters the number found in the envelope.

5) If the cryptographic hash over the entered data matches the one present in the profile, the name and address of the person are verified. tada.
Also, I believe that the option of accepting the registered mail is available only to those who are 18+ - so this automatically performs the age verification as well.

No extra data is stored, everyone is happy, and LL has their back covered (since that's really what it is about, in my opinion - to prevent the lawsuits by the parents who do not have time to properly raise their children).

There can be more convoluted versions of this - without the usage of the postal service, but the protection of the information there and the logistics would be bit more difficult, so I do not write it here.

testing various stuff

Assorted geek salad.

Today, seeing the announcement about the beta of havoc4, tried it out. Well, seems some folks were load-testing the sim - the chat was quite a bit lagged.

I did not do much playing with the new stuff - T60 in my setup appears to crawl when there are many prims. Probably something not accelerated somewhere. But the good news is that the Nicholaz' linux build that I wrote about a day ago does work fine, so I'll be using it for tests now as well.

One thing which made me suspicious - apparently we seem to have a texture download problem at the moment. On the beta grid I bumped into Yuu Nakamichi, who mentioned he had this on zion, and I verified from a couple of PCs that the textures that are not in cache do not seem to be downloaded.

If someone has the time to do the "bias-independent" check and let me know if this is indeed a problem, would be great - we should definitely track and address this.

The ruth/zion server seems to be back up - so the nightlies and autoupgrades should be working. On the todo list - to use the second server which I have to monitor the availability/reachability of zion, and pull my leg if it is not there. Sigh. Only 24 hours in the day, so not sure when i get to this... Let's hope the server stays up :-)

open social graph...

Undoubtedly a clever marketing trick by Google.

I'd be highly surprised that three people at once who had signed NDAs would be willing to part with their massage in the office and other perks.

But if this is true, let's see what this brings.

It might be that instead of experimenting with the world without the privacy, we might have to try it out how it feels on the humans...

Maybe I am just being paranoid. Let's wait and see what happens on 5th november. If.

Friday, September 28, 2007

Linux build of Nicholaz' browser

Apparently there is a new linux build of Nicholaz's bleeding edge version - wonder how many folks have tried it and what the results are...

UPD: works ok, this is good news. :)

Tuesday, September 25, 2007

Error in autorestart scripts and inter-sim teleports

Yesterday there was a power glitch hosting Ruth/Zion, so I had the machine restarted. This caused the sim and the webserver to be down for a day. The DNS server apparently is also affected, but the entry for the normal functioning of the nightly builds is in the /etc/hosts - so it works now.

Thanks to this, I also found an error in the maintenance script that was used to restart the opensim - it would not kill the opensim if the process ID was too small - this is now also fixed, and you can grab the updated copy of the scripts at their usual place.

Also, today I have played a bit with the code to do the inter-sim teleports (i.e. to be able to jump from one standalone sim to another one). The results look interesting, but would need more thought and more coding - they're too "development" to be able to conclude. But I think that inter-sim teleport should be possible. Will write more as I get the code less based "on the chewing gum".

Sunday, September 23, 2007


Snooping on Veyron's blog, I figured I'd try it out (even though that normally I hate the pointless tests, but as I was a bit tired of coding and was about to go to sleep anyway, why not to cool down the brain).

They say I'm a cool nerd king. I think I won't disagree. says I'm a Cool Nerd King.  What are you?  Click here!

But seems a bit more reading would not be bad for the overall picture.

Saturday, September 22, 2007

Which viewer do you use ?

Thanks to Nicholaz's post on Dale Glass edition of the viewer I discovered the page on the SL wiki, featuring the alternative viewers for SL.

Interesting to know that we have already *three* independent viewer branches, each with its advantages.

If only one of them had the VNC viewer embedded into the client...

Free identity, or, how to combat the griefing (maybe)

I'd like to preface this post with an illustration.

This is an instance of what would be considered a crime in real life - in other words, disrupting the flow of life of other identities.

There are several ways to address this problem.

One of them is to turn off the scripting. Whatsoever. Will work for a short time, even though one could script the things on the client side - so it is not a measure at all - besides, it will degrade quite a lot the quality of the environment itself.

Another way is to stop the free registrations. Could somewhat work, but with the advent of the throwaway credit cards and such, a determined miscreant can still get in without any problem.

Yet another way is an identity verification - an attempt to tie a RL identity to an SL identity. I would not even write on why this is going to be an ineffective and dangerous utter nonsense.
All that would be achieved is one more source of information leaks about those who "behave". The only sensible reason to introduce this from LL I can see is to cover their butt from the colleagues of Benjamin Duranske who would wonder why they "did not do anything". Yeah, now they did something. Check. Is it going to work ? No-check.

On the other hand, I think the solution is simple. You do not need to ban the free logins. You do not need to tie these logins to RL identities. You just need to make it hard for the freely available new identities to cause a damage.

There is a very similar problem which has been already solved in PGP - the distribution of the public keys.

There is a very vivid analogy IRL - yourself. Your identity is what your "connections" are with the rest of the world. You can relatively easily change the identity, but that means a lot of painful overhead of reestablishing all the ties you have. Think even what a pain it is to just change the phone number or email address.

Therefore, a reputation system based on the web of trust is in my opinion the best way to address the issue of identity.

The new identity appears as a "kid" which has very limited privileges in interaction with others - including the limited script support across the whole grid in the case of SL. In order to be granted those privileges, someone (preferrably more than one) should "bootstrap" this identity by declaring that they take part of the responsibility for this identity's actions.

This will create the barrier for the miscreants, at the same time not putting the barrier for the "good" identities and requiring them to reveal too much of the information.

And, again, by making these "connections" transparent, one could affect positively the behaviour of the whole crowd.

There is absolutely no reason to link the RL identity with virtual identity - they can be totally separate. It's just that the virtual identity needs to be made always precious enough, so that noone would just trash it in order to do something "wrong".

Before you continue...

Today I've googled a bit on the sites that link to me and at consolenomad found a brilliant posting - one of the YouTube video. The ending of this video very well resonated with the areas which I think we need to reevaluate in the digital age.

The huge problem I see with the emergence of SL as a "platform" is that despite of the slogan "your world, your imagination" - it is by many means just a digital projection of the everyday 3D meatspace - the permissions on objects, the monetary system, the partnership field - all of these represent the artifacts of the RL squeezing into what could be something different. Maybe not better - at first - but at least the price for the mistake at this stage is much less.

When the VR becomes the media of everyday activities of a significant portion of population - it's going to be too late to change anything.

We transfer the concepts of copyright, law, social norms, and many others into the non-euclidean hyperspace. Yes, we can squeeze the triangles a bit such that the sum of the angles is still 180degrees (or pretend we see it as 180 degrees) - but it might be interesting to try to use this time and see if we can get a better model...

lame-ass economics, part 1.

First, a disclaimer: all of this represents purely personal speculations and mental experiments of an SL avatar, which neither claim the correctness of itself nor intend to claim the incorrectness of anything else, and bear no correlation with real life whatsoever - keep this in mind. Additionally - they're going to be rather random and incoherent. If you feel uncomfortable - please stop reading here.

With an attempt to squeeze any monetary system into a fully distributed environment immediately the main question pops up - who and how can print the money. (The fact that it is fairly obvious that in such a system we would most probably talk about fiat money). Obviously since we talk about the fully distributed system, the usual safeguard of the smart folks at government printing the money would not work - there's simply no such entity. So - "anyone can print the money".

There is also a strong tie to another messy area in the distributed virtual world - identity. For now we assume this problem to be "solved".

I would think that one of the best properties of the money - its total "anonymity" is also one of the biggest evils. If each banknote did have a full history if its adventures - the things like money laundering could be easier to detect and address - if we all agree that drug dealing is a "bad" thing, then money that has been once used for this - would become "tainted" and automagically lose its value for anyone who considers the drug dealing to be "bad". Let's put aside for now the process of creation of the specific microeconomies with the same "currency" being only internally used - the money that lost its universal acceptance would cease to exist.

Now, index by the identity, and we have an interesting system which would also take care of the reputation - the person which is engaged into socially unacceptable financial activities would also be a "tainting factor" in itself for the currency.

This "index by identity" is a difficult problem as while it is relatively easy to "trail" the money - just "write on the back of it", tracking "all the notes that were printed by the current individual" is a more challenging task.

However, this is not something impossible - imagine a high-redundancy distributed storage media, which would record every transaction. It is in a sense a one-way street - it is very easy to put something into such a system, but with the reasonable information storage redundancy, it would be very hard to retrieve the information out of it. This kind of media ("distributed data bank", if you like) would also be required.

I don't touch yet the question on how to limit the given individual to become hyper-emitter, but even with the above propositions it sets up some funny playground for mental experiments.

Friday tekkies reading: opensim 0.4 released!

Bringing in the yesterday's news is always so easy! Just look at another site, grab the information and write it. Well, at least I never not copypaste and always cite the sources :)

So, this time, from your favourite supplier of the BSD-licensed news, OpenSim, here are the big news:

OpenSim 0.4 released

Grab it here:

Some of my personal and "unofficial" comments / opinions.

Stuff that works:

* standalone mode with one or more regions

Does work :) currently running Ruth with one region - multiple regions consume some more memory; although I might try to enable a second region just for the fun of it - we will need to test the ODE physics on the "bleeding edge".

* basic physics (no object collisions)

works like a charm. If you feel that your av's movements are "jerky" in vertical - well, the height map has 1m precision, I think it is still smoother than if you had to do it IRL :)

* persistence of users, prims, assets, and inventory via sqlite

Yay, Sean! this is the stuff that is tested every night on my Ruth/Zion sim - which automatically upgrades itself every night. Obviously, this process involves the restart.

* basic building, custom texture uploads

Same thing - does work, the proof of this feature working you can again see on Ruth/Zion (assuming the previous one does work all right :)

* avatar editing

This one actually deserves a bit of comment. Till the latest time, the editing of shape/skin/etc. was "not working" unless you create a new shape/skin and wear it - then you can edit the avatar.
Keep this in mind.

(putting on a secret-important face and whispering: totally unofficial - go and check out the latest ODE physics code changes in the nightly build of opensim and tell your opinions. (or simply fool around on ruth opensim server and see if you can crash it :) - and write here if you have any feedback)