Re: [vos-d] Re: Re: next priorities; mySQL

2006-04-10 Thread Neil Mosafi
Surely the best approach is trying to support as many different database servers as possible, rather than pushing a single one onto the VOS user?To that extent, does anyone know of a flexible C++ data access library which can be configured to talk to many different databases? I am talking not only MySql, Postgres etc but also commercial ones like Oracle and Microsoft SQL Server (or MS SQL Express, which is free)?
On 10/04/06, Lalo Martins [EMAIL PROTECTED] wrote:
On Sun, 09 Apr 2006 18:55:29 -0400, Reed Hedges wrote: my personal goal for .24 would be refurbishing the sqlpersist machinery. I just don't trust mysql at all ;-) What do you mean, you don't trust it?
 What about PostgreSQL then?I know MySQL is now a complete proper database system, with ACID and all.But up to just a few months ago, it was just a place to dump your datathat happened to (mostly) respond to SQL queries.It gained so much
popularity because it was fast; but anyone who really caredabout this database stuff knew that it was faster because it wasincomplete.Like, well, DOS is faster than WinXP.And even now, at least last time I looked, the completeness
(ACID compliance and whatever else) is optional... the defaultsetup is just as bad (and fast) as it was in the bad old days.The Free Software / Open Source world can do better.Where youneed ACID compliance, safety, robustness, and flexibility, go
with PostgreSQL, it's a much better database.Where you needspeed and don't care much about the other stuff, sqlite simplyhumiliates MySQL.As for the trust... most admins will go for the fast setup,
or even not touch the defaults.Then something bad happens tothe data, and it's our, Lalo Martins--So many of our dreams at first seem impossible,
 then they seem improbable, and then, when we summon the will, they soon become inevitable.--personal:
technical: never give up freedom
___vos-d mailing listvos-d@interreality.org

vos-d mailing list

Re: [vos-d] site peering

2006-03-27 Thread Neil Mosafi
What about using XML Signature ( )? This standard can be used not only to prove who is sending a message, but also that the contents message have not been altered by a third party during transmission, which is another common security concern not mentioned in this post.
Simply put, this is done by hashing the contents of a referenced XML block, and then encrypting that hash using a known algorithm/key (private key). Then on the other side you hash the XML block and decrypt the signature (public key) - if they match then you know the message is unaltered and sent by that party.
The only issue is whether VOS still uses XML messaging at all, or is it now *pure* binary?On 3/27/06, Peter Amstutz 
On Mon, 27 Mar 2006, Hugh Perkins wrote: Peter, Disclaimer: the only thing I'm sure about the problem is that I havent fully understood it ;-) The problem appears to be a stable way of identifying each machine?Could
 you use an IP address and port as seen by an (internet-based) STUN server?That would be better than what we it does now, yes.However it relies onthere being a STUN server that everyone agrees upon to use, which doesn't
really scale.Also it doesn't really address the othermultiple-protocol/multiple-networks problems I outlined in my mail.Oneof the goals of VOS is for the client/server protocol to be essentiallythe same as the server/server interconnection and sychronization protocol.
Actually, a little bit of background might be relevant here.VOS wasoriginally conceived as a primarily peer-to-peer system.The world serverwould act merely as a broker which stored the static world geometry and
then linked to the connected clients.When you joined the space, youwould connect to each client and then exchange updates (position changes,talk message, etc) directly, without involving the server.This turned out to be unworkable, for a variety of reasons but starting
with the fact that lots of people are behind firewalls which don't allowincoming connections.Thus we have turned towards a more traditionalserver-centric model for the end user client.However, since by
definition world servers are accessable, the peer-to-peer design is stillvery useful and relevant -- it allows you to create grids of worldservers, or to knit several servers together to serve a single world!
The expectation is that VOS would form a dense grid of connections betweenclients, servers, appliances, hubs etc.Keep in mind that these arepersistant connections, which is why it is so important to be able to
associate a link with an existing connection: unlike HTTP, they arestateful connections.[ Peter Amstutz ][ [EMAIL PROTECTED] ][ 
[EMAIL PROTECTED]][Lead Programmer][Interreality Project][Virtual Reality for the Internet][ VOS: Next Generation Internet Communication][ ]
[ ][ ]-BEGIN PGP SIGNATURE-Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFEJ4uOaeHUyhjCHfcRAjKtAJwJRHtvPiw+OHqy9YsQODEaX3DKogCePEf+WU//Cm26Q1V8gn0RCumGcvc==1ImB-END PGP SIGNATURE-___vos-d mailing list

vos-d mailing list

Re: [vos-d] Swig

2006-03-12 Thread Neil Mosafi
That it costs anything is a common misconception:

The Microsoft C# compiler comes for free with Windows.
You can download the Visual Studio 2005 Express Editions for free for a year.
You can download other integrated development enviroments for free (such as SharpDevelop)
You canbuild C# in Mono for free, which also runs on Linux which is a free OS.
All the MSDN documentation is available for free online.

So altogether, it is highly possible to spend no money and build C# apps.
On 3/12/06, sconzey [EMAIL PROTECTED] wrote:

The problem is that as far as I know, C# isn't anywhere near as portable as python, nor is it anywhere near as open. There are many free python development applications, whereas to write C# requires £300 worth of software. 
My vote's cast for python.

On 3/12/06, Hugh Perkins 


After playing around a little with C#, I have to agree with Neil: C# rocks.

Just to throw some salt in the wounds of the Python discussions, I cant help thinking that C# has all the advantages of both Python (run from source, easy to read) and C++ (strong typing, runs quickly).

Btw, OSMP is now available in a C# version ;-)

On 9/2/05, Neil Mosafi [EMAIL PROTECTED] wrote: 

Yep, not had much practise with managed C++ as I'm lazy and C# is so much easier (!), but I guessmanaged C++ could be the way to go for integrating with VOS as it can fully utilise the C++ classes. 

Still there'd be work required to make the API more .net like

___vos-d mailing list

-- QOTD:Violence is the last resort of the incompetent-- Isaac Asimov GPG Public Key:
___vos-d mailing
vos-d mailing list

Re: [vos-d] local avatar models

2006-03-06 Thread Neil Mosafi
Hi Jason
I doubt this has anything to do with it, but you default policy on your avatar object is property:ready-only rather than read-onlyRgds
On 3/4/06, Jason Moyers [EMAIL PROTECTED] wrote:

When I connect to vip:// with my avatar object is not shown, howeven I connect to a3dldemo running on a local box here it works just fine. The following generates my local avatar.
bool BVavatar::Init( BetaVerse *beta, iVosApi *sec ){ LOG( BVavatar::Init, 3, starting... ); bv = beta; sector = meta_castA3DL::Sector( sec-GetVobject() );
  CS_ASSERT( sector.isValid() ); CS_ASSERT( bv-site.isValid() ); vRefA3DL::Cube avatarObj =  bv-site-createVobject3A3DL::Cube, Talkative, Avatar();  avatarObj-setDefaultPolicy( core:read-only,property:ready-only,talkative:send-only );
 avatarObj-setPosition( 0, 0, 0 ); avatarObj-setScalingHT( .3, .3, .3 ); avatarObj-setOrientation( 0, 1, 0, 0 ); avatarObj-setOrientationHT( -1, 0, 0, 90 ); avatarObj-getMaterial()-setColor( .5, .2, .2 );
  vRefAvatar avatar = meta_castAvatar( avatarObj ); avatar-setNick( bv-prefs-GetNick() );/* don't need this if we create the avatar locally and hence set position/orientation
*/  avatar3d = meta_castA3DL::Object3D( avatarObj ); CS_ASSERT( avatar3d.isValid() );  avatar3d-setDefaultPolicy( core:accept-all );  double x, y, z; double a, b, c, r;
 x = y = z = a = b = c = r = 0.0;  try  { avatar3d-getPosition(x, y, z); avatar3d-getOrientation(a, b, c, r); r *= M_PI/180.0; } catch( std::runtime_error e )
 { LOG( BVavatar::Init, 2, Runtime error while setting position orientation with avatar. ); } LOG( BVavatar::Init, 3, x:   x   y:   y   z:   z );
 LOG( BVavatar::Init, 3, a:   a   b:   b   c:   c   r:   r );  sector-insertChild( -1, bv-prefs-GetNick(), avatarObj );
  if( avatar-isLocal() ) { talk = meta_castLocalTalkative( avatar ); if( !talk.isValid() ) { avatar-addType( misc:talkative ); talk = meta_castLocalTalkative( avatar );
 } } else { CS_ASSERT( bv-site.isValid() ); talk = bv-site-createVobjectLocalTalkative(); CS_ASSERT( talk.isValid() ); LOG( BVavatar::Init, 3, 
talk.getURLstr():   talk-getURLstr() );  talk-setDefaultPolicy( core:read-only,talkative:send-only ); try { if( !avatar.isValid() ) LOG( BVavatar::Init, 3, Avatar not vaild, can't add chat. );
  vRefTalkative t = meta_castTalkative( avatar ); if( t.isValid() ) {  LOG( BVavatar::Init, 3, t.getURLstr():   t-getURLstr() );
 t-addRelay( talk );  } else LOG( BVavatar::Init, 3, Remote talkative not valid. );  LOG( BVavatar::Init, 3, adding relay from   avatar-getURLstr()
   to   talk-getURLstr() ); } catch( std::runtime_error e )  { LOG( BVavatar::Init, 2, Got a runtime error adding ourselves as a relay to the avatar talkative, we won't receive any messages (!?!?).  
e.what() ); } } try {  vRefTalkative tk = meta_castTalkative(sector); if( tk.isValid() ) tk-addRelay( talk );  LOG( BVavatar::Init, 3, adding relay from   tk-getURLstr()
   to   talk-getURLstr() ); } catch(std::runtime_error e)  { LOG(BVavatar::Init, 2, Got a runtime error adding ourselves as a relay to the sector talkative, we won't receive messages from the sector. (!?!?));
 } LOG( BVavatar::Init, 3, ended. ); return true;}___vos-d mailing list

vos-d mailing list

Re: [vos-d] reducing number of libraries

2005-12-17 Thread Neil Mosafi
I think I agree with you Peter, having them as a separate library doesn't make too much sense. You could perhaps use a separate namespace or something?

Beyond reading the mailing lists, I've not been following VOS a huge amount recently.So to answer the question I guess you just have to ask if it is possible to write a useful VOS application that would not use the property metaobject?

On 12/17/05, Peter Amstutz [EMAIL PROTECTED] wrote:
-BEGIN PGP SIGNED MESSAGE-Hash: SHA1I got a big whack of coding done last night, which was very satisfying :-)
Something that occurred to me, though, was the current tendency in VOS toover-modularize and have a proliferation of small libraries.While thismakes sense for dynamically loaded plugins, it's annoying if you have to
list 10 libraries on the link line to pull in all the features you need.Worse, certain libraries which register themselves with VOS arn't actuallycalled by your app, and so won't generate link errors if they are missing.
The wost offenders I'm thinking of right now are libvosapp (1 file) andthe new import/export libaries (1 file/1 library for each of XOD, COD andASE).Collapsing the import/export code into a single library is easy.Perhaps
a libvosimpexp_3d could have the loader code for ASE, VRML and othersupported formats.I was thinking, though, that the COD and XOD fileformats are really are generic core feature and should probably be put
into the main libvos.XOD, however, relies on the Property metaobject.Vosapp is also now a one file library, and would probably make a lot ofsense to be merged into the main libvos.This also has a direct
dependency on the Property metaobject, though.So, with the goal of reducing the number of link libraries involved in atypical VOS app, I'm thinking of merging COD, XOD, vosapp andmetaobject_property into the main libvos.
My main concern is over merging the property metaobject.It would add abunch of new files to libvos.From a design standpoint, we've benefittedfrom having the property class be separate, so that none of the core code
could treat property vobjects as special.By having the XOD and vosappcode be aware of properties and part of libvos, this would arguably breakthat encapsulation slightly.On the other hand, it could be fairly argued that the property metaobject
is for all intents and purposes a core feature.At this point, it isessential to being able to interoperate with a VOS site (note that wedidn't know this would be the case when we originally designed VOS, which
was why it was put as a separate optional module back then.)I would say that the wall between them has held up long enough to provethe point, so it would make sense, and ultimately make everyones lives a
bit easier, if the property metaboject were made part of the core libvos.Comments?[ Peter Amstutz ][ [EMAIL PROTECTED] ][ 
[EMAIL PROTECTED]][Lead Programmer][Interreality Project][Virtual Reality for the Internet][ VOS: Next Generation Internet Communication][ ]
[ ][ ]-BEGIN PGP SIGNATURE-Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFDpHPraeHUyhjCHfcRAuF4AKCfcYSE9CfeuHs/4VR1VP0/vwPjRQCghcr7NC11Zf6MQnGL76scAEYW/uQ==ciSh-END PGP SIGNATURE-___vos-d mailing list

vos-d mailing list

Re: [vos-d] Dynamic interpreted languages getting more popular.

2005-12-12 Thread Neil Mosafi
Nope, well not AFAIK anyway unless ms have changed something in .NET2.
ASPX pages are actually compiled on the fly when you first browse to the page. Makes for faster rendering I guess?
On 12/13/05, Reed Hedges [EMAIL PROTECTED] wrote:
On Dec 12, 2005, at 6:50 PM, Neil Mosafi wrote: _javascript_ is a client side language. ASP sites would generally be written in _vbscript_ for the server side
 code, and ASP.NET in either C# or VB.NET, both of which are compiled.Can you run VB.NET interpreted as well?
___vos-d mailing listvos-d@interreality.org

vos-d mailing list