<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-8156255775652705165</atom:id><lastBuildDate>Fri, 25 Dec 2009 02:27:32 +0000</lastBuildDate><title>Colin K's Blog</title><description></description><link>http://colinkiernan.blogspot.com/</link><managingEditor>noreply@blogger.com (Colin)</managingEditor><generator>Blogger</generator><openSearch:totalResults>72</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-2031917895606704141</guid><pubDate>Mon, 14 Apr 2008 23:59:00 +0000</pubDate><atom:updated>2008-04-14T20:03:00.157-04:00</atom:updated><title>Monkey Karate</title><description>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/nsYKZX-Fims"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/nsYKZX-Fims" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-2031917895606704141?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/04/monkey-karate.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-1082877553661038833</guid><pubDate>Sat, 12 Apr 2008 18:45:00 +0000</pubDate><atom:updated>2008-04-12T14:59:07.354-04:00</atom:updated><title>MySql 5.1</title><description>MySql is the database system that is used for all Second Life's databases, which have been the main cause of most of the problems that have been occurring the past few months.  The release of MySql 5.1 is &lt;a href="http://www.cio.com/article/333613/Sun_Claims_Big_Leap_with_MySQL_Upgrade_Next_Week/1"&gt;coming&lt;/a&gt; next week, and according to Sun it "should help MySQL compete in environments where performance and the ability to scale are critical."  That seems to describe Second Life perfectly.  Also, "5.1 has not only greater reliability, but a performance increase of 20 percent. It will be more in some cases and less in others, but there's a significant performance boost and scalability enhancements."  So let's hope this update does something to improve the current conditions, and that it doesn't take LL two years to update to this new version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-1082877553661038833?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/04/mysql-51.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-3593265754706774597</guid><pubDate>Sat, 12 Apr 2008 18:37:00 +0000</pubDate><atom:updated>2008-04-12T14:40:53.226-04:00</atom:updated><title>Moving in SL using body motions</title><description>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2t52gkAwJq8&amp;amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2t52gkAwJq8&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-3593265754706774597?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/04/moving-in-sl-using-body-motions.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-7738865609274592296</guid><pubDate>Mon, 07 Apr 2008 15:50:00 +0000</pubDate><atom:updated>2008-04-07T11:57:29.902-04:00</atom:updated><title>SVC-1862 Fixed</title><description>There was an &lt;a href="http://blog.secondlife.com/2008/04/07/mono-beta-refresh-7/"&gt;update&lt;/a&gt; to the Mono beta regions today that claims to have fixed &lt;a href="https://jira.secondlife.com/browse/SVC-1862"&gt;SVC-1862&lt;/a&gt;, the issue I &lt;a href="http://colinkiernan.blogspot.com/2008/03/lsl-listen-mono-testing.html"&gt;reported&lt;/a&gt; about listener performance.  I just ran my tests again and confirmed that it is indeed fixed.  And it was fixed by improving the performance of listen events under Mono, not by crippling the performance of them without Mono :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-7738865609274592296?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/04/svc-1862-fixed.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-405818133151796944</guid><pubDate>Wed, 02 Apr 2008 05:13:00 +0000</pubDate><atom:updated>2008-04-02T02:45:12.353-04:00</atom:updated><title>My Little Pony Troll</title><description>I have been laughing at &lt;a href="http://robotmantheblog.com/2006/10/25/so-i-guess-i-got-kicked-off-another-my-little-pony-forum/"&gt;this&lt;/a&gt; so hard.  It's a (pic of a) thread showing someone &lt;a href="http://en.wikipedia.org/wiki/Internet_troll"&gt;trolling&lt;/a&gt; a My Little Pony forum.  Most of the troller's posts have been deleted by the moderator, but there are some priceless responses that are still there.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"How could you possibly know that Osama Bin Laden collects My Little Ponies?  I think you're just making that up."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"...and your picture of Stalin riding a Year3 Limited Edition Starflower inside a German concentration camp was both upsetting and historically inaccurate."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"I don't know where you get your facts.  The first generation of MLP's were made by Hasbro, not the Khmer Rouge.  And Hasbro hasn't made toys out of human skulls since the 1960s."&lt;br /&gt;&lt;br /&gt;Update:&lt;/span&gt;&lt;span&gt;  Well, I found a link to the Stalin pic...it's actually pretty gruesome, so much so that I wasn't going to link to it, but then I decided you can all make that decision for yourselves.  But anyway, you have been warned.  &lt;a href="http://www.flickr.com/photos/23321844@N04/2229175827/sizes/o/"&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-405818133151796944?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/04/my-little-pony-troll.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-3292340821529465837</guid><pubDate>Tue, 01 Apr 2008 01:35:00 +0000</pubDate><atom:updated>2008-03-31T21:38:20.217-04:00</atom:updated><title>C:SI Now Using Monthly Payments!?</title><description>&lt;a href="http://www.combatsi.com/e107/comment.php?comment.news.28"&gt;This&lt;/a&gt; has just been posted on the C:SI website.  April Fools', right?  That's what I thought, until my sword requested permission to take Lindens from my account.  I choose "Deny" and it disappeared from my inventory!  WTF?  I hope the devs realize how many customers they are going to lose because of this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-3292340821529465837?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/csi-now-using-monthly-payments.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-7325925132695191646</guid><pubDate>Sun, 30 Mar 2008 00:24:00 +0000</pubDate><atom:updated>2008-03-29T20:36:14.037-04:00</atom:updated><title>Mono Listener Performance Update</title><description>Time for some updates about &lt;a href="http://jira.secondlife.com/browse/SVC-1862"&gt;SVC-1862&lt;/a&gt;, which is the bug I reported concerning listeners &lt;a href="http://colinkiernan.blogspot.com/2008/03/lsl-listen-mono-testing.html"&gt;performing worse&lt;/a&gt; in Mono compiled scripts.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It has been marked as relating to &lt;a href="http://jira.secondlife.com/browse/SVC-1398"&gt;SVC-1398&lt;/a&gt;, which is about link messages in Mono being 2 times slower.  Link messages were something I was going to test myself until I saw that this bug had already been reported.&lt;/li&gt;&lt;li&gt;Lee Ludd commented that it might be related to Mono using 16-bit characters instead of 8-bit characters.  I ran the tests again using different string lengths to test this theory, and there wasn't any noticeable change.&lt;/li&gt;&lt;li&gt;Gordon Wendt says he mentioned it during Linden Office Hours, so hopefully this is something they will look into soon.  Still no comments from any Lindens on the Jira page, though.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-7325925132695191646?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/mono-listener-performance-update.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-454659541632347919</guid><pubDate>Sat, 29 Mar 2008 00:10:00 +0000</pubDate><atom:updated>2008-03-28T23:00:36.177-04:00</atom:updated><title>Getting Back to Building</title><description>I haven't done much with my &lt;a href="http://colinkiernan.blogspot.com/2008/03/goban-v01.html"&gt;Go board&lt;/a&gt; recently.  Mostly because I am once again trying to switch to using a &lt;a href="http://www.kubuntu.org"&gt;Linux environment&lt;/a&gt; as much as possible, but have been discouraged from using Second Life because of &lt;a href="http://colinkiernan.blogspot.com/2008/03/linux-client-sound-fail.html"&gt;sound problems&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However, I now have three people who have expressed interest in owning one, so that has encouraged me to try to get back to work.&lt;br /&gt;&lt;br /&gt;I'm thinking about changing the way my board handles the stones.  Right now, each time a stone is played it rezzes a prim for the stone.  The other option is to have an invisible stone fixed at each location on the board, and then when a stone is played make it visible and set its color.  The advantages to the second method are that now the players can just click on the board to place a stone instead of having to type in the coordinates.  Also, the stones can be grouped with the board so that if the board is moved, they will move as well.  It doesn't seem like there is a way to group prims through scripts, so some other method that would most likely be more complicated and not work as well would have to be used to get the same effect.&lt;br /&gt;&lt;br /&gt;The obvious disadvantage, and the original reason I went with the first method, is that the board will require 368 prims at all times.  Using the current method, it only needs 7 prims when not in use, and if the players are only using a 9x9 or 13x13 size board, they won't come near 368 prims.  Even on a 19x19 board, not all games will use 368 prims.  As I think about it more, though, is there really an advantage to having it only take 7 prims when not in use?  They will still need 368 prims available when they want to use it, and I doubt many people will want to have to return all their furniture or something each time they want to use the board, then re-rez it when they are done.&lt;br /&gt;&lt;br /&gt;I have come across two other Go boards in SL.  One of them uses this method I'm describing of just having invisible prims for all the stones.  The other had the user click the board which would rez a stone, then the user had to edit the stone and move it onto the correct board position.  I'm not a big fan of that last method.&lt;br /&gt;&lt;br /&gt;Any suggestions?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-454659541632347919?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/getting-back-to-building.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-1983547720373084034</guid><pubDate>Tue, 25 Mar 2008 18:18:00 +0000</pubDate><atom:updated>2008-03-25T14:42:12.270-04:00</atom:updated><title>Enough with the Frequent Problems!</title><description>Second Life seems to have problems on a weekly (or daily?) basis.  It wasn't always this way, although I think it's more that Linden Lab is being more public about the problems on the blog and SL isn't necessarily more unstable than it used to be (although that could still be the case).  There have been announcements of problems &lt;a href="http://blog.secondlife.com/2008/03/25/in-world-service-disruptions-under-investigation/"&gt;today&lt;/a&gt;, &lt;a href="http://blog.secondlife.com/2008/03/24/disruption-in-inworld-services/"&gt;yesterday&lt;/a&gt;, &lt;a href="http://blog.secondlife.com/2008/03/22/loading-issues/"&gt;Saturday&lt;/a&gt;, &lt;a href="http://blog.secondlife.com/2008/03/21/multiple-known-issues/"&gt;Friday&lt;/a&gt;...I'm getting tired of linking, but there were also problems last Monday, Tuesday, and Wednesday.  Along with many of these problems (including all of the ones I linked to) comes LL advising people not to make any transactions, which can significantly hurt business as &lt;a href="http://www.daikonforge.com/webtab/2008/03/21/youre-killing-me-here/"&gt;some&lt;/a&gt; have pointed out.&lt;br /&gt;&lt;br /&gt;This pattern has been going on for a while, and I'm starting to wonder how LL is responding to these problems.  It almost seems like they are just working to get things back to normal as quickly as possible, but in the process are not making any attempt to actually figure out how to prevent the problem from happening again in the future.   With the frequency of these problems, and the fact that they have been going on for months at this frequency, I find it very unlikely that all of these problems are caused by unique issues.  Some of them must be recurring problems that we have had before.&lt;br /&gt;&lt;br /&gt;Now, with all the linking I have done back to the official Second Life blog, it's very likely that a Linden Lab employee will end up reading this post.  I understand that you want to fix these problems as quickly as possible, but I, for one, would prefer to have the problem persist for longer if it means that you can take the time to diagnose the cause and make adjustments so that the problem isn't likely to happen again.  I think in the long run this will make the users of SL happier and increase the uptime of your services in the future. &lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-1983547720373084034?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/enough-with-frequent-problems.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-511195873420570437</guid><pubDate>Tue, 25 Mar 2008 02:03:00 +0000</pubDate><atom:updated>2008-03-24T22:21:55.359-04:00</atom:updated><title>Linux Client Sound FAIL!</title><description>I'm trying to use the Second Life client on Linux again, which I haven't done in a long time.  I posted a while back about the &lt;a href="http://colinkiernan.blogspot.com/2007/09/comparing-second-life-on-windows-and.html"&gt;differences&lt;/a&gt; between the clients, and in the last paragraph of that post I talk about the sound problems I have had in Linux.  Well, the problems seem to have gotten worse.  Now the sound stutters (like when you're trying to play a scratched DVD).  Hopefully I will be able to find a way to fix it.  At this point, I'm not even sure if it's a result of changes in the Second Life program or in Ubuntu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Edit:&lt;/span&gt; The shell script that runs Second Life has some sound configuration options.  After playing around with them, it looks like Second Life is using OSS instead of ALSA.  This is probably the source of the problem, now I just need to figure out how to get it to use ALSA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-511195873420570437?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/linux-client-sound-fail.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-3334252847738897786</guid><pubDate>Sat, 22 Mar 2008 03:38:00 +0000</pubDate><atom:updated>2008-03-21T23:56:27.043-04:00</atom:updated><title>Second Life Command Line Options</title><description>There are some useful command line options for Second Life that I'm not sure many people know about.  To add a command line option in Windows, you have to right-click on the Second Life shortcut, choose "Properties" and then add the options to the end of the "Target:" line.  Mac users...you're on your own.  Maybe someone who owns a Mac can post a comment explaining how to do it.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IlwCICKuJ8o/R-SB4bmmjjI/AAAAAAAAAUw/A7IFo-DagiA/s1600-h/sloptions.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_IlwCICKuJ8o/R-SB4bmmjjI/AAAAAAAAAUw/A7IFo-DagiA/s400/sloptions.bmp" alt="" id="BLOGGER_PHOTO_ID_5180408277865238066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-multiple&lt;/span&gt;&lt;br /&gt;This will stop Second Life from preventing you from running more than one viewer at a time, allowing you to log on to multiple accounts simultaneously on the same computer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-autologin&lt;/span&gt;&lt;br /&gt;Bypass the login screen and automatically log on with the name and password that is stored.  You can also use "-login &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;password&amp;gt;" to log in as any account without the login screen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-purge&lt;/span&gt;&lt;br /&gt;Clears the cache when it runs.  This is useful because normally if you want to clear the cache you have to log in, click "Clear Cache" in the options, then log out and log back in.  There might also be a case where the cache is corrupted and you crash before you can even get to the "Clear Cache" button.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-safe&lt;/span&gt;&lt;br /&gt;If you set some options that now cause your viewer to crash immediately, you can run with this parameter to reset your options.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-local&lt;/span&gt;&lt;br /&gt;This didn't work for me when I tried it, but it's supposed to run the viewer without connecting to the simulator.  I was interested in seeing what that was like, and what exactly you could do without a simulator.&lt;br /&gt;&lt;br /&gt;There is a full list of command line options &lt;a href="http://wiki.secondlife.com/wiki/Client_parameters"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-3334252847738897786?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/second-life-command-line-options.html</link><author>noreply@blogger.com (Colin)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IlwCICKuJ8o/R-SB4bmmjjI/AAAAAAAAAUw/A7IFo-DagiA/s72-c/sloptions.bmp' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-3986298121161415476</guid><pubDate>Mon, 17 Mar 2008 23:53:00 +0000</pubDate><atom:updated>2008-03-17T20:19:30.234-04:00</atom:updated><title>Go Board Updates</title><description>I was glad to see that one of the changes for the &lt;a href="http://blog.secondlife.com/2008/03/17/server-code-update-tuewedthu-this-week/"&gt;new server code&lt;/a&gt; being updated this week is "Support for PRIM_GLOW in llSetPrimitiveParams - &lt;i&gt;this will require a forthcoming viewer update to author and compile scripts that use this, however".  &lt;/i&gt;I was looking for this feature a few days ago because I wanted to add a feature to my &lt;a href="http://colinkiernan.blogspot.com/2008/03/goban-v01.html"&gt;Go board&lt;/a&gt; that made the last move glow.&lt;br /&gt;&lt;br /&gt;Speaking of that, I have been spending a lot of time working on it since my last post (though I've been focused on the Mono testing these past few days).  Most of the work has been in things that aren't finished, aren't visible, or were dead ends (at least I was learning how NOT to do things).  Here is a quick list:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The board state is now stored (storing 19x19 integers comes very close to the memory limit for scripts, so I had to make a script that is basically a data server and other scripts query the data through link messages).&lt;/li&gt;&lt;li&gt;With the board state stored, I can now report an invalid move if a stone has already been played there.&lt;/li&gt;&lt;li&gt;I added the board's rotation into the stone placement, so it no longer has to be aligned along the world y-axis to place the stones in the right place :P&lt;/li&gt;&lt;li&gt;I spent a TON of time fooling around with llSetCameraParams, trying to get the camera to face straight down on the board from above.  This was in preparation for an idea for a HUD which would overlay things onto the board.  Unfortunately, the camera controls don't really allow for precise placement.  I was able to get the camera to face straight down on the board, but I could not control the "roll" of the camera (up vector in more technical terms).  The SL camera always tries to keep its up vector as vertical as possible.  When the camera is facing straight down -- so the up vector becomes completely horizontal -- it apparently always points along the positive x-axis.  I could not find a way to change this after much tweaking of the llSetCameraParams arguments.  I had to give up.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I started looking at HTTP requests.  I had code for a multi-threaded web server from a networks class I took, so I got that running and was able to send a message to it from SL and get a response.  It shouldn't be too hard to have it run copies of GNU Go and pass GTP messages back and forth.&lt;/li&gt;&lt;li&gt;I downloaded QAvimator and started learning how to make animations.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;This Go board project is pushing me to learn a ton of different aspects of Second Life content creation.  It's great.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-3986298121161415476?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/go-board-updates.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-9034924478994031996</guid><pubDate>Mon, 17 Mar 2008 16:56:00 +0000</pubDate><atom:updated>2008-03-17T14:18:26.024-04:00</atom:updated><title>LSL Listen Mono Testing</title><description>I just did some Mono testing specifically with listeners, and came up with some interesting results.  First I did a basic ping test.  One object would start a timer and say "ping" to another object which would then say "pingback", and the original object would report the time when it received the message back.  Averaged over 200 tests, without Mono the ping time was 0.066478 seconds.  With Mono, it was 0.088936 seconds.  I ran the tests multiple times, switching back and forth between Mono and non-Mono to make sure this difference was caused by Mono and not by other changes in the sim.&lt;br /&gt;&lt;br /&gt;Next I took &lt;a href="http://colinkiernan.blogspot.com/2008/03/benchmarking-mono-compiled-lsl.html#c2905508433328407176"&gt;Robby's idea&lt;/a&gt; and had one object say "start" then "junk" 500 times then "finish".  Another object would start a timer when it got the "start" message and report the time when it got the "finish" message.  First, I used an unfiltered listener, so any messages sent on that channel would be forwarded to the script.  The sender reported that it sent "finish" 0.600243 seconds after it sent "start".  The receiver reported 33.476112 seconds between hearing the "start" and "finish" messages.  I then recompiled with Mono and ran the test again.  This time all the messages were sent in 0.178058 and received in 44.580690.  The sending was over 3 times faster, but the receiving was slower with Mono.&lt;br /&gt;&lt;br /&gt;Now I modified the script to only set up listeners specifically for "start" and "finish" messages.  Without Mono, they were sent in 0.600193 seconds and received in 0.644574.  With Mono, 0.133408 and 0.133169.  All these numbers have taught me two important things:  1) USE FILTERED LISTENERS!!!  2) ESPECIALLY USE FILTERED LISTENERS WITH MONO!!!!!&lt;br /&gt;&lt;br /&gt;Now comes the fun part.  I copied the unfiltered listener so that there were 25 of them.  Each of them ran at about the same time as the single listener.  With 100, they still ran about the same.  With 1000, still the same.  With 10000 (I'm serious...screenshot below) it was finally a different story.  First, the time the sender reported to send the messages shot up to 1.916057 seconds.  From that number, I estimated it would take 10 minutes for the listeners to finish.  I waited for 15 minutes, expecting a Linden to show up and wonder what the hell I was doing, and still there was no response from the listeners.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IlwCICKuJ8o/R96pJ0trBII/AAAAAAAAAUo/LliS2wO8_jA/s1600-h/10000prims.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_IlwCICKuJ8o/R96pJ0trBII/AAAAAAAAAUo/LliS2wO8_jA/s400/10000prims.bmp" alt="" id="BLOGGER_PHOTO_ID_5178762607756772482" border="0" /&gt;&lt;/a&gt;Notice "Script perf" is 0 ips.  I'm guessing they just haven't updated that to count Mono instructions.&lt;br /&gt;&lt;br /&gt;With the filters, there wasn't much of a change until 400 prims (I increased the number of prims differently).  At that level, the listeners finished between .133783 and .201377 seconds, but one of them took 45.042740 seconds, which is so close to the time for the unfiltered listeners it almost makes me think the server panicked and just started handing that one script all the messages.  I doubt that's the case, though, because then scripts which used filters and as a result didn't have to check the incoming message would experience errors if they started getting unfiltered messages.  At 800 prims, the range was .156157 - .224534, again with a single script reporting at 46.228270.  At this point, I didn't go further because looking through a log of 800 messages was getting difficult.  Looking back at the data from the unfiltered runs, there was similar variance in the times as seen here, but when it is taking 45 seconds it is much less significant.&lt;br /&gt;&lt;br /&gt;One final weird behavior that I noticed while recreating these tests for the Jira issue (see below).  I went back to the ping test and added filters for "ping" and "pingback".  I didn't expect to see any difference, since all the messages sent are "ping" and "pingback" (on different channels, so that is already filtered).  Indeed, there was no difference when not using Mono.  But with Mono, it took longer!  The time increased to 0.101741, which is an increase of about .02 seconds or a 25% increase.&lt;br /&gt;&lt;br /&gt;In conclusion, I am definitely going to use filters all the time now.  I have created a &lt;a href="https://jira.secondlife.com/browse/SVC-1862"&gt;Jira issue&lt;/a&gt; about the performance decreases with Mono.  Now what can I test!? :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-9034924478994031996?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/lsl-listen-mono-testing.html</link><author>noreply@blogger.com (Colin)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IlwCICKuJ8o/R96pJ0trBII/AAAAAAAAAUo/LliS2wO8_jA/s72-c/10000prims.bmp' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-3287504786171923300</guid><pubDate>Mon, 17 Mar 2008 05:34:00 +0000</pubDate><atom:updated>2008-03-17T02:27:44.817-04:00</atom:updated><title>Benchmarking Mono-Compiled LSL</title><description>After &lt;a href="http://www.daikonforge.com/"&gt;Robby&lt;/a&gt;'s &lt;a href="http://colinkiernan.blogspot.com/2008/03/why-do-listeners-cause-lag.html#c2604475077658846022"&gt;response&lt;/a&gt; to my post about &lt;a href="http://colinkiernan.blogspot.com/2008/03/why-do-listeners-cause-lag.html"&gt;listener lag&lt;/a&gt;, I had the idea to see just what sort of speed improvements Mono will bring.  I made a fairly simple benchmarking script that does the following tasks:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Integer addition (7000 times)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Float addition (7000 times)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Integer multiplication (7000 times)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Float multiplication (7000 times)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Integer division (7000 times)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Float division (7000 times)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Grow a list by repeatedly inserting [0] (300 times)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Randomize a list and sort it (100 times, list size 300)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Break a string into a list of words and check whether each word is equal to "hello" or "world" (200 times)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;The tasks are pretty basic.  That last one is generally what a listener would do.  I chose the number of times each would be repeated so that every task would take about 10 seconds.&lt;br /&gt;&lt;br /&gt;In doing this, I discovered that the performance of standard LSL scripts is extremely variable.  I configured the numbers so that each task would take 10 about seconds; at this point I was at my house on the normal grid.  But when I logged into the beta grid and ran the script in a Mono sim (without compiling to Mono), the arithmetic tasks each took about 3 seconds.  Thinking maybe for some reason normal LSL scripts also ran faster on Mono sims, I tried running it at various other sims on the Beta grid.  In some it ran at 10 seconds, others 3 seconds, others 17 seconds.  I couldn't really see a pattern (Havok1 vs. Havok4, Mono vs. non-Mono), although it was always 3 seconds on the Mono sims, but I did get 3 seconds once on a non-Mono Havok4 sim.  The numbers fluctuated between sims, but if I ran it multiple times on the same sim, I would get about the same results.  Are all the sims on the beta grid Tier 5?  It probably just comes down to how much other stuff is going on in the sim.  But the last 3 tasks were always about the same time...very strange.&lt;br /&gt;&lt;br /&gt;Anyway, here are the results.  For the non-Mono numbers, I chose the ones closest to 10 seconds.&lt;br /&gt;&lt;table align="left" border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Task&lt;/th&gt;&lt;th&gt;Non-Mono&lt;/th&gt;&lt;th&gt;Mono&lt;/th&gt;&lt;th&gt;% Increase&lt;/th&gt;&lt;th&gt;Times faster&lt;br /&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Adding integers&lt;/td&gt;&lt;td&gt;12.356465&lt;/td&gt;&lt;td&gt;0.133350&lt;/td&gt;&lt;td&gt;9166%&lt;/td&gt;&lt;td&gt;92.662&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Adding floats&lt;/td&gt;&lt;td&gt;12.643500&lt;/td&gt;&lt;td&gt;0.066761&lt;/td&gt;&lt;td&gt;18838%&lt;/td&gt;&lt;td&gt;189.385&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Multiplying integers&lt;/td&gt;&lt;td&gt;12.310993&lt;/td&gt;&lt;td&gt;0.066601&lt;/td&gt;&lt;td&gt;18385%&lt;/td&gt;&lt;td&gt;184.847&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Multiplying floats&lt;/td&gt;&lt;td&gt;12.556296&lt;/td&gt;&lt;td&gt;0.044415&lt;/td&gt;&lt;td&gt;28170%&lt;/td&gt;&lt;td&gt;282.704&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dividing integers&lt;/td&gt;&lt;td&gt;12.355354&lt;/td&gt;&lt;td&gt;0.066727&lt;/td&gt;&lt;td&gt;18416%&lt;/td&gt;&lt;td&gt;185.163&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dividing floats&lt;/td&gt;&lt;td&gt;12.555955&lt;/td&gt;&lt;td&gt;0.044925&lt;/td&gt;&lt;td&gt;27848%&lt;/td&gt;&lt;td&gt;279.487&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;List insertion&lt;/td&gt;&lt;td&gt;10.018719&lt;/td&gt;&lt;td&gt;0.000000&lt;/td&gt;&lt;td&gt;N/A&lt;/td&gt;&lt;td&gt;N/A&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;List randomize/sort&lt;/td&gt;&lt;td&gt;8.905011&lt;/td&gt;&lt;td&gt;0.000000&lt;/td&gt;&lt;td&gt;N/A&lt;/td&gt;&lt;td&gt;N/A&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;String tokenize&lt;/td&gt;&lt;td&gt;9.640886&lt;/td&gt;&lt;td&gt;0.138814&lt;/td&gt;&lt;td&gt;6845%&lt;/td&gt;&lt;td&gt;69.452&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Total&lt;/td&gt;&lt;td&gt;103.343179&lt;/td&gt;&lt;td&gt;0.561593&lt;/td&gt;&lt;td&gt;18302%&lt;/td&gt;&lt;td&gt;184.018&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So the claims that Mono is over 1000 times faster don't seem to hold up.  But still...this is just amazing.  I laughed out loud when the benchmark finished in under a second when I had just waited over a minute and a half for the previous one to finish.  I especially like how the list operations were &lt;span style="font-weight: bold;"&gt;too fast to measure&lt;/span&gt;.  I am going to make some changes tomorrow so that I can actually get some numbers that I can analyze.  I also want to add some more tests that better simulate "real-world usage".  If you have any ideas, please tell me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-3287504786171923300?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/benchmarking-mono-compiled-lsl.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-7501676405155172511</guid><pubDate>Fri, 14 Mar 2008 00:54:00 +0000</pubDate><atom:updated>2008-03-13T21:42:42.015-04:00</atom:updated><title>Goban v0.1</title><description>Back in November I wrote about &lt;a href="http://colinkiernan.blogspot.com/2007/11/building-go-board.html"&gt;building a Go board&lt;/a&gt;.   This past week I actually started building and scripting it, and without too much trouble it now has the basic functionality.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IlwCICKuJ8o/R9nNLktrBEI/AAAAAAAAAUI/3CkSoBZYpBE/s1600-h/Snapshot_001.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_IlwCICKuJ8o/R9nNLktrBEI/AAAAAAAAAUI/3CkSoBZYpBE/s400/Snapshot_001.bmp" alt="" id="BLOGGER_PHOTO_ID_5177394845356590146" border="0" /&gt;&lt;/a&gt;There are still a lot of things I need and/or want to add.  The biggest thing is probably that when a move is made that would capture stones, the board does not automatically remove them (the prims have to be deleted manually).   Adding this feature is going to require me to store the board's state, which means more use of LSL lists, which have a strange and not very elegant set of utility functions.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IlwCICKuJ8o/R9nP4UtrBFI/AAAAAAAAAUQ/-QSxhcUhkM4/s1600-h/Snapshot_003.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_IlwCICKuJ8o/R9nP4UtrBFI/AAAAAAAAAUQ/-QSxhcUhkM4/s400/Snapshot_003.bmp" alt="" id="BLOGGER_PHOTO_ID_5177397813178991698" border="0" /&gt;&lt;/a&gt;I also need to figure out how to attach the stones to the board after I rez them.  If the board is moved, the stones will just stay there and be floating in space.  Also, does anyone if there is a way to prevent those particle effects when something is rezzed or an object says something?&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IlwCICKuJ8o/R9nRGEtrBGI/AAAAAAAAAUY/XaxvsPif54E/s1600-h/Snapshot_004.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_IlwCICKuJ8o/R9nRGEtrBGI/AAAAAAAAAUY/XaxvsPif54E/s400/Snapshot_004.bmp" alt="" id="BLOGGER_PHOTO_ID_5177399148913820770" border="0" /&gt;&lt;/a&gt;There are two "modes".  Two avatars can click on the board and join the game, and then the board will have them take turns placing stones.  There is also a "Free Mode" where stones can be freely placed.  Stones have to be placed by typing a command on chat channel 1.  In game mode, you can just type "/1 d12" when it is your turn.  In free mode, placing stones resembles the &lt;a href="http://www.lysator.liu.se/%7Egunnar/gtp/"&gt;GTP&lt;/a&gt; protocol (e.g., "/1 play black d12" or "/1 play w k4), but you can specify more than one vertex in a single command and it will place them all.  I'd like to allow placing stones by clicking, but I'm not sure if that's possible.  I would have to put an invisible prim at each vertex to detect the click.&lt;br /&gt;&lt;br /&gt;The board can be changed to 9x9 and 13x13 as well as the normal 19x19 size.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IlwCICKuJ8o/R9nTWktrBHI/AAAAAAAAAUg/AP8eWhGeLDI/s1600-h/screenshot.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_IlwCICKuJ8o/R9nTWktrBHI/AAAAAAAAAUg/AP8eWhGeLDI/s400/screenshot.bmp" alt="" id="BLOGGER_PHOTO_ID_5177401631404917874" border="0" /&gt;&lt;/a&gt;Feel free to drop by &lt;a href="http://slurl.com/secondlife/Shaw%20Island/12/40/23"&gt;my house&lt;/a&gt; and try it out, or IM me if you want someone to play against or to teach the rules (despite my interest in Go, I have not played many actual games and am not very good).  Any suggestions or bugs reports are welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-7501676405155172511?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/goban-v01.html</link><author>noreply@blogger.com (Colin)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_IlwCICKuJ8o/R9nNLktrBEI/AAAAAAAAAUI/3CkSoBZYpBE/s72-c/Snapshot_001.bmp' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>10</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-7350270114480005700</guid><pubDate>Tue, 11 Mar 2008 18:29:00 +0000</pubDate><atom:updated>2008-03-11T14:59:45.646-04:00</atom:updated><title>Why Do Listeners Cause Lag?</title><description>This is something that I have never understood, and have always been a little skeptical about.  I have heard many people saying that scripts which listen, especially on channel 0, are one of the biggest contributors to sim lag.  Of course, anything that requires processing power is going to contribute to lag, but are listeners really one of the biggest contributors?&lt;br /&gt;&lt;br /&gt;Even when there are tons of people around talking, the number of chat messages per second probably doesn't go above 5 on average.  So each listen script would have the listen event triggered 5 times a second.  For a computer that can process billions of instructions per second, I don't really see how that can have any significant impact.&lt;br /&gt;&lt;br /&gt;Is there something I'm missing?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt;&lt;br /&gt;I just did a small test.  I figure that most listen event handlers will tokenize the string and then check each token to see if it is a known command (probably will only check the first token, actually).  Since in most circumstances, the message is not a command to that script, that is as much as it needs to do.&lt;br /&gt;&lt;br /&gt;I wrote a program that tokenizes the string "This is a test message that will be processed by this program." and then checks whether each token is equal to "command", and reports how many times per second it is able to do that.  Averaging over 120 seconds, it did it 101963 times per second.  This is running on a machine here at school, and I'm not sure of the CPU speed.  The OS is Solaris and the CPU type is Sparc.  Also, my process was only getting 20% of the CPU.  &lt;br /&gt;&lt;br /&gt;Granted, this wasn't a very good test since there are so many unknowns, but at least it shows that there would have to be a lot of listeners to slow down the CPU.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-7350270114480005700?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/why-do-listeners-cause-lag.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-1059206256493732123</guid><pubDate>Wed, 05 Mar 2008 07:07:00 +0000</pubDate><atom:updated>2008-03-05T02:35:07.081-05:00</atom:updated><title>Network Neutrality</title><description>This is an excellent video about the issue of network neutrality.  I didn't realize that basically the same thing happened with printing and radio, which makes me even more scared about the possibility of this actually happening.  If the internet loses network neutrality, it will most likely spell the end of Second Life (among many other things), as I'm pretty sure Linden Lab doesn't have the money to pay the telephone companies.&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JP_3WnJ42kw"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/JP_3WnJ42kw" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;p.s. (What? I'm just stating facts, I'm not pushing a specific candidate :P)&lt;br /&gt;Obama is for network neutrality and has promised to make it a priority for his first year in office.&lt;br /&gt;Clinton has said she is for network neutrality, but it is not something she has mentioned as part of her campaign.&lt;br /&gt;McCain is either genuinely undecided, or doesn't want to publicly say he's against it. He has been quoted as saying, "When you control the pipe you should be able to get profit from your investment."&lt;br /&gt;Sources: &lt;a href="http://www.techcrunch.com/presidential/issue.php?issue=1"&gt;1&lt;/a&gt;,&lt;a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=2&amp;url=http%3A%2F%2Fwww.theseminal.com%2F2008%2F02%2F19%2Fjohn-mccain-on-net-neutrality-splunge%2F&amp;ei=4EnOR7nZG5bcetz9ifoP&amp;usg=AFQjCNEEaxU_wrxbCUtcHTKF0xwT5JSLmQ&amp;sig2=iHlijKqcbA0UN--l_5MkHw"&gt;2&lt;/a&gt;,&lt;a href="http://obama.senate.gov/podcast/060608-network_neutral/"&gt;3&lt;/a&gt;,&lt;a href="http://www.barackobama.com/issues/technology/"&gt;4&lt;/a&gt;,&lt;a href="http://www.pcmag.com/article2/0,2704,2218100,00.asp"&gt;5&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-1059206256493732123?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/03/network-neutrality.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-7855186163702470215</guid><pubDate>Wed, 27 Feb 2008 04:33:00 +0000</pubDate><atom:updated>2008-02-27T00:05:47.836-05:00</atom:updated><title>Gizmondo</title><description>Remember Gizmondo?  Not &lt;a href="http://gizmodo.com/"&gt;Gizmodo&lt;/a&gt;, the tech site, but Gizmondo, the hand-held game device that was supposed to compete with the Nintendo DS and PSP?  Neither do I.  It was a huge flop and the company went bankrupt.  But I came across this &lt;a href="http://www.wired.com/"&gt;Wired&lt;/a&gt; &lt;a href="http://www.wired.com/wired/archive/14.10/gizmondo.html?pg=1&amp;topic=gizmondo&amp;topic_set="&gt;article&lt;/a&gt; about a year ago, and I never get tired of reading it.  The story behind Gizmondo is simply amazing.  Here is the first paragraph to catch your interest:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;THE BUMP IN THE ROAD that ended Bo Stefan Eriksson's fantastic ride is practically invisible. From 10 feet away, all you can see is the ragged edge of a tar-seamed crack in an otherwise smooth sheet of pavement. Only the location is impressive - a sweet stretch of straightaway on California's Pacific Coast Highway near El Pescador state beach, just past the eucalyptus-shaded mansions of the Malibu hills. On that patch of broken asphalt, there's barely enough lip to stub a toe. Of course, when you hit it at close to 200 miles per hour, as police say Eriksson did in the predawn light last February 21, while behind the wheel of a 660-horsepower Ferrari Enzo, consequences magnify.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This &lt;a href="http://www.gamesetwatch.com/2006/12/gizmondo_inside_the_eye_of_the.php"&gt;other article&lt;/a&gt; has more details about the history and especially the financial data of the company.  After reading these two articles, I come to the same conclusion as one of the commenters on this article: "The whole thing was a front for the Swedish mafia to launder money."&lt;br /&gt;&lt;br /&gt;And it looks like this story might not be over.  From &lt;a href="http://en.wikipedia.org/wiki/Gizmondo"&gt;Wikipedia&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;In November 2007 Carl Freer stated in an interview for the Swedish-American journalist Hans Sandberg that he was interested in starting up production of the Gizmondo again. The interview was published in the business news site Realtid.se, and a translated segment of the interview was made available on the author's blog The Nordic Link on January 23, 2008. The week before, Veckans Affärer, another Swedish business publication, had confirmed Realtid's story about Carl Freer's cooperation with the British company Plextek, who designed the original platform.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-7855186163702470215?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/02/gizmondo.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-8767049359409595840</guid><pubDate>Thu, 21 Feb 2008 00:03:00 +0000</pubDate><atom:updated>2008-02-20T19:07:34.942-05:00</atom:updated><title>Skittles Commercial</title><description>This commercial is amazing.  I've seen it on TV a couple of times, but it was a shortened version that's missing some of the best parts.&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/MUJ4uorYPoY&amp;rel=1&amp;border=0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/MUJ4uorYPoY&amp;rel=1&amp;border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-8767049359409595840?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/02/skittles-commercial.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-7236944729798179322</guid><pubDate>Tue, 19 Feb 2008 00:28:00 +0000</pubDate><atom:updated>2008-02-18T20:07:51.598-05:00</atom:updated><title>Framerate and Ping</title><description>There's always a lot of talk in C:SI about improving framerate.  I've also heard a lot of comments about how after a certain framerate, the human eye can no longer see any difference and so improving framerate past this has no point.  Usually the number stated is 24 or 30 fps, because those are the framerates of movie projectors and televisions (NTSC), respectively.  While the reasoning makes sense to me, it definitely seems like I can tell a difference between 30 fps and higher rates.  I decided to see what information I could dig up about this, and found this &lt;a href="http://www.100fps.com/how_many_frames_can_humans_see.htm"&gt;interesting article&lt;/a&gt;.  The article explains how blurred images and other techniques are used to make 24-fps movies appears smooth, and so these are actually not the limit that we can detect.  According to the article, the question is actually extremely hard to answer, but it's pretty clear that it's at least 100 fps, and probably much higher than that.&lt;br /&gt;&lt;br /&gt;The article also touches on the aspect of monitor refresh rates.  Basically, your monitor can only redraw the screen a certain number of times per second, and that's probably lower than the framerate your eye can detect.  It also mentions that it might actually appear worse if you have more fps than your monitor refresh rate can support, because it has to sync the frames by repeating some.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ping time is also something that is often stated as making a difference in duels.  I have personally tried fighting with ping times of over 2000 ms, and that definitely makes a difference.  But what about more normal variations?  I usually get a "ping sim" of about 70-90 ms.  That is the time it takes an empty message to travel from my computer to the Second Life server running the sim I'm in, and then get sent back.  What does this mean for dueling? From my experience during times of extremely high pings, I know that the way SL works is that when I press a key to slash, my client does not immediately start displaying the slash animation.  That message must first reach the server, then a message is sent to both people telling their clients to display the animation.  What this means is that if both of us have equal ping times, we should both see my slash at exactly the same time.&lt;br /&gt;&lt;br /&gt;Usually people have different ping times, though.  I've heard people in Europe saying they usually have pings around 150 ms.  If I were fighting them with my 70 ms ping, that would mean that they see the animations 80 ms after I do, including their own attacks.  Is 80 ms significant, though?  According to &lt;a href="http://en.wikipedia.org/wiki/Reaction_time"&gt;Wikipedia&lt;/a&gt;, the reaction time for humans is between 150 ms and 300 ms, so it doesn't seem like that would really make a difference.  But then again, it doesn't matter how quickly a person reacts, it will still be delayed by 80 ms in this example.  But...will that delay in their reaction matter since their opponent can only react at 150-300 ms?  I'm confused.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-7236944729798179322?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/02/framerate-and-ping.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-4734693808382089373</guid><pubDate>Sun, 17 Feb 2008 22:10:00 +0000</pubDate><atom:updated>2008-02-17T17:19:01.274-05:00</atom:updated><title>OpenSim and realXtend</title><description>This started out as a comment I was writing in response to &lt;a href="http://www.daikonforge.com/webtab/2008/02/17/realxtend-joins-opensim/"&gt;Robby's post&lt;/a&gt; about &lt;a href="http://realxtend.net/index.html"&gt;realXtend&lt;/a&gt; joining &lt;a href="http://opensimulator.org/wiki/Main_Page"&gt;OpenSim&lt;/a&gt;.  It grew so large I decided it was probably a better idea to post it here.&lt;br /&gt;&lt;br /&gt;It will be interesting to see how Linden Lab reacts to this.  I'm sure most of the features realXtend will bring are ones that LL would love to have in their own server code.  OpenSim is released under the BSD license, which is one of the least restrictive open source licenses out there.  It looks like the license only requires that any code or binary distribution be unrestricted in terms of copying and redistribution, and carry the same license.&lt;br /&gt;&lt;br /&gt;BSD License:&lt;br /&gt;&lt;blockquote&gt;Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:&lt;br /&gt;    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.&lt;br /&gt;     * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.&lt;br /&gt;    * Neither the name of the OpenSim Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.&lt;/blockquote&gt;  &lt;br /&gt;&lt;br /&gt;But here's the thing: LL doesn't distribute their server code or binaries; they run them on their own servers.  I'm not a copyright lawyer or anything, so I'm probably wrong, but it seems like LL might be able to incorporate the OpenSim code into their own server code without really having to publicly release it.  That seems a little fishy to me, but I know that the BSD license is often criticized as not being a true free software license, and maybe this is why.  &lt;br /&gt;&lt;br /&gt;From the &lt;a href="http://en.wikipedia.org/wiki/BSD_license"&gt;Wikipedia article&lt;/a&gt; on the BSD license: "The BSD License allows proprietary commercial use, and for the software released under the license to be incorporated into proprietary commercial products. Works based on the material may even be released under a proprietary license (but still must maintain the license requirements). Some notable examples of this are the use of BSD networking code in Microsoft products, and the use of numerous FreeBSD components in Mac OS X."&lt;br /&gt;&lt;br /&gt;I'm a strong supporter of open source software, but the problem with OpenSim is that while they are going to be adding all these exciting features, there's probably not going to be a grid running OpenSim anytime soon that has the resources to support 60,000 simultaneous logins.  That's why I'm kind of hoping for LL to "steal" the code (it's OpenSim's fault anyway...everyone knows you're supposed to use the GNU Public License :P)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-4734693808382089373?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/02/opensim-and-realxtend.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-141781328364913480</guid><pubDate>Fri, 08 Feb 2008 00:16:00 +0000</pubDate><atom:updated>2008-02-07T19:39:16.286-05:00</atom:updated><title>Mono Refresh</title><description>They made another update to the Mono Beta today.  With the fix of "[SVC-1331] Floating point fed to conditional causes error", LSL/Mono is now even closer to completing the "basic things any programming language should do" checklist.  As posted in the bug report, this basic script would produce an error:&lt;br /&gt;&lt;pre&gt;default&lt;br /&gt;{&lt;br /&gt;    state_entry()&lt;br /&gt;    {&lt;br /&gt;        if(1.0)&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;See my &lt;a href="http://colinkiernan.blogspot.com/2008/02/dear-lindens.html"&gt;previous post&lt;/a&gt; for more comments about this.  Actually, the image probably won't load because the website hosting it is currently suffering from the &lt;a href="http://en.wikipedia.org/wiki/Digg_effect"&gt;Digg Effect&lt;/a&gt;. Edit: Nevermind, the pic should work now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-141781328364913480?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/02/mono-refresh.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-8647219347320303321</guid><pubDate>Thu, 07 Feb 2008 10:57:00 +0000</pubDate><atom:updated>2008-02-07T19:38:23.746-05:00</atom:updated><title>Dear Lindens</title><description>Dear Lindens,&lt;br /&gt;&lt;br /&gt;I have decided to evaluate your performance over the past few months.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IlwCICKuJ8o/R6ukKhE5ZkI/AAAAAAAAAUA/J9tiOsJFwyo/s1600-h/frontwheel.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_IlwCICKuJ8o/R6ukKhE5ZkI/AAAAAAAAAUA/J9tiOsJFwyo/s400/frontwheel.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5164401898294961730" /&gt;&lt;/a&gt;Actually, that bike is working perfectly fine, they just need to change the sit target and adjust the link position of the front wheel.&lt;br /&gt;&lt;br /&gt;Edit: I uploaded my own copy of the pic instead of linking to it, so it should load reliably now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-8647219347320303321?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/02/dear-lindens.html</link><author>noreply@blogger.com (Colin)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_IlwCICKuJ8o/R6ukKhE5ZkI/AAAAAAAAAUA/J9tiOsJFwyo/s72-c/frontwheel.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-8034496818530865655</guid><pubDate>Wed, 06 Feb 2008 07:10:00 +0000</pubDate><atom:updated>2008-02-06T03:34:27.555-05:00</atom:updated><title>C:SI Stats Perl Script</title><description>I wrote a Perl script that grabs avatar duel data from the C:SI website and calculates some useful information.  It can be downloaded &lt;a href="http://www.mediafire.com/?9xfm9dtziky"&gt;here&lt;/a&gt;.  I know that most of you reading this probably have no idea what to do with a Perl script.  If I had the resources, I would put it up on a web site so that everyone could make use of it.  I invite the C:SI devs to take this script and use it on the website, or for Robby to do something with it on his blog (or anyone to put it up on the web, for that matter).  It takes avatar names as command line arguments, and is especially useful if given multiple names (so that you can see the combined stats of your alts).&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;font style="courier new"&gt;&lt;pre&gt;$ ./csiscores.pl Colin Kiernan Selene Corvale&lt;br /&gt;Getting stats for Colin Kiernan...&lt;br /&gt;Getting stats for Selene Corvale...&lt;br /&gt;&lt;br /&gt;Colin Kiernan&lt;br /&gt; Total Wins Losses Ratio&lt;br /&gt;Count 3323 1686 1637 1.0299 (102:100)&lt;br /&gt;%total 93.13% 91.38% 95.01%&lt;br /&gt;&lt;br /&gt;Selene Corvale&lt;br /&gt; Total Wins Losses Ratio&lt;br /&gt;Count 245 159 86 1.8488 (184:100)&lt;br /&gt;%total 6.87% 8.62% 4.99%&lt;br /&gt;&lt;br /&gt;Overall&lt;br /&gt;Total Wins Losses Ratio&lt;br /&gt;3568 1845 1723 1.0708 (107:100)&lt;/pre&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit:&lt;/b&gt; Another thing you could do with this is list all the members in a clan and get the total clan score, how much each person contributed, etc.  If you do that, I recommend promptly logging into SL and buying a few more swords to cover the bandwidth you've just used on the website ;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit 2:&lt;/b&gt; I forgot to mention that it only takes the stats from the first page (30 sims).  Since they are sorted in order of most duels, the sims omitted probably won't have that big an effect on the results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-8034496818530865655?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/02/csi-stats-perl-script.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8156255775652705165.post-7564761671705186443</guid><pubDate>Tue, 29 Jan 2008 07:55:00 +0000</pubDate><atom:updated>2008-01-29T02:56:46.799-05:00</atom:updated><title>Glasses</title><description>&lt;img width="75%" src="http://tolppa.apina.biz/3346.jpg" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8156255775652705165-7564761671705186443?l=colinkiernan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://colinkiernan.blogspot.com/2008/01/glasses.html</link><author>noreply@blogger.com (Colin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item></channel></rss>