<?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"
	>

<channel>
	<title>Tentacolor</title>
	<atom:link href="http://tentacolor.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tentacolor.com</link>
	<description></description>
	<pubDate>Thu, 25 Dec 2008 18:24:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Deliverate Your Holiday Gifts and Invitations</title>
		<link>http://tentacolor.com/2008/12/06/deliverate-your-holiday-gifts-and-invitations/</link>
		<comments>http://tentacolor.com/2008/12/06/deliverate-your-holiday-gifts-and-invitations/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 00:55:22 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[store]]></category>

		<guid isPermaLink="false">http://tentacolor.com/?p=499</guid>
		<description><![CDATA[
It&#8217;s that time of year again &#8212; time to hand out the &#8220;Season&#8217;s Greetings&#8221; cards, gifts, and party invitations! But who has the time to open up profile window after profile window, sending items to one person at a time&#8230; drag&#8230; drop&#8230; drag&#8230; drop. I dunno about you, but my drag-and-dropper would fall off before [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://tentacolor.com/wp-content/uploads/2008/10/deliverator_promo.png" alt="Deliverator Promo Image: the Deliverator is more than just a hollow wooden box. It&#039;s mass delivery made dead simple." title="Deliverator Promo Image" width="500" height="437" class="size-full wp-image-442 aligncenter" /></p>
<p>It&#8217;s that time of year again &mdash; time to hand out the &#8220;Season&#8217;s Greetings&#8221; cards, gifts, and party invitations! But who has the time to open up profile window after profile window, sending items to one person at a time&#8230; drag&#8230; drop&#8230; drag&#8230; drop. I dunno about you, but my drag-and-dropper would fall off before I got halfway through my friends list. &gt;_&lt;</p>
<p>Why not spare yourself the hassle this year &mdash; use a <a href="http://tentacolor.com/2008/10/13/the-deliverator/">Deliverator</a> to send out your gifts and invitations for you! Just give it the item to deliver, fill the notecard with the names of everyone you want to deliver to, and off it goes! It does the boring part, so you can just curl up by the prim fireplace and enjoy the holiday season!</p>
<p>The Deliverator is available at <a href="http://slurl.com/secondlife/Dynamism/38/122/24">Cuddlefish Junction</a> for just <strong>L$500</strong>. And it&#8217;s transferable, so you can let a friend borrow it, and save them from the tedium, too!</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/12/06/deliverate-your-holiday-gifts-and-invitations/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Femme Noir</title>
		<link>http://tentacolor.com/2008/11/25/femme-noir-2/</link>
		<comments>http://tentacolor.com/2008/11/25/femme-noir-2/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 17:41:00 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[adventures]]></category>

		<category><![CDATA[snapshots]]></category>

		<category><![CDATA[flickr]]></category>

		<guid isPermaLink="false">http://tentacolor.com/2008/11/25/femme-noir-2/</guid>
		<description><![CDATA[
Some recent posts by Botgirl Questi inspired me to get out my Femme Noir outfit: all-black skin and eyes, fullbright white hair (with signature rainbow strands, naturally) and wings.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/10858540@N04/3058561551/" title="Femme Noir"><img src="http://farm4.static.flickr.com/3291/3058561551_4669ae0d2e_m.jpg" alt="Femme Noir" class="aligncenter" /></a></p>
<p>Some <a href="http://botgirl.blogspot.com/2008/11/from-glitch-to-glam-second-life-bug.html">recent posts</a> by Botgirl Questi inspired me to get out my Femme Noir outfit: all-black skin and eyes, fullbright white hair (with signature rainbow strands, naturally) and wings.</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/11/25/femme-noir-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Serving simple HTML by LSL script</title>
		<link>http://tentacolor.com/2008/11/24/serving-simple-html-by-lsl-script/</link>
		<comments>http://tentacolor.com/2008/11/24/serving-simple-html-by-lsl-script/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 20:22:19 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[adventures]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[howto]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://tentacolor.com/2008/11/24/serving-simple-html-by-lsl-script/</guid>
		<description><![CDATA[
I&#8217;ve written an LSL script which &#8220;serves&#8221; custom-generated HTML via a neat trick I discovered. But don&#8217;t bust out the champagne just yet &#8212; this method is extremely limited, so I don&#8217;t expect this to revolutionize HUDs or anything like that. Still, it&#8217;s a fun curiosity.
The trick is this: If you use text of the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/10858540@N04/3056206041/" title="Serving simple HTML by LSL script"><img src="http://farm4.static.flickr.com/3273/3056206041_82912d4901_m.jpg" alt="Serving simple HTML by LSL script" class="aligncenter" /></a></p>
<p>I&#8217;ve written an LSL script which &#8220;serves&#8221; custom-generated HTML via a neat trick I discovered. But don&#8217;t bust out the champagne just yet &mdash; this method is extremely limited, so I don&#8217;t expect this to revolutionize HUDs or anything like that. Still, it&#8217;s a fun curiosity.</p>
<p>The trick is this: If you use text of the form &#8220;<tt>data:text/html,[html code here]</tt>&#8221; as the web URL, Firefox (and maybe other browsers?) will render the HTML code as a web page. For example, visit <a href="data:text/html,%3Chtml%3E%3Cbody%3E%3Ch1%3EOh hai!%3C/h1%3E%3C/body%3E%3C/html%3E">data:text/html,&lt;html&gt;&lt;body&gt;&lt;h1&gt;Oh hai!&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</html></a>, and Firefox will render the words &#8220;Oh hai!&#8221;. It&#8217;s not accessing a web page, and it&#8217;s not loading a local HTML file, it&#8217;s loading the HTML code from the pseudo-URL.</p>
<p>The same trick works in SL as well, by setting the parcel media URL to the &#8220;data:text/html&#8221; string. You can use an LSL script to generate the HTML code and set the parcel URL, or even set the URL for an individual avatar. The result is that your LSL script acts as a very simple web server!</p>
<p>However, as I mentioned, there are some serious limitations: SL won&#8217;t let you set the web URL to a string longer than 254 letters! That means you have to cram all the HTML code into that tiny string, which severely limits the complexity of the HTML you can display.</p>
<p>Another problem is that the method may not work for other web engines besides Firefox / Mozilla. Linden Lab is (or was recently) working on switching to WebKit, the engine used by Safari, for rendering HTML. That&#8217;s good news, since WebKit is some great software, but this little trick might stop working when they switch. So, I wouldn&#8217;t rely on it.</p>
<p>So, I don&#8217;t expect this method to be more than a silly toy for programmers to play around with. But it <em>is</em> that! And on the plus side, there are signs that we might get <a href="http://jira.secondlife.com/browse/SVC-1086">proper HTTP server functionality in LSL</a> sometime in the future, which would be a great boon to many scripting industries in SL.</p>
<p>You can get a full-perm copy of the object and script in SL at <a href="http://slurl.com/secondlife/Dynamism/77/141/24">my sandbox</a> or copy the following code (below the fold, if you&#8217;re viewing this on my blog front page) into an LSL script in your own object (in which case you should apply the &#8220;*Default Media Texture&#8221; to your prim from the Library, or you won&#8217;t see anything).<span id="more-481"></span></p>
<pre>// VERY SIMPLE HTML SERVER
//   by Jacek Antonelli, 2008-11-24.
//
// Description: When an avatar touches the object, it sets the
// avatar's media URL to a custom-generated HTML string,
// effectively serving HTML from an LSL script.
//
// However, this method is limited by the maximum allowed
// URL length of 254 characters. Thus it's only possible to
// serve very simple HTML with this method.
//
// This script has been released to the PUBLIC DOMAIN
// by its author. 

default
{
    touch_start( integer n )
    {
        string html = \
            "&lt;html&gt;&lt;body&gt;"+
            "&lt;p style=\"font-family:sans-serif;font-size:30px;\"&gt;"+
            "Your name is "+ llDetectedName(0)+".&lt;br/&gt;"+
            "Your position is "+ (string)llDetectedPos(0)+ ".&lt;br/&gt;"+
            "This HTML is generated by the LSL script.&lt;br/&gt;"+
            "Have a nice day. :)"+
            "&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;";

        llParcelMediaCommandList(
            [PARCEL_MEDIA_COMMAND_TEXTURE,
            "8b5fec65-8d8d-9dc5-cda8-8fdf2716e361",
            PARCEL_MEDIA_COMMAND_URL,
            "data:text/html,"+html,
            PARCEL_MEDIA_COMMAND_TYPE,
            "text/html",
            PARCEL_MEDIA_COMMAND_SIZE,
            600, 300,
            PARCEL_MEDIA_COMMAND_AGENT,
            llDetectedKey(0),
            PARCEL_MEDIA_COMMAND_PLAY
            ]);
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/11/24/serving-simple-html-by-lsl-script/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Imprudence Viewer release candidate is here, baby</title>
		<link>http://tentacolor.com/2008/11/16/imprudence-viewer-release-candidate-is-here-baby/</link>
		<comments>http://tentacolor.com/2008/11/16/imprudence-viewer-release-candidate-is-here-baby/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 05:07:05 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[passions]]></category>

		<category><![CDATA[projects]]></category>

		<category><![CDATA[imprudence]]></category>

		<guid isPermaLink="false">http://tentacolor.com/?p=477</guid>
		<description><![CDATA[From the Imprudence Blog
It has been an intense two and a half months since we first announced the Imprudence project. There has been laughter, there has been joy, there has been boredom and frustration, stress and near burn-out, and a medley of other emotions thrown in there as well.
But today it’s all worth it, because [...]]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://imprudenceviewer.org/2008/11/16/imprudence-100-rc1-released/">the Imprudence Blog</a></p>
<blockquote cite="http://imprudenceviewer.org/2008/11/16/imprudence-100-rc1-released/"><p>It has been an intense two and a half months since we first announced the Imprudence project. There has been laughter, there has been joy, there has been boredom and frustration, stress and near burn-out, and a medley of other emotions thrown in there as well.</p>
<p>But today it’s all worth it, because today <strong>the first release candidate of the Imprudence Viewer is ready</strong>!</p></blockquote>
<p><a href="http://imprudenceviewer.org/2008/11/16/imprudence-100-rc1-released/">Read the rest</a> for more information, plus sexy download links!</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/11/16/imprudence-viewer-release-candidate-is-here-baby/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Happy Days, Old Viewers</title>
		<link>http://tentacolor.com/2008/11/02/happy-days-old-viewers/</link>
		<comments>http://tentacolor.com/2008/11/02/happy-days-old-viewers/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 04:49:01 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[howto]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://tentacolor.com/?p=462</guid>
		<description><![CDATA[Tired of those beautiful, photo-realistic sunsets? That new-fangled Windlight rendering engine slow your compy to a crawl? Want to relive the good old days, back when voice chat was new and strange, and Linden Lab even bothered to pretend to communicate with its customers?
Well now you can!
&#8230; Actually, you&#8217;ve been able to do so for [...]]]></description>
			<content:encoded><![CDATA[<p>Tired of those beautiful, photo-realistic sunsets? That new-fangled Windlight rendering engine slow your compy to a crawl? Want to relive the good old days, back when voice chat was new and strange, and Linden Lab even bothered to <em>pretend</em> to communicate with its customers?</p>
<p>Well now you can!</p>
<p>&#8230; Actually, you&#8217;ve been able to do so for a long, long time &mdash; ever since the <a href="http://blog.secondlife.com/2007/06/25/dia-de-la-liberacion/">Día de Liberación</a> back in summer 2007. One of the benefits of &#8220;message liberation&#8221; was that you wouldn&#8217;t need to download a new SL viewer just because they made some server changes; old viewers would continue to work with new sims.</p>
<p>And in fact, that has held true, even to today. The only thing stopping you from using a 1.18-series (pre-Windlight) viewer is that annoying &#8220;You must download the latest version to continue&#8221; message, which is easily bypassed with a trick I&#8217;ll describe below.</p>
<p>But what of that <a href="http://status.secondlifegrid.net/2008/10/06/post275/">mandatory security update in early October</a>? Or the security update and <a href="http://status.secondlifegrid.net/2008/09/26/post256/">protocol switch from UDP to HTTPS</a> less than two weeks before that? Wouldn&#8217;t those issues prevent old viewers from connecting?</p>
<p>Apparently not. As of this writing, even 1.19 and 1.18 viewers (but not 1.17 or other older, &#8220;unliberated&#8221; viewers) can connect to SL with nary a hitch, though they&#8217;re probably still susceptible to the security issues mentioned above. As usual, the purportedly required updates are, in fact, <em>not</em>.</p>
<p>So, what is this trick, this secret knowledge needed to bypass the download prompt and log in with older viewers? <em>Change the channel.</em> It&#8217;s an old trick, though there was some concern that it wouldn&#8217;t work anymore since the change to HTTPS. Fortunately, those concerns have not come to pass, and the SL servers seem perfectly happy to use UDP with older viewers.</p>
<p>Changing the channel is easy. The viewer application takes a parameter, &#8220;&#8211;channel CHANNEL&#8221;, which sets the channel to use. The process for giving that parameter varies between operating systems. The processes are <a href="https://wiki.secondlife.com/wiki/Client_parameters#Using_Client_Parameters">described on the SL wiki</a>, but I&#8217;ve included a brief overview below.</p>
<ul>
<li><strong>Windows:</strong> Create a shortcut to the older SecondLife.exe. Open up the shortcut&#8217;s properties (right click > Properties) and edit the shortcut path. <del datetime="2008-11-03T22:31:49+00:00">After <code>SecondLife.exe</code> but before the closing quotation mark</del> <ins datetime="2008-11-03T22:31:49+00:00">After the closing quotation mark</ins>, add: <code>--channel Happydays</code></li>
<li><strong>Mac:</strong> Open up the terminal and run these two commands (adjust the first path if your Second Life app isn&#8217;t in Applications):
<p><code>
<pre>cd "/Applications/Second Life.app/"
echo "--channel Happydays" >> Contents/Resources/arguments.txt</pre>
<p></code></p>
<p>(Mac users, leave a comment if the above solution didn&#8217;t work for you. I don&#8217;t have a Mac handy to test it!)</li>
<li><strong>Linux:</strong> Run the viewer as: <code>secondlife --channel Happydays</code></li>
</ul>
<p>You should now be able to log in to SL with your retro viewer version. Enjoy, good night, and good luck!</p>
<p>P.S. Don&#8217;t have the installer for the old viewer laying around? No worries, they&#8217;re <a href="https://wiki.secondlife.com/wiki/Old_versions">still available for download</a>. Mad props to McCabe Maxsted for putting that wiki page together!</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/11/02/happy-days-old-viewers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Plug with a Hole in It</title>
		<link>http://tentacolor.com/2008/10/18/the-plug-with-a-hole-in-it/</link>
		<comments>http://tentacolor.com/2008/10/18/the-plug-with-a-hole-in-it/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 01:34:24 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tentacolor.com/?p=455</guid>
		<description><![CDATA[Gwyneth Llewelyn recently offered a proposal to try to plug &#8220;the analogue hole&#8221; that makes content theft inevitable. Her proposal drew a lot of criticism, particularly from open source developers, and she has since withdrawn it.
I&#8217;m glad to read that she has; I was among those with objections to the proposal. But I&#8217;m disappointed by [...]]]></description>
			<content:encoded><![CDATA[<p>Gwyneth Llewelyn recently offered a proposal to try to <a href="http://gwynethllewelyn.net/2008/10/16/plugging-the-analogue-hole/">plug &#8220;the analogue hole&#8221;</a> that makes content theft inevitable. Her proposal drew a lot of criticism, particularly from open source developers, and she has since <a href="http://gwynethllewelyn.net/2008/10/18/stepping-back-from-the-analogue-hole/">withdrawn it</a>.</p>
<p>I&#8217;m glad to read that she has; I was among those with <a href="http://gwynethllewelyn.net/2008/10/16/plugging-the-analogue-hole/#comment-24496">objections to the proposal</a>. But I&#8217;m disappointed by her reaction to the criticism she received:</p>
<blockquote><p>The current community of developers — and by that I mean non-LL developers — is absolutely not interested in implementing any sort of content protection schemes. </p>
<p>&#8230; Their argument is that ultimately any measures taken to implement “trusted clients” that connect to LL’s grid will always be defeated since it’s too easy to create a “fake” trusted client. And that the trouble to go the way of trusted clients will, well, “stifle development” by making it harder, and, ultimately, the gain is poor compared to the hassle of going through a certification procedure.</p>
<p>I won’t fight that argument, since it’s discussing <em>ideologies</em>, not really <em>security</em>. Either the development is made by security-conscious developers, or by people who prefer that content ought to be copied anyway (since you’ll never be able to protect it), and they claim that the focus should be on <em>making development easier</em>, not worrying about how easy content is copied or not.</p>
<p>&#8230; “Technicalities” are just a way to cover their ideology: ultimately, they’re strong believers that content (and that includes development efforts to make Second Life better) ought to be free.</p></blockquote>
<p>Despite what Gwyn suggests, one can object to a specific content protection scheme without being an ideological extremist who believes that everything should be free. Yes, there are individuals who take that viewpoint. Many of them are quite vocal, and some are rather arrogant and obnoxious. (I am of the opinion that this latter kind ought to be swatted hard over the head with a rolled-up newspaper. Repeatedly.)</p>
<p>But to imply that anyone opposing her proposal must be some kind of anticommercial tekkie-hippie is fallacious and juvenile, and just as dismissive as the rudest comments she received. I must admit that I expected better from Gwyn.</p>
<p>Now then, let me explain my opposition and criticism of the proposal. (This is not criticism of Gwyn as a person, nor of any of her other ideas besides this particular proposal.)</p>
<p>While I do appreciate and respect the <em>choice</em> to make <em>one&#8217;s own efforts</em> open and free, I do not believe everything should be <em>forced</em> to be free, and I did not oppose the proposal based on my views on that topic. I opposed it because I see three major flaws in the proposed system, two of them purely security-related:</p>
<ol>
<li>the certificates could be easily forged, which defeats the purpose of having them at all</li>
<li>an effective certification system would put an extraordinary burden on developers</li>
<li>the system does not address the most commonly exploited methods of content theft</li>
</ol>
<p>I&#8217;ll expand on these points so that there can be no confusion about why I objected and still object to such a system. (I&#8217;ll give fair warning, though, that this is a rather long and probably dull post by most standards.)</p>
<p><span id="more-455"></span><strong>Firstly</strong>, as others have said: where there is a certificate, there is a way to forge a certificate. Even a certificate embedded in the executable binary code can be extracted, and an uncertified client created which fools the server into believing it is a certified one.</p>
<p>And the target for such certificate extraction would not be the open source developers with their little custom viewers, it would be Linden Lab&#8217;s own released clients. Why? Because even after LL has found out that someone extracted the certificate to one of their official releases, <em>they could not do anything about it</em>.</p>
<p>Would they block all viewers using that certificate? Doing so would block all users who are using LL&#8217;s own viewer! Users would be forced to  download a new version every day as LL struggled to keep ahead of the malicious users extracting the new certificates. (Plus, they would have to use a different method of embedding certificate for every release, since the old methods would have been figured out.)</p>
<p>Unless LL is willing to try to keep that up, the certificate program would cease to be effective at distinguishing authorized viewers from unauthorized ones.</p>
<p><strong>Secondly</strong>, let me explain the burden of such a certification process on open source developers. It is not a matter of developers complaining, &#8220;Waah, it would take me 10 more minutes to implement my code! I&#8217;m going to go cry in a corner now.&#8221; A certification process as Gwyn described would, <em>if effective</em>, put a near-total damper on many of the most important areas of development of the viewer code.</p>
<p>Suppose that you are trying to fix a memory leak, like Nicholaz used to do. In order to test whether you have fixed it, you would need to run the viewer and travel around SL to make it load lots of content into memory. However, because of this certification program, you must have a certificate embedded in your viewer in order to see such content, and thus to test the fix. (I am assuming here the embedded certificate scenario, because keeping the certificate as a separate file would render the system extraordinarily easy to spoof.)</p>
<p><em>Every time you recompiled your code</em>, you would have to send your source code and compiled viewer off to whatever company does the certification and wait for them to look it over and embed the certificate in it and send it back. Such a process would take at least several days at the start (after all, they have to inspect your source code to make sure you haven&#8217;t added something nasty!). That&#8217;s several days of waiting between the time you write the code, and the time you can check whether it worked. If you find out that it didn&#8217;t work, you will have to wait another several days for them to certify your next attempt.</p>
<p>Now, I said it would take several days <em>at the start</em>. If the company could not keep up with the number of developers requesting certification for their little test versions, then the delay would grow longer and longer. You would soon be waiting a week, two weeks, a month for them to process the certified binary &mdash; if you (or they) hadn&#8217;t given up completely by then.</p>
<p>A month between testing bug fixes? I can barely even recall my approach to the problem after <em>two days</em>! No developer or other creative person would volunteer to work in such a stifling environment.</p>
<p>Now, I admit, not every bug fix would require a certified viewer to test with. But many of the worst, most disliked kinds of bugs would. I don&#8217;t presume to speak on Nicholaz&#8217;s behalf, but I doubt his work would have been possible if such a certification process had been required.</p>
<p>Fortunately, though, the weakness of the system means that many developers would soon begin to use forged certificates to circumvent the system and continue their testing work. <em>Unfortunately</em>, such circumvention would, more likely than not, be illegal in the United States due to the DMCA, and in any other countries with similar legislation. Some developers would be willing to take that risk for the sake of improving the viewer, but many not.</p>
<p><strong>Finally</strong>, even if we set aside the other issues, the proposal does not address the most common methods of content theft. Even if the process stopped uncertified viewers from being able to see the protected content, the certified viewers still have gaping holes in them. </p>
<p>I will set aside the issue of GL ripping, something that cannot possibly be addressed by Linden Lab, and instead focus on the insecurity of the cache and the data packets that are sent by the sim.</p>
<p>The viewer as it is now does not employ any real encryption of either the cache or (I assume, though I may be wrong) the data going to and from the server. Textures are easily extracted from the cache; prim shapes are (I hear) also cached, and thus can be extracted. Even if they were not cached, textures, prim shapes, avatar shapes, animations, and more could be extracted from the data packets being sent by the sim to your computer.</p>
<p>That is the current state of affairs. Well, what if Linden Lab <em>did</em> start to encrypt data packets and the cache? In such a case, the viewer must have programmed into it the decryption method and key (or else a method of receiving or generating the key). But because the viewer code is being released as open source, Linden Lab would face the difficult choice of whether to release or to withold that piece of code. Either choice would have significant consequences.</p>
<p>If Linden Lab chose to release the code for the decryption and keying methods, the encryption scheme is defeated. By studying the code, a reasonably proficient content thief could figure out how to decrypt the cache and incoming data packets, and thus gain access to the protected content, even while running a certified viewer. For a while, the barrier to content theft would be somewhat higher than it is now, but eventually some malicious user would release a tool to copy content without needing to understand the concepts behind it. We would then be back to the state we are in today, but with an ineffective encryption scheme added on top.</p>
<p>On the other hand, if Linden Lab chose to withold the decryption code, open source viewers would be locked out. Or at least, they would not have access to the protected content. So in that respect, yes, a <em>combination</em> of certifying <em>only</em> LL&#8217;s viewers, encrypting the cache and data packets, <em>and</em> keeping the viewer partially closed source might be effective at protecting content, for a while. I&#8217;m not a cryptography expert, so I can&#8217;t even begin to guess how long it would take to break the encryption. Perhaps long enough that LL could change encryption keys and certificates (and force everyone to upgrade) before the old ones are found out.</p>
<p>But doing so would impose the burdens on developers I described earlier. And worse, as Gwyn so rightly points out, it would offend and alienate most of them &mdash; even the ones who <em>aren&#8217;t</em> obsessed with freeing everything. I&#8217;d expect it to light a fire under OpenSim, too, as developers shifted their focuses to more open, less burdensome systems.</p>
<p>Would Linden Lab be willing to undo the Dia de Liberation, cripple open source development, and turn some of their most effective supporters into resources for the competition, in exchange for the appearance of strong content protection?</p>
<p>Maybe. I hope not, but it&#8217;s hard to say anymore.</p>
<p>So is the situation hopeless? Can content theft be stopped only by sacrificing open source development? Can content theft even <em>be</em> stopped?</p>
<p>Certainly, it&#8217;s not possible to <em>completely stop 100%</em> of content theft. Gwyn recognizes that, as does just about anybody familiar with the problem. The idea is, instead, to raise the barrier for content theft; to make it more difficult. </p>
<p>But even that is a matter of debate. If you raise the barrier, eventually someone will figure out how to get over it, and they or someone else will create a tool to let other people get over it, even people who have no idea how the tool works or what it&#8217;s circumventing. You can raise the barrier again and again, but that only buys you time. And often, that temporary gain in protection comes at the cost of a permanent loss elsewhere &mdash; creating extra hassles for users, stifling development, etc.</p>
<p>Can content theft be <em>prevented</em>? Probably not. I wish it could; I&#8217;d love to have a punchy ending here, to reveal that if you do X, Y, and Z, all content theft will be stopped. But it doesn&#8217;t work that way.</p>
<p>More likely, the key to dealing with content theft is not <em>prevention</em>, but rather <em>detection</em> and <em>enforcement</em>, neither of which are being carried out in a reliable, objective, or effective manner.</p>
<p>Naturally, fixing them is easier said than done. But that&#8217;s how it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/10/18/the-plug-with-a-hole-in-it/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Deliverator</title>
		<link>http://tentacolor.com/2008/10/13/the-deliverator/</link>
		<comments>http://tentacolor.com/2008/10/13/the-deliverator/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 01:22:38 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tentacolor.com/?p=440</guid>
		<description><![CDATA[
I&#8217;m happy (and rather relieved) to announce that after power-coding day and night for the past week, I&#8217;ve released a handy new device: the Deliverator. I&#8217;m sure you&#8217;ll find that it is the easiest and most convenient way to deliver a gift, notecard, or other item to a long list of your friends or customers!
It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://tentacolor.com/wp-content/uploads/2008/10/deliverator_promo.png" alt="Deliverator Promo Image: the Deliverator is more than just a hollow wooden box. It&#039;s mass delivery made dead simple." title="Deliverator Promo Image" width="500" height="437" class="size-full wp-image-442 aligncenter" /></p>
<p>I&#8217;m happy (and rather relieved) to announce that after power-coding day and night for the past week, I&#8217;ve released a handy new device: <strong>the Deliverator</strong>. I&#8217;m sure you&#8217;ll find that it is the easiest and most convenient way to <strong>deliver a gift, notecard, or other item to a long list of your friends or customers</strong>!</p>
<p>It&#8217;s available now at <a href="http://slurl.com/secondlife/Dynamism/38/122/24">Cuddlefish Junction</a> for <strong>L$500</strong> (or L$4500 for a copyable version).</p>
<h3>What is this marvelous contraption?</h3>
<p>The Deliverator is a scripted object that will help you deliver an item to lots of people with very little fuss.</p>
<ul>
<li><strong>Easy, guided set-up.</strong> Give it the item, give it the names, and off it goes.</li>
<li><strong>No keys required.</strong> Names are enough for the Deliverator to do its job. No need to look up everybody&#8217;s UUIDs or make them touch some silly prim.</li>
<li><strong>Low maintenance.</strong> Start it running and get on with your life. The Deliverator will IM you when it&#8217;s done, and let you know if there&#8217;s anything you should be aware of.</li>
<li><strong>Reliable.</strong> In the unlikely event that the Deliverator can&#8217;t find somebody on your list, it will remember their name and tell you at the end, so you can be sure no one gets left out.</li>
<li><strong>Unlimited delivery.</strong> The Deliverator can be used as many times as you want, and it can deliver to as many people as you can fit in a notecard.</li>
</ul>
<p><span id="more-440"></span></p>
<h3>What&#8217;s to stop someone from spamming us with it?</h3>
<p>Me and my shut-off switch of cold steel justice, that&#8217;s what.</p>
<p>If I have solid grounds to believe you&#8217;re using the Deliverator for nefarious purposes like spamming or harrassment, you may find your Deliverator suddenly stops Deliverating.</p>
<p>See the &#8220;Abuse of the Service&#8221; section below for more about that.</p>
<h3>What can I deliver with this thing?</h3>
<p>Any inventory item that you can copy and transfer. Objects, notecards, clothes, whatever.</p>
<p>Unfortunately, you cannot send multiple items at once, except by packaging them in a box or notecard and sending that. This is because of <a href="http://jira.secondlife.com/browse/SVC-868">a quirk in the LSL function</a> which prevents delivering multiple items to people in other sims.</p>
<p>If/when Linden Lab ever addresses this issue, I can release a new version of the Deliverator to support multiple item transfer.</p>
<h3>Which perms should I get?</h3>
<p>The Deliverator is sold with your choice of <strong>either no-copy/transfer</strong> or <strong>copy/no-transfer</strong> object permissions. Both are identical except for the permissions.</p>
<p>Most people will want to buy it as no-copy, because it&#8217;s more affordable that way! Plus it&#8217;s transferable, so you can let a friend borrow it, etc.</p>
<p>But if you plan on delivering stuff to a <em>lot</em> of people, you may want to buy a copyable Deliverator so that you can rez more than one, to split up the workload and speed things up. (HOWEVER: see the &#8220;Abuse of the Service&#8221; section below for guidelines on how many you are permitted to run simultaneously.)</p>
<h3>Discounts for Worthy Causes</h3>
<p>The Deliverator is available for free or at a discount to educational institutions, help groups, charities, and other such &#8220;worthy causes&#8221;.</p>
<p>To apply for a discount, send Jacek Antonelli a notecard named &#8220;Deliverator - [Your Organization Name]&#8221; with a brief description of your organization and its work.</p>
<h3>Abuse of the Service</h3>
<p>Using the Deliverator in any of the following manners is forbidden:</p>
<ul>
<li>Running an excessively large number of Deliverators simultaneously for long durations (e.g. more than 20 for over an hour). This can negatively impact other people&#8217;s ability to use the service.</li>
<li>Spamming one or more Residents with unsolicited and unwanted items.</li>
<li>Any use that is deemed malicious, disrespectful to other Residents, or a violation of the Second Life Terms of Service and/or Community Standards.</li>
</ul>
<p>Depending on the type, severity, and frequency of the abuse, you may receive a warning, a temporary suspension of your access to the service, or a permanent revocation of your access to the service.</p>
<p>Just don&#8217;t be a huge jerk, and you&#8217;ll be fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/10/13/the-deliverator/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A New SL Viewer from LL? Don&#8217;t Jump to Conclusions</title>
		<link>http://tentacolor.com/2008/09/29/a-new-sl-viewer-from-ll-dont-jump-to-conclusions/</link>
		<comments>http://tentacolor.com/2008/09/29/a-new-sl-viewer-from-ll-dont-jump-to-conclusions/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 00:55:29 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tentacolor.com/?p=425</guid>
		<description><![CDATA[Dusan Writer offers a sensational bit of news:
Mark Kingdon announced that an outside design firm is hard at work on a new, user-friendly viewer for Second Life.
I&#8217;ve read Kingdon&#8217;s post, and I&#8217;m afraid Dusan misread it and jumped to the entirely wrong conclusion. Here&#8217;s what Kingdon actually wrote (emphasis mine):
Shortly after I started, we kicked [...]]]></description>
			<content:encoded><![CDATA[<p>Dusan Writer offers <a href="http://dusanwriter.com/?p=955">a sensational bit of news</a>:</p>
<blockquote><p>Mark Kingdon announced that an outside design firm is hard at work on a new, user-friendly viewer for Second Life.</p></blockquote>
<p>I&#8217;ve read <a href="http://blog.secondlife.com/2008/09/29/4-months-at-the-lab/">Kingdon&#8217;s post</a>, and I&#8217;m afraid Dusan misread it and jumped to the entirely wrong conclusion. Here&#8217;s what Kingdon actually wrote (emphasis mine):</p>
<blockquote cite="http://blog.secondlife.com/2008/09/29/4-months-at-the-lab/"><p>Shortly after I started, we kicked off a project to reinvent what we call the “first hour experience” (our web experience, the viewer, and the way we acclimate and acculturate users inworld) for new users. <em>We’ve made great progress and will be working with an award-winning interactive design firm to help us complete the reinvention and bring it to life. Yes, we are creating a viewer that is new user friendly!</em> Stay tuned for updates.</p></blockquote>
<p>That reads pretty clearly to me: they are working on <em>a viewer that is friendly to new users</em>, not <em>a new viewer that is friendly to users</em>. I suppose you could read some meaning into &#8220;reinvention&#8221; and &#8220;creating&#8221;, but I don&#8217;t see any indication that he means anything other than the renovations already in progress to make the <em>existing viewer</em> more friendly to new users. </p>
<p>Improving new users experience has been a recurring theme at Resident Experience (Rx) office hours, and is clearly one of LL&#8217;s primary obsessions. And as it happens, Linden Lab contracted <a href="http://www.vectorform.com/">Vectorform</a>, an award-winning interactive design firm, for what is known as the <a href="http://wiki.secondlife.com/wiki/Landmarks_and_Navigation_Project">Landmarks &#038; Navigation project</a>. This is no great secret. Vectorform attended the Rx office hours on <a href="http://wiki.secondlife.com/wiki/User:Benjamin_Linden/Office_Hours/2008-04-17">April 17</a> &#038; <a href="http://wiki.secondlife.com/wiki/User:Benjamin_Linden/Office_Hours/2008-04-24">24</a> to gather information, and then presented the L&#038;N project concept on <a href="http://wiki.secondlife.com/wiki/Landmarks_2008-05-29">May 29</a>. There were also emails to the SLDev mailing list in <a href="https://lists.secondlife.com/pipermail/sldev/2008-April/009180.html">April</a> and <a href="https://lists.secondlife.com/pipermail/sldev/2008-May/010028.html">May</a>, around the same time as the office hours. The L&#038;N project has been underway since then, and is now nearing completion (as much has been said at Rx office hours in recent weeks).</p>
<p>So, sorry to burst any bubbles, but unless LL contracted <em>another</em> award-winning interactive design firm to work in secret on a whole new viewer, and the timing of <em>that</em> project just happened to coincide exactly with the timing of the Landmarks &#038; Navigation project&#8230; well, I&#8217;ll let you jump to your own conclusion.</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/09/29/a-new-sl-viewer-from-ll-dont-jump-to-conclusions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tip: Replace the SL typing sound with crickets</title>
		<link>http://tentacolor.com/2008/09/26/tip-replace-the-sl-typing-sound-with-crickets/</link>
		<comments>http://tentacolor.com/2008/09/26/tip-replace-the-sl-typing-sound-with-crickets/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 17:00:07 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://tentacolor.com/?p=423</guid>
		<description><![CDATA[Here&#8217;s an updated version of an oldie but a goodie. Back in January 2007, I found out how to disable (on your computer only) the SL typing sound &#8212; the loud, annoying click-clack-clack sound that plays whenever you or anyone around you starts typing something into chat.
It has been nice and peaceful since then. But [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an updated version of an oldie but a goodie. <a href="http://tentacolor.com/2007/01/22/disabling-typing-sound-client-side/">Back in January 2007</a>, I found out how to disable (on your computer only) the SL typing sound &mdash; the loud, annoying click-clack-clack sound that plays whenever you or anyone around you starts typing something into chat.</p>
<p>It has been nice and peaceful since then. But tonight, while testing the latest build of Imprudence, I heard it for the first time in 21 months (since my regular SL settings weren&#8217;t loaded). Blech! What a racket. I went to disable it, but then I thought of something better: I could replace it with a nicer sound. That way I&#8217;d still have an audible indicator of when someone was typing (something I realize I had been missing).</p>
<p>After rummaging around in my inventory a bit to find an appropriate sound, I settled on a freebie cricket chirp sound. It was full perm, so I grabbed the asset UUID: b3831ff2-a197-62df-34f7-a83be592c1da</p>
<p>So, I enabled the Advanced menu (Ctrl+Alt+D, or Cmd+Alt+D for you Mac-types), opened up <strong>Advanced > Debug Settings</strong>, typed in <strong>UISndTyping</strong>, then pasted in <strong>b3831ff2-a197-62df-34f7-a83be592c1da</strong> in the box at the bottom, replacing the UUID that was there. Close up Debug Settings and&#8230; voila! Now instead of clacking on a keyboard, everybody chirps like a cricket when they start typing!</p>
<p>Of course, if crickets aren&#8217;t your thing, you can use any sound at all, as long as you have the UUID for it. You can get that by right clicking on it and selecting <strong>Copy Asset UUID</strong> &mdash; but only if you have full permissions on the item.</p>
<p>So, enjoy your crickets etc.! If you find a free sound that you like even better than crickets, leave a comment with the UUID or link to where it can be downloaded so I can try it out. (No illegal rips, please!)</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/09/26/tip-replace-the-sl-typing-sound-with-crickets/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tools, Avatars, and the Self</title>
		<link>http://tentacolor.com/2008/09/21/tools-avatars-and-the-self/</link>
		<comments>http://tentacolor.com/2008/09/21/tools-avatars-and-the-self/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 03:33:59 +0000</pubDate>
		<dc:creator>Jacek Antonelli</dc:creator>
		
		<category><![CDATA[musings]]></category>

		<guid isPermaLink="false">http://tentacolor.com/?p=416</guid>
		<description><![CDATA[Tateru Nino poses an intriguing question about why disabled users often become quite attached and identify with their avatars, more so than able-bodied people do:
To many such physically impaired users, the body is no more nor less a tool than an online avatar, and the latter (despite lag, occasional inventory loss, network problems and all [...]]]></description>
			<content:encoded><![CDATA[<p>Tateru Nino <a href="http://www.massively.com/2008/09/21/second-life-is-my-wheelchair/">poses an intriguing question</a> about why disabled users often become quite attached and identify with their avatars, more so than able-bodied people do:</p>
<blockquote cite="http://www.massively.com/2008/09/21/second-life-is-my-wheelchair/"><p>To many such physically impaired users, the body is no more nor less a tool than an online avatar, and the latter (despite lag, occasional inventory loss, network problems and all the other hurly-burly of a virtual environment) is the more reliable, expressive and liberating, allowing more ability to contribute, work, play and socialize.</p>
<p>Why then, do the able-bodied among us tend to see so much more distinction between our bodies in the physical world and our digital representations? Is that distinction merely an artificial one, a handicap brought about by our able-bodied perspective?</p></blockquote>
<p>I suspect it&#8217;s a matter of the strength of the connection between thought, action, results, and feedback.</p>
<p>For a perfectly able-bodied person, the mind directs the body smoothly, precisely, and effortlessly. Thought easily translates into action, and the feedback &#8212; sensory input confirming the results &#8212; reinforces the mind-body connection. As a result, your body starts to feel like part of your &#8220;self&#8221;, rather than an external thing.</p>
<p>But for an able-bodied person using an awkward tool or interface, the translation from thought to action is not nearly so effortless, the feedback is not as rewarding, and thus the connection is not as strong. As a result, the person feels less in control, and more conscious of manipulating an unwilling external object.<span id="more-416"></span></p>
<p>I certainly can&#8217;t speak for any disabled person, but I&#8217;ve heard motor impairment described in similar terms. It requires a great deal of conscious effort to merely take a step or pick up a coffee mug. The body seems more like an unwilling object that must be forced to act, and less like an intimate tool for enacting the mind&#8217;s will.</p>
<p>On the other hand, someone with motor impairments that, say, make it difficult to walk, may find a Second Life avatar controlled through the computer responds more easily to their will than the body does, and the feedback to be more rewarding than that provided by the body. They are in control, and the avatar obeys with minimum effort; it takes only a keystroke to make the avatar walk, run, or even fly. Depending on the severity of the motor impairment, the avatar may feel like an equal &mdash; or better &mdash; tool for enacting the person&#8217;s will than their physical body is.</p>
<p>So, my hypothesis is thus: <em>the relative quality of control over the body versus the avatar determines the attachment and sense of self with respect to each.</em> If you feel much more in control of your body than you do your avatar, you will feel a much stronger attachment to your body. Likewise, if you feel more in control of your avatar, you will feel more attached to it.</p>
<p>If my hypothesis is correct, then we should be able to observe some corollaries:</p>
<ul>
<li>People who are very physically fit and in control of their bodies (e.g. gymnasts) should tend to be less avatar-identified than those who are less fit.</li>
<li>People who are skilled at using computer interfaces should tend to be more avatar-identified than those who struggle with computers.</li>
<li>People who can control Second Life through a mind-computer interface (e.g. an <a href="http://www.emotiv.com/">Emotiv headset</a>) should tend to be more avatar-identified than people who use the keyboard and mouse.</li>
<li>If Second Life became easier to use, people should tend to identify more strongly with their avatars than they currently do.</li>
</ul>
<p>Although I&#8217;ve been thinking about this in terms of users with motor impairments and other physical disabilities, it occurs to me that it also should apply to any other sort of debilitation. So, let me generalize my hypothesis: <em>the relative enablement of one&#8217;s will by the physical self versus the avatar determines the attachment and sense of self with respect to each.</em></p>
<p>If that is true, then the following should also be true, as well as the things listed above:</p>
<ul>
<li>People who have physical difficulty hearing or speaking, and thus find communication by chat more enabling, should tend to be more avatar-identified than those who can easily hear and speak.</li>
<li>Among people who find speaking and listening easier than typing, those who use voice chat should tend to be more avatar-identified than those who do not use voice chat.</li>
<li>People who have have difficulty socializing in person (due to shyness, social anxiety, etc.) should tend to be more avatar-identified than those who socialize effortlessly.</li>
</ul>
<p>This is an extension of the observation that people who are skilled with a particular tool (e.g. hammer, tennis racket, pencil, computer) become emotionally attached to that type of tool. And further, that if they use the same instance of the tool (e.g. the same pencil) for a long time and get positive feedback from using that tool, they begin to feel the tool as part of themselves, an extension of their body, rather than a separate tool.</p>
<p>I&#8217;m sure there are additional factors specific to avatars that enhance the emotional attachment to the avatar. Two in particular that come to mind: the expression of our personalities through customization of the avatar, and the fact that the avatar is the primary means through which we interact with the virtual world as a whole.</p>
<p>Those factors enhance and facilitate the attachment and sense of self, but it&#8217;s the sense of enablement and positive feedback from the tool (the Second Life viewer) that provide the foundation for it.</p>
<p>That would explain why having a positive experience when first using Second Life is so important to getting &#8220;hooked&#8221; and why Second Life often appeals so strongly to the shy and the disabled. It would also suggest that Linden Lab&#8217;s focus on new user experience is not so stupid, and that making the user interface easier and more enabling would go a long way towards emotional attachment, and thus user retention.</p>
<p>What do you think? Am I on to something, or is this just a bunch of confirmation-biased psychobabble bullshit?</p>
]]></content:encoded>
			<wfw:commentRss>http://tentacolor.com/2008/09/21/tools-avatars-and-the-self/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
