<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Randomly Designless &#187; opensim</title>
	<atom:link href="http://www.cminion.com/wordpress/tag/opensim/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cminion.com/wordpress</link>
	<description>A series of accidental projects</description>
	<lastBuildDate>Wed, 12 May 2010 11:35:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Homecamp 09</title>
		<link>http://www.cminion.com/wordpress/2009/04/29/homecamp-09/</link>
		<comments>http://www.cminion.com/wordpress/2009/04/29/homecamp-09/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 21:14:21 +0000</pubDate>
		<dc:creator>cminion</dc:creator>
				<category><![CDATA[Conf]]></category>
		<category><![CDATA[homecamp]]></category>
		<category><![CDATA[opensim]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[ducks]]></category>

		<guid isPermaLink="false">http://www.cminion.com/wordpress/?p=70</guid>
		<description><![CDATA[Homecamp 09 was last weekend and I feel it was an amazing success. Like many people I attended with the intention of sitting in the background watching and learning, however I was prepared to present if need be. By  prepared I meen gluegunned some ducks to a load of fairy lights and packed an arduino.
I [...]]]></description>
			<content:encoded><![CDATA[<p>Homecamp 09 was last weekend and I feel it was an amazing success. Like many people I attended with the intention of sitting in the background watching and learning, however I was prepared to present if need be. By  prepared I meen gluegunned some ducks to a load of fairy lights and packed an arduino.</p>
<p>I didn&#8217;t take any notes during the days as I was streaming the event into OpenSim from my laptop with my isite camera. I dont recommend this for future events. Nor was this intended before the day. Below are few of the talks that I took away with me.</p>
<ul>
<li>Martin Dix (@martindix) from currentcost spoke and suprised us all with his free gift  (More about this in a future post) and some statistics about how many current costs had been produced.</li>
<li>The Aimee API</li>
<li>Electricity 2.0 by Tom Raftery <a href="http://greenmonk.net/electricity-20-using-the-lessons-of-the-web-to-improve-our-energy-networks-the-video/">link</a> for a previous video of this talk</li>
</ul>
<p>There were lots of other areas discussed over the course of the day making it very interesting. I attempted to present some of the work I had done in OpenSim as well as my twittering flat.</p>
<p>I drove the two guys from <a href="http://www.theattick.tv">theAttick</a> who agreed to do the filming and sound for the day, great guys, slightly insane but great. I hope to get some of their videos on here soon.</p>
<p>Sorry for the lack of information, in this post next time I will make sure I can take some notes <img src='http://www.cminion.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cminion.com/wordpress/2009/04/29/homecamp-09/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mobile Ducks have migrated for the summer</title>
		<link>http://www.cminion.com/wordpress/2009/04/27/mobile-ducks-have-migrated-for-the-summer/</link>
		<comments>http://www.cminion.com/wordpress/2009/04/27/mobile-ducks-have-migrated-for-the-summer/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 11:34:54 +0000</pubDate>
		<dc:creator>cminion</dc:creator>
				<category><![CDATA[opensim]]></category>
		<category><![CDATA[ducks]]></category>
		<category><![CDATA[Reaction Grid]]></category>

		<guid isPermaLink="false">http://www.cminion.com/wordpress/?p=60</guid>
		<description><![CDATA[A few people asked me about my Ducks not being on the server (well 1) .
I have been asked to remove the randomly moving around ducks from the our SIM on ReactionGrid. I was &#8220;Cooking the server&#8221; and as the server was donated to us I felt obliged not to take advantage.
Thanks once again for [...]]]></description>
			<content:encoded><![CDATA[<p>A few people asked me about my Ducks not being on the server (well 1) .</p>
<p>I have been asked to remove the randomly moving around ducks from the our SIM on ReactionGrid. I was &#8220;Cooking the server&#8221; and as the server was donated to us I felt obliged not to take advantage.</p>
<p>Thanks once again for the people at ReactionGrid for providing us with a server to use for HomeCamp, lets see if we can improve its use for the next HomeCamp.</p>
<p>HomeCamp blog post to follow and a twitter search library post to follow when I get a few minute</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cminion.com/wordpress/2009/04/27/mobile-ducks-have-migrated-for-the-summer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Friendly Ghost Ducks</title>
		<link>http://www.cminion.com/wordpress/2009/04/18/friendly-ghost-ducks/</link>
		<comments>http://www.cminion.com/wordpress/2009/04/18/friendly-ghost-ducks/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 00:25:37 +0000</pubDate>
		<dc:creator>cminion</dc:creator>
				<category><![CDATA[opensim]]></category>
		<category><![CDATA[ducks]]></category>
		<category><![CDATA[Ghost]]></category>
		<category><![CDATA[Reaction Grid]]></category>

		<guid isPermaLink="false">http://www.cminion.com/wordpress/?p=48</guid>
		<description><![CDATA[I was aiming to produce an autonomous  dynamic enviroment developer tool for open sim.  As I had no idea what this would include I decided to start small and took the duck model supplied by Chris H and added a little script.
The first iteration  randomly chooses a direction (North, South, East or West)  and moves [...]]]></description>
			<content:encoded><![CDATA[<p>I was aiming to produce an autonomous  dynamic enviroment developer tool for open sim.  As I had no idea what this would include I decided to start small and took the duck model supplied by Chris H and added a little script.</p>
<p>The first iteration  randomly chooses a direction (North, South, East or West)  and moves one meter. This repeated every second. I had to introduce a 270m boundary otherwise the ducks had a habit of trying to change sims.</p>
<blockquote><p>float x = 82;<br />
float y = 237.682;<br />
float z = 22.5;<br />
float period = 1;<br />
float noMove = 10;<br />
float touchCount =0;<br />
default<br />
{<br />
timer()<br />
{<br />
list dice = [0,1,2,3,4];<br />
integer rand = llList2Integer(llListRandomize(dice, 1),0);<br />
vector xyz_angles = &lt;0,0,0&gt;;<br />
integer i=0;<br />
for( i=0;i&lt;noMove;i++) {<br />
if (rand == 0)<br />
{<br />
x=x+period/noMove;<br />
if (x &lt; 92)<br />
{<br />
xyz_angles = &lt;0,0,180&gt;;<br />
}<br />
else {<br />
x=x-period/noMove;<br />
x=x-period/noMove;<br />
xyz_angles = &lt;0,0,0&gt;;<br />
}<br />
}<br />
else if (rand ==1) {<br />
x=x-period/noMove;<br />
if (x &gt; 71)<br />
{<br />
xyz_angles = &lt;0,0,0&gt;;<br />
}<br />
else {<br />
x=x+period/noMove;<br />
x=x+period/noMove;<br />
xyz_angles = &lt;0,0,180&gt;;<br />
}<br />
}<br />
else if (rand == 2) {<br />
y=y-period/noMove;<br />
if (y &gt; 226)<br />
{<br />
xyz_angles = &lt;0,0,90&gt;;<br />
}<br />
else {<br />
y=y+period/noMove;<br />
y=y+period/noMove;<br />
xyz_angles = &lt;0,0,270&gt;;<br />
}<br />
}<br />
else if (rand==3) {<br />
xyz_angles = &lt;0,0,270&gt;;<br />
y=y+period/noMove;<br />
if (y &lt; 247)<br />
{<br />
xyz_angles = &lt;0,0,270&gt;;<br />
}<br />
else {<br />
y=y-period/noMove;<br />
y=y-period/noMove;<br />
xyz_angles = &lt;0,0,90&gt;;<br />
}<br />
}<br />
//llSay(0,(string)x+&#8221; &#8220;+(string)y+&#8221; &#8220;+(string)z);<br />
vector angles_in_radians = xyz_angles*DEG_TO_RAD;<br />
rotation rot_xyzq = llEuler2Rot(angles_in_radians);<br />
llSetRot(rot_xyzq);<br />
llSleep(period/noMove);<br />
llSetPos(&lt;x,y,z&gt;);<br />
}<br />
}<br />
state_entry()<br />
{<br />
llSetTimerEvent(period+0.5);<br />
llSetText(&#8221; &#8220;,&lt;1, 0, 0&gt;,1);<br />
}<br />
touch_start(integer total_number)<br />
{</p>
<p>string soughtName = llDetectedName(0);;<br />
touchCount = touchCount + 1;<br />
}<br />
}</p></blockquote>
<p>The second (and current) iteration of Duck allows them to be more interactive. If you talk while near the duck, it becomes scared of you (-1 modifier) however if you touch it it likes you (+1 modifier). The distance and direction it moves is connected to the accumulated modifier. If the modifier is positive it moves towards  you, if it is negative it moves away from you.</p>
<blockquote><p>float x = 82;<br />
float y = 237.682;<br />
float z = 22.5;<br />
float period = 4;<br />
float noMove = 10;<br />
float touchCount =0;<br />
vector location;<br />
string name;<br />
list likesName = [];<br />
list likesOpinions = [];<br />
integer listen_handle ;<br />
default<br />
{<br />
sensor( integer vIntFound )<br />
{<br />
if (vIntFound &lt; 1   )<br />
{<br />
name = &#8220;&#8221;;<br />
}<br />
integer vIntCounter = 0;<br />
location = llDetectedPos( vIntCounter ) ;<br />
name = llDetectedName(vIntCounter);<br />
}<br />
timer()<br />
{<br />
vector oldLocation = location;<br />
list dice = [0,1,2,3,4];<br />
float oldPeriod = period;<br />
llSensor( &#8220;&#8221;, &#8220;&#8221;, AGENT, 5, PI );<br />
if (name != &#8220;&#8221;){<br />
integer indx = llListFindList(likesName,name);<br />
if (indx == -1) {<br />
indx = 1;<br />
}<br />
integer like = llList2Integer(likesOpinions,indx);<br />
if (like &gt; 10 ) {<br />
like = 10;<br />
}<br />
period = 15;<br />
y = y-(y-location.y)/noMove*like;<br />
x = x-(x-location.x)/noMove*like;<br />
llSetPos(&lt;x,y,z&gt;);<br />
//llOwnerSay(&#8220;Walking towards &#8220;+name+&#8221; &#8220;+(string)x+&#8221; &#8220;+(string)y+&#8221; &#8220;+(string)z);<br />
name = &#8220;&#8221;;<br />
}<br />
else {<br />
period = oldPeriod;<br />
integer rand = llList2Integer(llListRandomize(dice, 1),0);<br />
vector xyz_angles = &lt;0,0,0&gt;;<br />
integer i=0;<br />
for( i=0;i&lt;noMove;i++) {<br />
if (rand == 0)<br />
{<br />
x=x+period/noMove;<br />
if (x &lt; 92)<br />
{<br />
xyz_angles = &lt;0,0,180&gt;;<br />
}<br />
else {<br />
x=x-period/noMove;<br />
x=x-period/noMove;<br />
xyz_angles = &lt;0,0,0&gt;;<br />
}<br />
}<br />
else if (rand ==1) {<br />
x=x-period/noMove;<br />
if (x &gt; 71)<br />
{<br />
xyz_angles = &lt;0,0,0&gt;;<br />
}<br />
else {<br />
x=x+period/noMove;<br />
x=x+period/noMove;<br />
xyz_angles = &lt;0,0,180&gt;;<br />
}<br />
}<br />
else if (rand == 2) {<br />
y=y-period/noMove;<br />
if (y &gt; 226)<br />
{<br />
xyz_angles = &lt;0,0,90&gt;;<br />
}<br />
else {<br />
y=y+period/noMove;<br />
y=y+period/noMove;<br />
xyz_angles = &lt;0,0,270&gt;;<br />
}<br />
}<br />
else if (rand==3) {<br />
xyz_angles = &lt;0,0,270&gt;;<br />
y=y+period/noMove;<br />
if (y &lt; 247)<br />
{<br />
xyz_angles = &lt;0,0,270&gt;;<br />
}<br />
else {<br />
y=y-period/noMove;<br />
y=y-period/noMove;<br />
xyz_angles = &lt;0,0,90&gt;;<br />
}<br />
}<br />
//llSay(0,(string)x+&#8221; &#8220;+(string)y+&#8221; &#8220;+(string)z);<br />
vector angles_in_radians = xyz_angles*DEG_TO_RAD;<br />
rotation rot_xyzq = llEuler2Rot(angles_in_radians);<br />
llSetRot(rot_xyzq);<br />
llSleep(period/noMove);<br />
llSetPos(&lt;x,y,z&gt;);<br />
}<br />
}<br />
}<br />
state_entry()<br />
{<br />
llSetPos(&lt;x,y,z&gt;);<br />
llSetTimerEvent(period+0.5);<br />
llSetText(&#8221; &#8220;,&lt;1, 0, 0&gt;,1);<br />
listen_handle = llListen(0, &#8220;&#8221;, llGetOwner(), &#8220;&#8221;);<br />
}<br />
touch_start(integer total_number)<br />
{<br />
string soughtName = llDetectedName(0);<br />
integer indx = llListFindList(likesName,soughtName);<br />
if (indx == -1 ) {<br />
likesName = llListInsertList(likesName, [soughtName], llGetListLength(likesName));<br />
indx = llListFindList(likesName,soughtName);<br />
}<br />
integer mod = llList2Integer(likesOpinions,indx) + 1;<br />
if (mod ==0) {<br />
mod =1;<br />
}<br />
likesOpinions = llListReplaceList(likesOpinions,[mod],indx,indx);<br />
llOwnerSay(soughtName +&#8221; likeness is set to &#8220;+mod);<br />
touchCount = touchCount + 1;<br />
}<br />
listen( integer channel, string name, key id, string message )<br />
{<br />
string soughtName = name;<br />
llSay(0,soughtName + &#8221; just spoke and scared me&#8221;);<br />
integer indx = llListFindList(likesName,soughtName);<br />
if (indx == -1 ) {<br />
likesName = llListInsertList(likesName, [soughtName], llGetListLength(likesName));<br />
indx = llListFindList(likesName,soughtName);<br />
}<br />
integer mod = llList2Integer(likesOpinions,indx) &#8211; 1;<br />
if (mod ==0) {<br />
mod = -1;<br />
}<br />
likesOpinions = llListReplaceList(likesOpinions,[mod],indx,indx);<br />
llOwnerSay(soughtName +&#8221; likeness is set to &#8220;+mod);<br />
}<br />
}</p></blockquote>
<p>Not sure what will be done next, feedback is welcome</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cminion.com/wordpress/2009/04/18/friendly-ghost-ducks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Energy Turbines</title>
		<link>http://www.cminion.com/wordpress/2009/04/09/energy-turbines/</link>
		<comments>http://www.cminion.com/wordpress/2009/04/09/energy-turbines/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 21:17:54 +0000</pubDate>
		<dc:creator>cminion</dc:creator>
				<category><![CDATA[opensim]]></category>
		<category><![CDATA[energy price]]></category>
		<category><![CDATA[homecamp]]></category>

		<guid isPermaLink="false">http://www.cminion.com/wordpress/?p=43</guid>
		<description><![CDATA[James (@JTOnline) a work colleague mentioned that he had a wind turbine model in second life and he wanted to link it to the actual  windspeed .
I sat back and thought that is not augmented reality enough for me.&#160; With permission i took a copy of&#160; his turbines and made a few modifications.
A few [...]]]></description>
			<content:encoded><![CDATA[<p>James (<a href="http://www.twitter.com/jtonline" mce_href="http://www.twitter.com/jtonline" target="_self">@JTOnline</a>) a work colleague mentioned that he had a wind turbine model in second life and he wanted to link it to the actual  windspeed .</p>
<p>I sat back and thought that is not augmented reality enough for me.&nbsp; With permission i took a copy of&nbsp; his turbines and made a few modifications.</p>
<p>A few months ago back in December I decided to waste a few hours publishing the buying and selling price of electricity from the national grid. This is not the price the UK households pay but the price the companies buy and sell it for wholesale. This data is published to pachube for anyone to see <a href="http://www.pachube.com/feeds/1245" mce_href="http://www.pachube.com/feeds/1245">here</a> depending when my home server is working.</p>
<p>Taking this information and turning it to a rotary motion in second life was amazingly simple.</p>
<p>After a few days I decided to add a method that made the windmill go on fire if the price of electricity breaks a certain threshold.  This was half an excuse to use particles and half an excuse to allow for a graphic representation of the electricity price spiking.</p>
<p>Images and code to follow</p>
<p style="margin-bottom: 0cm;" mce_style="margin-bottom: 0cm;">
]]></content:encoded>
			<wfw:commentRss>http://www.cminion.com/wordpress/2009/04/09/energy-turbines/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Power and Temperature Orbs in OpenSim and SecondLife</title>
		<link>http://www.cminion.com/wordpress/2009/03/17/power-and-temperature-orbs-in-opensim-and-secondlife/</link>
		<comments>http://www.cminion.com/wordpress/2009/03/17/power-and-temperature-orbs-in-opensim-and-secondlife/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 01:01:05 +0000</pubDate>
		<dc:creator>cminion</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[opensim]]></category>
		<category><![CDATA[orb]]></category>
		<category><![CDATA[pachube]]></category>

		<guid isPermaLink="false">http://www.cminion.com/wordpress/?p=21</guid>
		<description><![CDATA[For reasons unknown to me I started to play around with OpenSim on Reactiongrids Servers in the Homecamp sim. Having never used anything like OpenSim or SecondLife before Chris Dalby(www.twitter.com/yellowpark) gave me my own office
I had NO idea what to do next. So i made a sphere and put it on a desk.

Now pachube have [...]]]></description>
			<content:encoded><![CDATA[<p>For reasons unknown to me I started to play around with OpenSim on Reactiongrids Servers in the Homecamp sim. Having never used anything like OpenSim or SecondLife before Chris Dalby(www.twitter.com/yellowpark) gave me my own office</p>
<p>I had NO idea what to do next. So i made a sphere and put it on a desk.</p>
<p><img class="aligncenter size-medium wp-image-24" title="Orbs on desk" src="http://www.cminion.com/wordpress/wp-content/uploads/2009/03/orbs_001-300x177.png" alt="Orbs on desk" width="300" height="177" /></p>
<p>Now pachube have posted a guide for linking their feeds into opensim using HTTPRequests. (http://community.pachube.com/?q=node/82)  Following their careful guide I Produced this.<img class="aligncenter size-medium wp-image-26" title="orbsfinal" src="http://www.cminion.com/wordpress/wp-content/uploads/2009/03/orbsfinal-300x151.png" alt="orbsfinal" width="300" height="151" /></p>
<p>The text at the top  gets updated with pachube, and the colour changes depending on the values from the data feeds.</p>
<p>If anyone is interested they are visible in ReactionGrids Homecamp Sim look for this Office.</p>
<p><img class="aligncenter size-medium wp-image-22" title="HomeCampOffice" src="http://www.cminion.com/wordpress/wp-content/uploads/2009/03/office_001-300x177.png" alt="HomeCampOffice" width="300" height="177" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cminion.com/wordpress/2009/03/17/power-and-temperature-orbs-in-opensim-and-secondlife/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
