Monthly Archives: October 2006

Come…Join us…Don’t be afraid…

I wasn’t the first SL blogger I know to jump on the WordPress bandwagon…nor am I the last, it seems.  The latest addition to the list of migrants from Blogger to WordPress is Shaunny Stovall, who joins her sister AllieKat as well as a bunch of us hosting our SL blogs on WordPress.com.  Another important group of bloggers use WordPress software, but host it on their own servers; this list includes Mera, Ms. Ordinal Malaprop, and the latest addition: Torley herself, long a resident of Blog-City but switching over to gain more experience with WordPress (which, in fact, the Grand Unified Linden Blog also uses).
Most of the bloggers I know that remain on Blogger are either still new to blogging (Shockwave, Bay), seem to have given it up (Val, Q), or have moved to the new Blogger beta, which provides more advanced features similar in some respects to WordPress (Jacek, Tateru, Akela).  The original Blogger was a decent enough system, but sluggish; WordPress is better performing but not as flexible with its template system. (To get around that problem, I may go the self-hosted route myself eventually…)
And I’d like to take this opportunity to express my hope that one particular Resi would start a blog of her own: Reina Quine, if you’re out there, I’d love to be able to see what the Princess of Purple is thinking.  Maybe you’ve already taken the plunge; if so, once I find that blog, a spot on the Evans Avenue Exit blogroll is ready and waiting. If not…well, I can just reiterate the title of this post. 🙂

5 Comments

Filed under Fellow Travelers, Meta

Remind Me

I’m a little burnt right now, and the burnt-age only looks to get worse over the next couple of weeks, thanks to a product in beta, an upcoming trade show, and Someone Who Must Be Placated. But I thought I’d share an observation with you.

I’ve been playing a little tune by the Norwegian group Royksopp in some of my DJ sets, called “Remind Me.” In its original form, it was used in a GEICO commercial here in the U.S.; however, the video for the more up-tempo remix is extraordinary:


When I first brought this video to the attention of people on Electric Minds, I called it “sheer unadulterated infoporn,” because of all the nifty infographics and the way they “mesh” with the events of the video. However, the video contains two sequences that look just like a Second Life “rez-in” sequence, as the client adds prims to your view when you teleport into a new area. (Only faster, alas.) And the protagonist of the video sure looks like she could be an avatar herself…

Decent techno, at any rate. Check it out…

1 Comment

Filed under Music

Novus Ordo Seclorum

From the desk of Tateru Nino...In a post over on New World Notes, Tateru analyzes the impact of SL’s crossing the magic 1-million registered users mark. (I like the header image, by the way…that would make a nice header for some stationery, Tat.)

One part of her observation caught my eye:

You and me, we had a culture. Maybe it was a good one, and maybe it wasn’t. But it’s gone now, for better or worse. By sheer numbers, these new women and men are Second Life. They outnumber us, and they will be the ones to make or break the world. They don’t know who Aimee Weber is, or Anshe Chung, or Starax Statosky or Prokofy Neva or Torley Linden. They’ll likely never even hear the word “FIC” during the rest of their second lives. The tax protests will probably not even register as a curiosity.

OK, I myself arrived too late for the tax protests…though I later read about them. But I do know about the rest of it…and have even met Torley in person, and Prokofy’s shown up at our club for a live show. See, I didn’t come to SL to impose my idea of a “culture” on it; I came with an open mind, looking to learn about the existing culture and maybe tell other people (back on Electric Minds) about it as I did. It saddens me that I may be one of the last people to do so, if what Tat says is correct. (I arrived in May…after the January boost she mentions, but before the gates were flung wide with open registration in June.) Still, cultural change is inevitable…and perhaps my own efforts at fitting into the world will leave it changed for the better.

I come from a site that’s had its own issues with its culture, and has resisted change in the past more often than not. Yet it’s culture is not too dissimilar from SL’s…SL’s strong emphasis on IP rights, for instance, closely parallels EMinds’ “You Own Your Own Words” philosophy. Some of my fondest wishes are that I figure out how to help bridge the gap between the two worlds…make it easy for the two to talk with one another, paving the way for more Resis to become EMinders and more EMinders to go in-world. This will, no doubt, change both cultures; one may only hope that the blending will leave each stronger than before.

More interesting is her assertion (in a comment) that the SL of 2006 is very similar in feel to the Web of, say, 1996. That’s the era that Electric Minds originated in, of course…so one wonders: What will the “EMinds” of SL be? And who will start it off? Or, even more interestingly, and possibly lucratively…who will be the SL equivalent of Yahoo!, or Amazon.com, or eBay, or Netscape? Or do we even need one?

I don’t have any answers as to what’s to come (and I’m pretty sure Tateru doesn’t either). Just questions. But–like metaphysics–what fascinating questions!

2 Comments

Filed under Community, Philosophy

Simquake!!!

Just this evening, we encountered some really odd behavior in SL, or at least in the South Sunset region.  Whenever people walked around, they started bouncing, as if they were falling through the floor and then getting booted back up.  Sitting or standing very still seemed to alleviate the problem, but it was still nerve-racking.  It felt almost like an earthquake…and, being originally from California, I have reason to respect the power of earthquakes. 🙂

It lasted long enough for me to call Live Help and report it.  George Linden, one of the newer Lindens, came by to check it out, and it lasted long enough for him to feel the effects himself.  Then, suddenly, while he was there, it stopped.  All of us were at a loss for words, and George was reluctant to restart the sim without there being a real problem (understandably), so the event, hopefully, will simply fade into history.  But that’s a failure mode I’ve never run into…

1 Comment

Filed under Bugs

Welcome, Shockwave

Danielle informs me that Shockwave Plasma has joined the ranks of SL bloggers, and I know I’ve run into her in world somewhere, right? So she joins the elite band of bloggers on the Evans Avenue Exit blogroll.
As Danielle recounts, she might have quit SL altogether early on had she not run into Shockwave, who brought her to The Shelter, where she met all kinds of wonderful people, including me, and…well, you see where I’m going. That’s part of why I have her down as “Danielle’s Sensei.” Sensei, in Japanese, means “teacher,” but it has a wide variety of connotations, including the guy at the local dojo who kicks your ass until you learn. 🙂 Shockwave’s guidance was an essential lesson for Danielle, not just in where to go, but in the fact that SL wasn’t as bleak as it was appearing to her right at that moment.

Shockwave’s blog title, The Shockwave Writer, is a nice allusion to the title of one of my favorite SF novels, John Brunner’s The Shockwave Rider. It’s well known for being an early ancestor of the “cyberpunk” genre, and introduced the term “worm” as applied to a self-replicating computer program that uses networks to propagate itself.  Interestingly enough, at one point in that novel, the main character makes a statement: “Ah, you don’t have to know everything; you just have to know where to find it.”  In today’s modern world, with Google and other Internet search engines, that statement has never been truer.  Pamela just proved it by looking up the answer to a logic problem her friends overseas sent her…

1 Comment

Filed under Fellow Travelers

The Big Rollover

Well, I think this is it.

With a front-page mention on Yahoo! today–one which has the Lindens scrambling to keep up with the load on the secondlife.com Web site–Second Life is probably going to hit the big 1-million-signups mark, if not today, then within the next day or so. The new user signup rate has been increasing; Tateru’s automated prediction of when the threshold would be crossed has been moving steadily backwards for the last couple of weeks, and, when I last looked, stood at October 21. The extra burst from a Yahoo! feature article ought to put it over the top.
Bad news for me; I picked November 1 as the day of the milestone in Second Life Insider‘s contest. But is it good news for SL as a whole? Best answer I can come up with: Yes and no.

Certainly, the crossover will bring SL some additional respectability in the Internet world, and likely additional corporations will want to follow the path of Sun Microsystems and Reuters onto the Grid. (Some Residents decry this development, but think about it: Even if a corporation comes into SL to compete directly with existing SL businesses, those existing businesses have a huge head start. I don’t think Clairol or anyone else could match GuRL 6 at the business of selling hair, for instance.) At the same time, the sheer volume of transactions that is taking place in-world is starting to make Congress take notice…and they may decide to sic the IRS on us. And, if that happens, state governments won’t be far behind–never mind the question of jurisdiction. (Hell, that’s a muddled question even for the Feds…if a Brit sells something to an Aussie in SL, is it any of the U.S. government’s damn business?)

On an in-world level, expect the Orientation Islands, Help Islands, and Welcome Areas to be swamped with an influx of people. An open question is whether LL newbie-assistance groups, such as the Greeters and Mentors, will be able to cope with the influs; the same goes for important non-LL groups such as NCI and The Shelter. And, since these folks aren’t likely to have a single L$ to their name (since LL shut off the Basic stipends and signup bonuses), expect an increase in panhandling, increased runs at the money trees and other newbie giveaways, and increased demand for camping chairs/dance pads/what have you. And out of all those new users, some are likely to be the griefing type…and we may see a new round of attacks as they appropriate the griefing techniques of the past and build on them. However, we will get a lot more new interesting people to talk to. (And the Gin Rummy may get more job applicants; Lord knows we could use them….)

In summary, things will probably not change much in the near term; the immediate post-1M world will be pretty much the same as it was last week. The really significant changes as a result of the increased population are likely to happen gradually, over time, such that none of us will be able to point at a single moment and say, “That’s where everything changed.” Of course, LL can cause a “flag day” at any time with their next software update…but what else is new?

But congratulations to LL and the entire community for getting this far…the first million is the hardest. 🙂

UPDATE: Well, there it is…the seven figure mark has now been officially reached, as confirmed by The Head Linden Hisself. Philip also says 50,000 or so new signups will happen today alone…which is causing the signup mechanism to creak a little bit. And some of the other consequences I thought of above are also coming to pass…

UPDATE II: I ran into Akela last night at The Shelter, and he was of the opinion that it was the news story about Reuters that put SL over the top.  This would appear to be consistent with Pathfinder Linden’s report of exactly when we hit the 1-million mark (just after 8 AM SLT on the 18th), which means the Yahoo! article may not have made much of a difference when it came to hitting the mark.  Meanwhile, Tateru reports that more people signed up yesterday than were actually registered at the time she joined (woah!), and, with fully 1/5 of the user base having signed up within the last two weeks, it’s creating some new challenges.

5 Comments

Filed under Current Events, Philosophy

Adventures In Applications

It’s been awhile since I posted any good LSL examples to this blog, so I’ll give you a fairly complicated one. Danielle wanted a kiosk in front of the Gin Rummy that would hand out “job application” notecards for any one of a number of positions. I determined that a dialog-based interface would work for that, and decided to make it configurable. So here’s the code:

// Gin Rummy Application Kiosk Script
// Erbo Evans 10/2/2006
//=============================================
// To set this up you will need to create a notecard named "_config"
// in the same object as this script.  This notecard will contain pairs of lines.
// The first line is the button label, and the second line is the name of the
// notecard to give out when the button is pressed.  Example:
//
// DJ
// DJ Application
// Host
// Host Application
// Bartender
// Bartender Application
//
integer MY_CHANNEL = -897414;
string PROMPT = "Thank you for your interest in employment at the Gin Rummy. Please select the position you are interested in:";

list s_master = [];
list s_buttons = [];
integer s_line_count;
integer s_card_count;
integer s_cur;
key s_qid;

default
{
    state_entry()
    {
        s_qid = llGetNumberOfNotecardLines("_config");
    }
    dataserver(key qid, string data)
    {
        if (qid!=s_qid)
            return;
        s_line_count = (integer)data;
        state load2;
    }
}

state load2
{
    state_entry()
    {
        s_cur = 0;
        s_qid = llGetNotecardLine("_config",0);
    }
    dataserver(key qid, string data)
    {
        if (qid!=s_qid)
            return;
        s_master += [data];
        if (++s_cur==s_line_count)
        {
            s_card_count = s_line_count / 2;
            integer i = 0;
            do
            {
                string s = llList2String(s_master,2 * i);
                s_buttons += [s];
            } while (++i<s_card_count);
            state runtime;
        }
        s_qid = llGetNotecardLine("_config",s_cur);
    }
}

state runtime
{
    state_entry()
    {
        llListen(MY_CHANNEL,"",NULL_KEY,"");
    }
    touch_start(integer n)
    {
        integer i = 0;
        do
        {
            llDialog(llDetectedKey(i),PROMPT,s_buttons,MY_CHANNEL);
        } while (++i<n);
    }
    listen(integer chan, string name, key id, string message)
    {
        if (chan!=MY_CHANNEL)
            return;
        integer i;
        do
        {
            integer n = 2 * i;
            string s = llList2String(s_master,n);
            if (s==message)
            {
                s = llList2String(s_master,n + 1);
                llGiveInventory(id,s);
                return;
            }
        } while (++i<s_card_count);
    }
}

In order for this to work, you need to have a notecard called _config in the object inventory along with the script. This notecard should contain, on alternating lines, the name to put on a button and the name of the notecard that will be delivered when you hit that button. Remember that llDialog allows you to have up to 12 buttons.

The default and load2 states are all about loading the number of lines of text in the notecard and the notecard’s actual data; the contents of the notecard are stored in the s_master list. Once all the notecard data has been loaded, the load2 state then strips out just the button names to add to the s_buttons list, which is used by llDialog. We could recompute this array on the fly every time we throw up a dialog, but doing it this way saves some time at the cost of a little extra memory, which we can afford.

After the lists are all full, the code clicks to the runtime state, which immediately starts listening on a private channel. (Channels with a number less than 0 cannot be triggered with the “/### message” syntax in chat, making them good for internal script uses like this.) Then it’s just a matter of throwing up the dialog box whenever the kiosk is touched, and responding to a message from the dialog, i.e. the name of the button that was pressed, by linearly searching the s_master list for the right button name and using the corresponding object name as an argument to llGiveInventory.

So, what could be improved in this? Well, one thing that a lot of people do with dialog boxes is that they don’t set up the actual llListen to the chat channel until the dialog box is summoned, and make that listen go away when a button is pressed, or after a timeout interval. The reason for doing it this way is to eliminate the tiny bit of lag caused by the listen. However, this comes at a slight cost of usability (since a dialog box may “time out” if a user hasn’t made a selection within the time limit), which is not generally a good thing in an object designed to interact with newbies. Plus there simply won’t be that much lag induced by listening on a single non-0 channel, and a private one at that. I could also rig the script to be sensitive to inventory changes, so that, when the configuration is changed, it could click back to the default state and reinitialize itself. But we don’t change the contents all that often (if ever), and we can just reset the script if it comes to that.

Share and enjoy! 🙂

Leave a comment

Filed under Scripthackery