Wednesday 25 March 2009

NAREGI Client Installation...

On Windows:

Download and install : OpenSSH
http://sshwindows.sourceforge.net/download/
Download the : Binary Installer Releases

Install it.

Create a user : NaregiSim on windows.

Then:

mkgroup -l >> \etc\group (local groups)

mkpasswd -l -u NaregiSim >> ..\etc\passwd (add username to passwd - local user)

Generating Public Key:

ssh-keygen -t rsa

It will ask you for a password but you can leave it blank.

Note you could also pick -t dsa if you prefer.

Sunday 15 March 2009

Wather Data in Second Life...

command line:
/1 uuid temp
e.g. /1 00000000-0000-0000-0000-000000000000 -6


Prim Code...
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
llSetText("Tokyo", <1.0, 1.0, 1.0>, 1.0);
llListen(1, "", llGetOwner(), "");
llParticleSystem([]);
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, 0 ] ) ;
llSetColor(<1,1,0.5>, ALL_SIDES);
llSetTexture("8b5fec65-8d8d-9dc5-cda8-8fdf2716e361", ALL_SIDES);
}

listen( integer channel, string name, key id, string message )
{
if (id == llGetOwner()){
//key uuid = (key)llGetSubString(message,0,35);
integer value = (integer)llGetSubString(message,36,-1);
//if(uuid == llGetKey()){
if (value <= 0 && value >= -10 )
{
llSetText("Tokyo "+(string)value+"oC", <1.0, 1.0, 1.0>, 1.0);
llSetTexture("f73e94ac-1bfd-43e2-ff0a-efc7fee1029e", ALL_SIDES);
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, 0 ] ) ;
llSetColor(<1,1,1>, ALL_SIDES);
llParticleSystem(
[
PSYS_PART_FLAGS, PSYS_PART_WIND_MASK | PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE,
PSYS_PART_START_COLOR, <1,1,1>,
PSYS_PART_START_SCALE,<0.1,0.1,0.1>,
PSYS_PART_END_SCALE,<0.1,0.1,0.1>,
PSYS_SRC_BURST_PART_COUNT,5,
PSYS_SRC_ANGLE_BEGIN,0.57,
PSYS_PART_MAX_AGE,0.5
] );
}
if (value < -10 )
{
llSetText("Tokyo "+(string)value+"oC", <1.0, 1.0, 1.0>, 1.0);
llSetTexture("f73e94ac-1bfd-43e2-ff0a-efc7fee1029e", ALL_SIDES);
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, 0 ] ) ;
llSetColor(<1,1,1>, ALL_SIDES);
llParticleSystem(
[
PSYS_PART_FLAGS, PSYS_PART_WIND_MASK | PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE,
PSYS_PART_START_COLOR, <1,1,1>,
PSYS_PART_START_SCALE,<0.3,0.3,0.3>,
PSYS_PART_END_SCALE,<0.3,0.3,0.3>,
PSYS_SRC_BURST_PART_COUNT,5,
PSYS_SRC_ANGLE_BEGIN,0.57,
PSYS_PART_MAX_AGE,0.5
] );
}
if (value > 0 && value <= 10 )
{
llSetTexture("f73e94ac-1bfd-43e2-ff0a-efc7fee1029e", ALL_SIDES);
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, 0 ] ) ;
llSetColor(<1,1,1>, ALL_SIDES);
llParticleSystem([]);
}
if (value > 10 && value <= 20 )
{
llSetTexture("8b5fec65-8d8d-9dc5-cda8-8fdf2716e361", ALL_SIDES);
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, 0.1 ] ) ;
llSetColor(<1,1,0.5>, ALL_SIDES);
llParticleSystem([]);
}
if (value > 20 && value <= 30 )
{
llSetTexture("8b5fec65-8d8d-9dc5-cda8-8fdf2716e361", ALL_SIDES);
llSetColor(<1,1,0.5>, ALL_SIDES);
llParticleSystem([]);
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, .2 ] ) ;
}
if (value > 30 && value <= 40 )
{
llSetTexture("8b5fec65-8d8d-9dc5-cda8-8fdf2716e361", ALL_SIDES);
llSetColor(<1,1,0.5>, ALL_SIDES);
llParticleSystem([]);
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, .6 ] ) ;
}
if (value > 40)
{
llSetTexture("8b5fec65-8d8d-9dc5-cda8-8fdf2716e361", ALL_SIDES);
llSetColor(<1,1,0.5>, ALL_SIDES);
llParticleSystem([]);
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, 1 ] ) ;
}
//}
}
}

touch_start(integer total_number)
{
llSay(0, "Touched.");
}
}

Second Life LSL Scripts

Particle toward some object:

default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
llParticleSystem([]);
}

touch_start(integer total_number)
{
string keydata= "ecd1c49e-7a5f-17e9-4a13-a51770d9c36c";
llSay(0, "Touched.");
llParticleSystem([
PSYS_PART_FLAGS, PSYS_PART_TARGET_POS_MASK | PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE | PSYS_SRC_PATTERN_DROP,
PSYS_PART_START_COLOR, <1,1,1>,
PSYS_SRC_TARGET_KEY,(key)keydata,
PSYS_PART_START_SCALE,<0.1,0.1,0.1>,
PSYS_PART_END_SCALE,<0.1,0.1,0.1>,
PSYS_SRC_BURST_PART_COUNT,5]
);
}
}


Script to raise water level:

default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
}

touch_start(integer total_number)
{
llSay(0, "Touched.");

llMinEventDelay(2.0);
float i=23.0;

for(i=23;i<26;i+=0.2)
llSetPos(<251.012,35.698,i>);
}
}

Azure OpenAI Architecture Patterns & Deployment Patterns

Sharing some useful links that will help customers architect Azure OpenAI solution using the best practices: (1) Azure OpenAI Landing Zone r...