April 22, 2008

Of A Literary Bent

When I’m not in the Second Life® virtual world, or EVE Online, or indeed in front of my computer at all, I can often be found curled up with a good book. I try to consume several each week as part of a staple diet. :-) So, when I got a message from Selina Greene, co-owner of Book Island and Publishing Island and a real-life publisher, letting me know about the 2008 SL Book Fair, I figured, hey, it’s worth my time to mention. I’ll see if I’m able to show up for any of it, though my schedule this weekend involves, not only events at Lexxistential Deviances, but a RL event I’m driving down south for on Saturday.

Here’s the schedule of events for the 2008 SL Book Fair (all times SLT, venue SLURLs™ attached):

Friday, April 25th

Saturday, April 26th

  • 6am - Discussion: “Death Penalty, Right or Wrong?” Selina Greene (Beach Area)
  • 7am - TBA
  • 8am - Nebbisk Oh - “Fictionary” game, where you make up definitions to fool your opponents. (Beach Area)
  • 9am - Madddyyy Schnook, “Marketing and Sales in Virtual Worlds” (Book Island stage)
  • 10am - Babu Writer - “Amazon and POD - What’s going on?” (Publishing Island stage)
  • 10am - Selina Greene - “The RL Book Publishing Process” - talk and Q&A (Book Island stage)
  • 11am - Cricket Gears - “How Art and Music Can Change the World” (Cartland Court stage)
  • 12pm - Trinity Dechou, Voodoo Buwan - Rez Magazine debate on inworld Publishing (Cartland Court stage)
  • 1pm - Noble Charron - “Characterization - the Soul of the Story” - Lecture and Q&A by bestselling author, Michael A. Stackpole (Beach Area)
  • 2pm - Elan Neruda and Kit Jimenez - “Paying the Bills While Paying Your Dues: A Partially Practical Guide to Writing Genre Fiction for A Living” with Sharon Lee and Steve Miller (Publishing Island stage)
  • 2pm-4pm - Miriam Antonelli DJ (Cartland Court)
  • 3pm - Madddyyy Schnook - “Building for Beginners” (SLGuides)
  • 4pm - Diana Allandale - “Promoting Yourself, From an Author’s POV,” workshop with author Diana Hunter (Beach Area)
  • 5pm - Wilbur Rich - reading

Sunday, April 27th

  • 6am - Discussion: “What’s SLove Got To Do With It? RL/SL Relationship Pleasures and Pitfalls,” Selina Greene (Beach Area)
  • 7am - DJ Doubledown Tandino spins his signature blend of nujazz and house in a live turntable mix (Cartland Court)
  • 8am - Discussion: “What Makes a Book a Cult Book, Rather Than Just a Good Book?” Selina Greene (Beach Area)
  • 9am - Jilly Kidd hosts readings from writers in the Written Word group (Beach Area)
  • 10am - Sean Voss - Author Sean Percival, The Second Life In-World Travel Guide talk, Q&A (Book Island stage)
  • 10am - Madddyyy Schbook - “Building for Beginners” (SLGuides)
  • 11am - Simeon Beresford - Literary quiz (Book Island stage)
  • 12pm - Poetry and prose readings from INKsters and ANON magazine (Publishing Island stage)
  • 1pm - Kitumscheid Writer - “The Publishing Process for Illustrated Books,” based on experiences from her book, Pirate’s Alphabet (Publishing Island stage)
  • 1pm-3pm - DJ Ravishal Bentham from Kona Radio (Cartland Court)
  • 3pm - Diana Allandale - “The Ins and Outs of Writing Erotica” workshop with author, Diana Hunter (Beach Area)
  • 4pm - Arton Tripsa - “The Writing Life: The Creation Of A Novel,” a talk/Q&A with Jane Watson, author of The Hindustan Contessa (Book Island stage)
  • 5pm - Closing ceremony and afterparty (Cartland Court)

Event Venues

Information provided by Selina Greene, SL Book Fair 2008. Additional information supplied by Shawna Montgomery, Commander, Science Fiction Rangers.

April 9, 2008

LL to Island Owners: Drop Dead

Or, as Lexx would put it…“Blow me.”

Linden Lab®©™ announced yesterday a big break in the price of private island sims…now regular islands will be going for US$1000, down from US$1675, and “open space” (low prim) sims will drop in price to US$250. (Tier, of course, will stay the same…the cost of power, cooling, and bandwidth isn’t getting any lower, nor is the need to amortize the development costs of the server software getting any less.)

Those of you planning to buy sims in the near future are probably dancing with glee right now. Those of you who just bought sims, on the other hand, are most likely as livid as Lexx is, or as Nobody Fugazi is. True, LL did throw a sop to some of the more recent sim buyers, offering them a free low-prim sim to go alongside their suddenly-devalued purchase. Of course, Lexx took delivery of Lexxotica a little too late to take advantage of that bonus…which just doubles the piss-off, as far as she’s concerned.

Of course, as Nobody points out, “I’m really glad I’m not someone with a lot of land holdings. Sarah Nerd must be feeling this - and I just know Anshe Chung is.” You can add a bunch of other names to that list, like Sirux Mahoney, Desmond Shang, and Doeko Cassidy, to name a few. All of them have large numbers of sims–Fantasyland, in fact, just doubled its sim count not long ago through strategic acquisitions–and the value of those assets just took a 41% nosedive.

And, if Prokofy is right, the sim market is set to keep going down like the stock market on Black Whit-Monday…in fact, all the way to zero when the Grid finally goes totally open-source and I could set up a spare machine here to run a sim. (No doubt I’d have to pay a tier fee to LL still, though, to connect to the “official” Grid and its asset servers and user pool.) Harbingers of that are already appearing, in the form of grids running the OpenSim software (which I really ought to check out, by the way…I could easily see running a small Grid on one of our test clusters at the office); they’re charging, in some cases, less than US$100 for a sim, with tier of US$75 a month. (Though, with the dollar going the way it is, I’m betting some of those outfits will want to start quoting their prices in euros…but that’s another story.)

This strikes me as somewhat unfair to LL’s existing customers…you know, the ones that are responsible for so much of what makes Second Life®©™, Second Life®©™. And not just the land barons; most of the good fashion retailers have their own sims, too, as do many other unique groups. As far as I know, the only company that seems to be able to get away with pissing off its own customers on a regular basis is Microsoft…and even for them, that strategy is starting to fall apart. LL really, really, really might want to think hard before they do this again. They might be able to get away with this once. But after that, all bets are off.

“The consumer is not a moron; she is your wife.” - David Ogilvy

UPDATE: Tateru over at Massively.com has a post up about the price drop, where she advances some theories about reasons for the price drop, namely, drops in the price of Class 5-type server hardware and greater automation in the island-buying process due to the new Land Store. Which is all well and good, but the steep drop in price hurts existing customers as much as it helps new ones. LL could easily have kept the sim prices the same and pocketed the extra profits, or scheduled a more gradual price drop curve, say, US$100-150 a quarter over the next year, which wouldn’t have been such a big “ouch” to existing customers.

March 23, 2008

A Scripted Bagatelle

This evening, Lexx handed me a small object made by a fellow named Petr Brandenburg, that alternately flashed yellow and cyan. She couldn’t read the script inside it, so she didn’t know how it worked. She asked if I could figure it out.

Within a few minutes, I had handed her this:

// Neon Flasher Script
// Erbo Evans - 3/23/2008
/////////////////////////////////

// List of colors to cycle through, specified as  tuples.
list colors = [<0.0,1.0,1.0>, <1.0,1.0,0.0>];
float delay = 0.5;  // how long to wait between color changes
integer index;  // counter used to keep track of color state

default
{
    state_entry()
    { // initialize the color index and display the first color
        index = 0;
        llSetColor(llList2Vector(colors,0),ALL_SIDES);

        // set up the timer to flash colors
        llSetTimerEvent(delay);
    } // end state_entry

    timer()
    { // advance to next color and display it
        if (++index>=llGetListLength(colors))
            index = 0;  // wrap around back to beginning if we run off the end
        llSetColor(llList2Vector(colors,index),ALL_SIDES);
    } // end timer
} // end state default

Simple enough to understand. The script itself is basically a timer-driven state machine, using a table (the colors list) to specify the colors to be displayed on the prim (which uses a blank texture on all faces to better show the effect).

As an exercise, I asked her, “How would you extend the script to flash more than two colors?” Because of the way I wrote the code, it’s very easy (just extend the colors list). However, she stared at it and felt her brain begin to melt. I think it was mostly due to the fact that she was running on only four hours sleep, though. :-)

March 20, 2008

Professional Courtesy

I don’t know if it’s really true that “every 3rd person in Second Life is a DJ,” according to one wag I read recently. Still, there are plenty of decent DJs out there, and Lexx and I ran across one quite by chance this evening.

StormShadow Maertens DJs for three different clubs; his home club is Ignite, but he also spins at Restless Souls and The Night Owl (where Lexx and I encountered him). He seems to specialize in modern rock, but he had no problem playing either Muse (Lexx’s request) or Nightwish (my request!). He also did something interesting when we entered the club; in his next voiceover, he mentioned us by name. I may steal that trick. :-) In RL, he’s a network professional…which makes him not unlike myself in a number of respects.

And he is also among the ranks of SL bloggers, as you can see…so I’m pleased to add him to the Elite Evans Avenue Exit Blogroll. Check him out. And, Storm, you’re welcome to come by Lexxistential Deviances or Cowboy Country when I’m spinning, so you can compare styles. :-)

March 14, 2008

Philip Is Dead, Long Live Philip

Philip Rosedale in RL, Philip Linden in SL (Courtesy opendemocracy.net)I’ve never had the honor to meet Philip Linden/Rosedale, either in his real or virtual forms. (Though I have had the privilege of “running against” him in the 2007 SL Gubernatorial Elections.) Yet I’ve been a Resident for nearly two years now, and in that time, I’ve been very much aware that I’m “living” in his dream world, which can be sometimes banal, sometimes awe-inspiring, and sometimes just flat-out weird. The one thing I can’t deny is the essential brilliance of the underlying concept.

Now, he’s stepping back from his day-to-day role as CEO of the company he created, moving into the board chairman’s slot as well as working more on “product strategy and vision,” as well as evangelism. There are obvious parallels here to Bill Gates and his transition away from the CEO role at Microsoft, but I also get the impression that Philip isn’t as much of a “genetic entrepreneur” as, say, Andre Durand is. Philip strikes me as more of the techno-geek sort, who loves to get down and dirty with the details. Keeping him in the role he’s comfortable with will be good for both Linden Labs and the Second Life platform as a whole.

The question now becomes, who’s likely to replace him? LL appears at a loss, as the esteemed Ms. Malaprop remarked over on Twitter: “No successor being named says that there is going to be a bit of a mess for a bit, though. Otherwise it would have been ‘philip down, X up!’” And, well, that’s obvious; replacing someone like Philip is not exactly a cookie-cutter kind of deal, if you know what I mean. Prokofy seems to think that LL is most likely to promote someone from within, and that strikes me as both the easiest course for LL to take and the one that’s best for SL, as someone who’s already involved with SL is likely to disrupt it the least over the short and long terms. We won’t, however, know anything about what they plan on doing until they make up their minds. My best advice at this point would be to remain cautious, yet optimistic.

In the meantime, we can all wish Philip the very best of good fortune as he transitions into his new role, and hope that this new role will allow him to continue to make Second Life everything it should be.

“We must have faith…that the universe will unfold as it should.” - Spock to Valeris, Star Trek VI: The Undiscovered Country

March 3, 2008

How Not To Run An Event

Recently, I was asked to DJ an event at another club, which I agreed to do and for which I was paid my standard rate. However, when I got to the site of the gig, I found that certain things hadn’t fallen into place…

  • The club’s stream information had just been changed, which apparently they do on a monthly basis. (I do approve of this as a security measure, as it keeps rogue DJs from hijacking the stream.) I had received the correct login information, and it worked…but the club’s stream changer had not yet been updated with the new stream URL.
  • Only one person had access to modify the settings notecard for the stream changer…and he was unavailable.
  • I thought that perhaps the URL could just be set on the parcel manually, via the land settings dialog. Unfortunately, the club’s land had not been group-deeded, so only one person (the land owner) had the ability to change the parcel media settings…and he was unavailable as well.
  • What’s more, the event had not been publicized (via a listing in SL Events or such), so it was likely that there would be little turnout, even if the stream issues could be resolved.

In the end, the event was postponed to a later date, and I agreed to come back at that date. But this particular event had required a lot of prep time on my part, so naturally I was somewhat miffed.

There are some lessons to take away from this experience. First, always have a backup plan in place for your business operations. First Life does take precedence, but if the absence of one or two critical people can throw your business into disarray, you need a better backup plan. In the case of Lexxistential Deviances, if Lexx is not present, I can perform her functions, as can Lilli. The businesses I’ve been involved in have a long history of having backup plans, to the extent that, when Danielle’s home in RL was burned in a fire, I was able to keep the Gin Rummy open despite her extended absence.

Second, group-deeding business land is good. If your land is group-deeded, you have a lot more options in controlling who can do what to the land, thanks to the group role and permission capabilities we’ve had for some time now. In our case, we allow people designated as “DJ” to change the parcel media settings, as, obviously, they may need to do that to broadcast. We do use a stream changer of our own, an Erbosoft Distributed Music Changer (of course!), and it does have a “manual override” mode where you can feed an arbitrary URL in via a chat command, if you have the right access; still, it’s good to have a backup capability (which relates back to my first point).

Third, have procedures in place for publicizing events. In our case, we determine the events for a weekly block (Friday through Monday) in advance, complete with staff assignments for each event, which Lexx distributes to the staff group via a notecard attachment to a Group Notice. Then I take her notecard and write the descriptions for the events, which I post to SL Events. Just before event time, our host for the evening grabs a copy of the event text and uses that to create a Group Notice for the VIP group.

N.B.: I am deliberately not identifying the club involved in the little snafu above, because I believe they can do better and I don’t want to embarrass them, just help them and others to keep from making those mistakes. Any comments which identify the club in question, even very generally, will be deleted with extreme prejudice.

February 29, 2008

Symbolic of Wretched Excess, Or Something

Lexx’s Wedding InvitationThe image I have linked here is Lexx’s wedding invitation. Yes, THAT thing that towers over my avatar, included here for scale. The object is 102 prims, the artwork inside uses sculpty prims, and, when clicked, it not only hands you a landmark, it plays Peter Cetera’s “The Glory of Love.” The whole song.

As wedding invitations go, this one takes the cake (no pun intended). It is the epitome of ostentatiousness. It’s like the last days of Pompeii, right here in SL. Take me home and put me to bed, Mama, I have seen enough to know that I have seen too much!

If you should desire a wedding invitation like this, make sure and stop by Kaa Sera Wedding Invitations, and Kaaden Carson will be happy to sell you one. Just don’t try to rez it on anything smaller than a 4096 sq.m. parcel. :-)

Oh, that reminds me…we’re in the wedding business too, providing a venue for wedding ceremonies and receptions, along with an officiant, photographs, and professionally DJ’d wedding music (by Yours Truly). Stop by Dreams Weddings and talk to Lexx.

“All men should be married, but no woman should.” - E. Jean Carroll, A Dog In Heat Is a Hot Dog

February 16, 2008

Facelift

Since the Evans Family Compound is moving to Lexxotica, I had to take a new image for the top of the blog…and I built a road out front of the Compound with this shot in mind. Naturally, I had to use the latest WindLight viewer to get the sky just so…and I adjusted the sun position and cloud cover of one of the presets to make it look right. You can see the main house in the background there, with the flagpole in front flying its Colorado and New York state flags proudly; unfortunately, the big Yagi amateur radio antenna (tuned for 40 meters) atop the house got cropped out of the image…

Oh, and the redhead in the front passenger seat is Alexzandria Aeon, my newfound daughter (as Danielle told me) and the CEO and Supreme Dictator For Life of LexxCore, so don’t nobody be gettin’ no funny ideas. :-)

February 11, 2008

LexxCore: The Next Step To Total Grid Domination

LexxCore LogoIn conjunction with Ms. Alexzandria Aeon, I am pleased to announce the development of LexxCore, a Second Life land management and entertainment conglomerate serving the needs of Residents everywhere. LexxCore is now running on its first sim, Lexxotica, a new Class 5 Mature sim. We offer the following services:

First of all, we have land for sale. 4096 square meter plots, asking L$35,000, tier of L$3500 for two week intervals. Get in on the ground floor, folks!

Lexxistential Deviances LogoSecond of all, there is the Lexxistential Deviances Strip Club (formerly The Insurrection Alley), which forms the cornerstone of the new environment. Events will be run Friday through Monday nights, 7-9 PM SLT. DJ CoolJ, of course, will play this club, as will DJ Damonic and other members of the old IA staff.

Third, the club has an associated mall, the Lexxistential Deviances Mall, with vendor space available at very reasonable rates. (You can now buy the EDMC and the Erbographics Windows there, for instance.) Between the club and the mall is a nice open park area, with a money tree and prize-giveaway genie for newbies.

For more information, visit the LexxCore Web site. See you there!

February 3, 2008

Notecard Writing: A Modest Proposal

Jacek laments the lack of ability of scripts to write to notecards, thus depriving them of a potentially-useful mechanism for saving persistent data across script resets. (Other scripters have used the object name or description to store such persistent data, but the fact that LL is now enforcing strict limits on the length of those fields limits the usability of this technique.) We are told that this is because each edit to a notecard creates a new asset in the asset server, and it would possibly overwhelm the server, as if it wasn’t overwhelmed enough already.

Well, how does it handle people editing notecards normally? I’m guessing that, when you bring up a notecard window in the client, you don’t actually create a “new” asset until you press the Save button. Is there any reason why we couldn’t have script APIs that work the same way? Say, when you open a notecard for writing, buffer the data in memory, and only actually save that data, creating the new asset, when the notecard is closed?

Here’s an example of how these APIs might look. (Warning! These are not real APIs! I’m only showing you what I think they might look like.)

integer llNoteStreamOpen(string name, integer mode);

Opens a notecard for writing. name specifies the name or key of the notecard to be written to, which must be an existing notecard in the inventory of the object holding the current script. mode must be one of NOTESTREAM_OPEN_OVERWRITE (to overwrite the existing data in the notecard) or NOTESTREAM_OPEN_APPEND (to append to the existing data in the notecard). The return value is a “handle” used to interact with this notecard stream, or -1 on error.

Scripts may only have a maximum of N notecard streams open at one time (where N is a small number, perhaps as low as 1). Attempts to open additional streams beyond that result in an error.

integer llNoteStreamWrite(integer handle, string data);

Writes data to the notecard stream. Data written is buffered and is not actually saved to the notecard until the stream is closed. handle specifies the handle of the notecard stream to write to. data specifies the string data to be written. The return value is the number of characters written to the notecard stream, or -1 on error.

key llNoteStreamClose(integer handle, integer disposition);

Closes a notecard stream. handle specifies the stream to be closed. disposition must be either NOTESTREAM_SAVE (to save the changes to the notecard) or NOTESTREAM_DISCARD (to discard the changes to the notecard). Returns the UUID of the notecard that was modified (the new UUID if changes were saved, the original UUID if changes were discarded); returns NULL_KEY on error.

When a script is reset, any notecard stream handles it holds open are closed as if llNoteStreamClose(handle,NOTESTREAM_DISCARD) were called on them.

I don’t know how feasible this all would be to implement. Perhaps we’d need an upper limit on the buffer size for the notecard stream, which would limit its usability for some purposes, but not for others. Perhaps any or all of these functions would need script execution delays built into them. Perhaps the streams should be automatically closed/discarded when the script changes states, much the same way timer handles get reset, instead of when the whole script is reset.

Thoughts?

Next Page »