OSGrid Pub Quiz - Summary

October 12, 2008 – 2:34 am

The Inaugral Sinewave Pub Quiz on OSGrid.org

The initial pub quiz (pictured above) was a success, we got a lot of people to show up - many of whom who have never been onto OpenSim or OSGrid before. We’re so happy with the results that we’re going to go ahead and schedule another one - we’re aiming at Sunday, the 19th of October at 9PM GMT (1PM PST) with a Halloween theme.

The structure of this event was a three part quiz - a picture round, including naming hollywood movies from a still image (some tougher than others), a music round (name the track from a small clip) and finally a ‘google fu’ round with recent history. There were 24 questions in total - our two first place winners getting 19 of them right (and sharing the $500 in prize money).

Q&A was handled by our bot-in-residence Chinzy Quizmaster running the Sinewave Quizbot code, some suggestions for improvements we’ve added to the development roadmap.

We hope to see everyone who participated at the next one - we had a lot of fun running it and want to make this a regular occurance.

As Promised - The Technical Writeup

Technically the Pub Quiz was overall a success - we got a lot of interesting data out of the test (and a 17mb log file), including the fact that OpenSim seems to scale pretty damn well under a tightly controlled environment. We also managed to isolate and fix three critical bugs with OpenSim which have been contributed back to OpenSim already. In addition we have some information about how OpenSim is handling packets internally which I’ll be interpreting this week to try improve general performance with.

We also learnt some other interesting things about running these kinds of profiled events in future which might be useful to other people

  • JetBrain’s dotTrace profiler doesn’t work on OpenSim very well - infact the chances of getting a  “completely random MS Visual C Runtime error” while under their profiler goes up about infinity% (ie, from zero to once every minute). We’re going to try another profiler next time around. A slight shame since we wanted to do a memory profile next time vs re-doing the performance one. That being said, if anything’s going to kill a profiler - we’re it, the Mono profilers dont even start when profiling OpenSim.
  • For the most part OpenSim seems to behave pretty well these days, however we do need to get some kind of mechanism inplace to handle when things do occasionally crash to somehow get users into another backup region. EventQueueGet makes this now rather difficult, but it might be possible to do still somehow.
  • We’ve still got “Grey Avatar Syndrome” showing up on a number of avatars - however we think these are being caused by simply not having an avatar equipped, or having an avatar that was built with local assets enabled. We definetely need to work on providing a nice default avatar in these cases as the simulator should be able to tell the avatar is using a inaccessible asset.
  • Windows 2003 still performs significantly better than Linux/Mono it seems. Our servers didnt hit above 5% CPU usage for the entire event, except during one stack heap (which was fixed). Memory use fluctuated a little bit, but for the most part was sitting comfortably around 230mb of RAM plus a little bit of page.

SineWave/OSGrid Pub Quiz: $500 Grand Prize, this Friday

October 9, 2008 – 2:36 pm

SineWave (with a little bit of help from DeepThink) is running a big Pub Quiz, this Friday on OSGrid.org. For those who are outside of Britan, read the wikipedia article for an overview on what this is, the rules and format.

The short

It’s on OSGrid.org, in the SineWave Region - 5PM GMT / 12PM EST / 9AM PST, Friday the 10th of October (this friday!). Total runtime is expected to be fourty minutes or so. You should register your avatar in advance on this page.

The rest

You should try test logging into SineWave sometime before the event, as we’ll be trying to start promptly. There’ll be other prizes including some hosting from DeepThink and maybe a little more. Performance will be a little slower than usual since the region will be operating under a performance profiler, but should still be acceptable.

As usual, we’ll publish the profiler results to help other developers - if you want to bring friends, feel free as the more avatars logged in, the better the quality of the results we get.

FAQ

Why are you running this, $500 is a lot to give away randomly? We’re doing this as a load test on OpenSim - we’re looking to get about 100 avatars or so and see where OpenSim stresses so we can optimise and fix those areas.

I need to get onto OSGrid - how do I connect? We recommend you grab the Hippo Viewer, it’s free and will connect by default to OSGrid (although it has support for any modern opensim grid)

Tags: , , ,

The Finite Manpower Problem: Or why we suprisingly cannot do everything at once

September 12, 2008 – 5:25 am

I’ve been afflicted by this very problem myself lately, which is why this post has been sitting in my head (along with a slight hangover) for the last few days.

It should go without saying that a single developer can only achieve X number of features/fixes/improvements in Y time (and not every value of X is equal), but the moment you substitute “X” with specific feature names, it suddenly becomes urgent priority for everyone to stop work on it and get that done, to hell with everything else - although we want that too … and a pony.

The facts of life

The reality is - we’ve got a finite number amount of time, a finite number of developers, and a not-quite-so-finite list of features and improvements we have to spend time on, this means we prioritise stuff. We say “We think stability is a prerequisite before you go about implementing an example micropayments system.” - and with good cause, if the system didnt have that prerequisite stability, why the hell would you trust it to handle important or sensitive information?

This is not to say some of us havnt devoted time to thinking about it, it’s just that we each have our own ideas about what we think is important, and unless you are actively assisting in some capacity (food, booze, code, testing, etc), your personal wish list probably isn’t going to get any attention.

It’s harsh - but there it is. At the end of the day, each developer has a finite amount of time to work on projects, and when they are working on things - there is a strong chance that a specific goal is in mind and needed. If you want to change that goal, you either must have a convincing reason that that person is interested in and agrees with, or you need to provide an incentive to compensate for time that would otherwise be spent elsewhere. It’s also quite possible to just get in there, and do it yourself then submit those changes back.

Backseat Driving

There’s a lot of developers working on the OpenSim project - and each of them has their own ideas, goals and projects. Some of them are working on commercial projects that rely on OpenSim - and hence have some very specific feature and stability requirements that they work on. Others have more free reign by virtue of doing this in their spare time. There is a common misconception that the OpenSim team has an agenda - there’s somewhere around 200 developers on the project which means there’s 200 sets of agenda’s.

Right now, my personal agenda (which by proxy does carry a little across to what the DeepThink developers are working on) looks something like this:

  • Abstract login and client initialisation to a more generalised interface to allow third party login and authentication routines to be fitted more easily as loadable DLLs.
  • Find where we have remaining hard-coded references to LLClientView bits and bobs, and recode them in a more vendor neutral manner.
  • Have a look at some of the terrain control issues reported on the mailing list recently.

It’s a pretty short list - this list gets revised, updated and changed pretty regularly based on what I need to do at the very moment, it’s the same for a lot of the other central developers - they are built on a task-by-task basis.

So - if you have a feature you really want to see happen, that you really think is important we tackle and address, your options include:

  • Do it yourself - the code is there and we dont bite when it comes to new contributions. (Just as long as the code matches our other guidelines about quality, modularity, etc.)
  • Convince someone to do it for you - this it the hardest of the options since we’re already very busy as a group, but it’s certainly possible. Make a convincing argument - it helps if you can research it and break it down into specific tasks. (”Improve stability” is not a task - “Fix crashes when/while XYZ happens” is.)
  • Hire someone to do it for you - it’s an option on the table too. There’s a lot of developers familiar with the codebase now, lots of them are looking for beer money and can implement your pet project or ideas for a fee.

So in conclusion - if you have something you really think is important, really want to see - think it through, ask yourself “Is this more important than what people are working on already”, “Is this something that OpenSim is ready to support”, “Is this important enough that I am willing to work to see it done?”, and finally “If no-one thinks it’s that important, ready or <insert reason here>, am I willing to pay to see it happen?”. Because at the end of the day, features take time, and time is a non-renewable resource - people like to see it invested wisely.

Tags: , ,

The cat that caught the canary

September 4, 2008 – 8:18 pm

Virtual Worlds Overall Innovation Award 08
Click the above for a bigger picture with captions
(”What a bunch of nerds” - Zha)

This year at the Virtual Worlds Expo in LA, several of the OpenSim and related developers (including RealXtend and others) decided to sponsor a booth and attend as a large contingent. We’ve been exhibiting, explaining and showing OpenSim to hundreds of managers, developers and users. What most of us did not expect was that we’d be coming home with the VW08 Overall Innovation Award.

It’s rather nice to poke our head up above the water and see that there is some interest in what we are doing, and the recognition doesnt hurt. We’ll post some more on this once the conference is over and I have a bit of time to collate the photos and feedback we’ve gotten.

After long delay, the Screenshot Competition winners

Big thanks to everyone who contributed screenshots for us to use for this event - we used images from the following people/groups in our promotional materials, we had so many pictures to choose from and only a limited amount of space to use (Over 100 screenshots were submitted)

Images we used were from…

RealXtend - Ludocraft and Adminotech - www.realxtend.org
Bin Chen and Tiantian Wang - SecondCampus.net.cn
Myself / Deepthink - www.deepthink.com.au
Warin Cascabel - Escapon on OSGrid.org
United Grid - www.unitedgrid.com

Prizes and everyone else…

You will be able to download the PDFs of the banners and printed materials we made for the booth shortly. Everyone who contributed (not just the winners!) and wants to take advantage of our offer for 6 months free hosting on osgrid.org, please contact me and I’ll get you setup.

Competition Deadline Closed

August 27, 2008 – 5:04 am

The deadline for the screenshot competition is now over - I have a few hours to get the designs incorporated into our materials and get them off to the printers. We’ve had a couple of folks interested in helping man the booth - at this stage it looks like we’ll have between 5 and 7 people there at all times which is a great turnout. Look forward to seeing everyone then!

Tags:

OpenSim Screenshot Competition: Last call

August 25, 2008 – 4:41 am

I’ve got a whole bunch of screen shots so far (if you haven’t got a reply from  me yet - please wait until Tuesday when I do the selections). I will be closing submissions on Tuesday, if you haven’t got your submissions in, I need them by Tuesday, 12PM Lunchtime GMT, however I’d really appreciate them all in by Monday evening.

Your screenshots will be featured on some of the posters we’re designing at the Virtual Worlds conference, we’re including an image credit and URL on them. Some may also be used in the information booklet we’re preparing to have printed for visitors to our booth.

Tags:

OpenSim/Rex-ers: Want to attend Virtual Worlds Expo in LA? (Sept 3-4)

August 24, 2008 – 9:57 pm

We’ve got a couple of tickets available for people who can help us explain OpenSim to conference attendees in our very-spacious booth being sponsored by DeepThink, Genkii, RealXtend, SineWave and ISID.

If you want to get a free pass to attend in return for helping us out:

  • You must know your stuff - you must be a regular user of OpenSim and/or RealXtend, ideally hanging on the IRC channels or reading the mailing lists too.
  • Be prepared to spend at least a couple of hours in our booth (you don’t have to stay for the whole time)

If you are interested - send me an email or leave a comment where I can contact you. We’ve got a number of free passes so the more the merrier.

Tags: , ,

If you only vote for one SL Jira issue this summer...

August 24, 2008 – 3:13 am

Please vote for Mesh imports for Second Life® (If you feel like making a second vote, getting the licensing issues with the SL Viewer fixed would be another good target).

While RealXtend have managed this feat a good year ago, it would be nice to get this feature into the mainline standard viewer. Now sure, going by their track record Linden are probably going to manage to cock it up and implement it badly (Can you say “Nonstandard Custom Format” or “Stupid limitations”?), but a feature like that is going to be incredibly useful even in a broken state (Look what’s been achieved with sculpties for example).

It also has some real benefits for content creators - first the largest is it permits real world artists with real world skills to use those skills effectively. Second big reason is it adds the capability to use well developed editing suites with Second Life seamlessly - this is going to dramatically ‘raise the bar’ on content quality and potentially bring SL into line with games only two years old (from the 5-6 it is now).

The first argument I’m going to hear against this no doubt is “By allowing professionals to create content for Second Life effectively, the inworld tools are going to be worthless” - which is basically saying “Let’s keep the tools retarded.” - the fact is the SL building tools are not the best, and by adding complementary support for out world editors, it means that content can be designed both more efficiently and with better visual quality. If the implementation is done similar to the RealXtend implementation, it will end up being like sculpties - you can manipulate them in world, but the core shapes are developed out world.

Really the biggest argument above is a simple case of protectionism - and like real world protectionism, the people hurt the most are going to be the people who don’t adapt and see their countries (platforms) lose economic growth to competitors. Sculpties didn’t kill builders, and neither will meshes, but yes you will probably need to learn a new skill or two.

The next one will be “This will cause additional lag” - the irony here is that it actually will do the inverse. Mesh objects are significantly more efficient computing-wise than primitives. Not only can you cluster texture space significantly more efficiently using UV maps, but you can additionally render less triangles with more detail. In terms of network downloads - it’s not going to be a case of one primitive vs one mesh, you are comparing lots of primitives vs one mesh, and like textures - you can cache them effectively.

As an ammendum to that - people often bring out the idea of million polygon meshes. The answer here is that meshes can be artificially limited on upload (lock em to a certain filesize or number of polygons) - the ultimate irony here is however that primitives are no better - the average second life furry avatar fully rendered is around ~100,000 triangles, or approx 2x that of the average complete Doom 3 scene.

Tags: , ,

Sneak Peak: VW Expo 08 - OpenSim Demo

August 22, 2008 – 5:59 am

Here’s three screen shots from a OpenSim demo that DeepThink is working on to exhibit at Virtual World Expo in LA. If you want to see more, you will just have to come show up at the OpenSim booth and play around with it in real time. (We’ll also put it up online somewhere after the conference is over).

If you are very familiar with the operation of OpenSim (actual developers will be prioritized here) I have a couple of free tickets available for people to man the booths with. Contact me for details.

Tags: ,

OpenSim, C#, Standards, Patents and you.

August 19, 2008 – 9:47 pm

This one comes up a lot - I hear it in quite a few places “Well, shame it’s in C#.”, it’s usually followed by some nebulous statement about Microsoft, followed by patent threats, embrace extend extinguish, etc etc.

So let’s start with the basics -

  • C# is a ECMA and ISO standardized language. It went through the review procedures of ECMA and ISO in a standard fashion (unlike OOXML). Download the ECMA Spec here and the ISO Spec here.
  • Yes, the base library is included in that standardization. The primary exceptions are, ADO.NET, ASP.NET, Web Services and Win Forms. Many of these exceptions are however separately covered via Microsoft’s Open Standards Patent program, although we’ve moved to avoiding them entirely in the standard release. (Extensions which use them are however available on the third-party utilities forge)
  • The ECMA standard also includes the CIL byte code format.
  • If Microsoft decide to add new extensions onto .NET (which they have done with every major release), the OpenSim developers are content to wait until those extensions are available under Mono (which moves fast enough that it isn’t a major problem).
  • Microsoft is not known for breaking backwards compatibility to “extinguish” things - the mere fact you can still run Win3.1 applications on Windows Vista should give some assurances there. Microsoft is yet to make any kind of retroactive change to the .NET standard - all .NET 1.1 applications should still run under .NET 3.5 without changes. (and the cost to them of making a change like that would be significant in terms of people using applications under Windows)
  • There are two completely F/OSS implementations of C#/.NET and the standard library. Mono (Licensing Concerns Addressed Here) and the FSF’s DotGNU PNET. OpenSim is regularly tested for compatibility under Mono (in fact our automated testing environment uses it). DotGNU is significantly less popular and has not been properly tested with due to not being feature complete yet. There is also a third source-availible implementation from Microsoft called Rotor, however it is not under a OSI-approved license.
  • Microsoft maintains a reasonably healthy relationship with the Mono developers and has been known to collaborate in the past (such as for the development of the specialised Moonlight runtime).

The next question usually is “Well, why not write it in Java then?” the answer is multi pronged and highly likely to generate a flame war on the subject - the biggest reason is that coding the same thing in Java would probably take significantly longer to do.

Java is a beast of a language that has had layers of gunk added in every revision resulting in a hodge-podge of inconsistently named items in the standard library that may, or may not address what you want. The second major reason is that the C# standard library is both larger and more functional - the amount of time and effort the Base Class Library has saved is astonishing. Wikipedia has a nice article detailing the differences between the two languages.

However, since both Java and C# share a very similar byte code language - it is possible to do a machine driven cross-compilation so you could run OpenSim under the JVM runtime if you so wish. Source translation between the languages is also reasonably possible however requires a degree of manual work.

Some concluding facts which may actually surprise some people

  • One of the largest contributors and users of the project is IBM. One of the first groups inside of IBM to get involved was IBM’s Linux Technology Center. All[?] of the IBM developers are using Linux, Emacs and Mono to develop and test.
  • Approximately half the developers working on OpenSim are running under Linux/BSD. As a user base, Linux users represent approximately 80-90% of the casual testers and operators. (Windows is however much better represented in people running commercial operations)
  • Our compatibility targets are Mono 1.2.5 (latest is 1.9) and .NET 2.0 - we dont use features which supercede these (although we may raise that to Mono 2.0 once it is out of beta).

Tags: , , , , , , ,

-->