Mar
1

Ask Luc: Where the F&*#! have you been?

Filed under Announcements, Ask Luc by Luc

Question from WickedSF:

Where the fuck have you been?

The answer to this question is simple:  I’ve been working.  I was offered a rather excellent job as a project manager outside of Second Life and I took it.

Yes, I still intend to be active in Second Life, and I’ve been working on a couple of projects I’m very excited about.  I just got hit with the learning curve of working with a new company, coupled with some major changes in my personal life, and I needed a haitus.

I’m really excited to be back in-world, though, and I have some great ideas to start putting to prims.  We’re going to be culling our inventory - removing any products that we consider to be obsolete or no longer relevant - so that we can focus on making a few really, really good products.

Thanks for your patience, and I’ll see you in-world!

Jul
6

LSL Weirdness

Filed under LSL Scripting by Luc

So Kokiri Saarinen and I just spent a very geeky couple of hours testing Mono list storage capacity (and, sadly enough, competing for the fastest result times) and we accidentally discovered something odd:

Casting keys as strings allowed us to store 13x as much data.

We ran different tests, with different configurations, compiling the lists in different ways, for a solid hour, and kept arriving at the same results: a key, stored in a list as a key, ate 106 bytes. The same key, casted to a string, ate 8 bytes. We were able to create a list of 7692 (under ideal circumstances) 36-character strings (keys converted to strings) before the script ran out of memory and stack-heaped, but only 583 keys.

This is pretty odd, and I’m not yet ready to declare that conclusive, as that’s a rather huge discrepancy. List memory usage in Mono is supposed to be calculated thusly:

string: 22 + 1 byte per character
key: 34 + 1 byte per character

So while strings should be a little bit more memory-efficient, they should still eat nearly 60 bytes. Why, then, the script would be storing them as 8 bytes is beyond me.

These tests all stored a global list and ran a loop adding keys to the list (with results displayed via llSetText) until the script barfed up a stack-heap collision.

If anybody else who has more knowledge about LSL memory would like to enlighten me, I’d love to hear it.

May
3

Ask Luc: GTD

Filed under Ask Luc by Luc

I got this question from TJudge:

It seems like you’re always involved in a ton of projects at once.  I can barely remember to tie my shoes in the morning.  Do you use some kind of program to keep track of all the stuff you do?

The answer to that question is, of course, constantly evolving, as anybody in a creative field I’m sure can tell you.  I think the biggest challenge when managing multiple tasks is in finding a way to keep track of those tasks without getting overwhelmed.  There are a lot of philosophies on this subject, but the increasingly dominant one comes from a book called Getting Things Done by David Allen.  The common term for this, in true internet abbreviation style, is “GTD.”

The GTD philosophy is complex, but it essentially boils down to keeping close track of what actions you need to take, when you need to take them, and what dependencies exist for these tasks.  It’s about structuring your time to maximize your resources and focus on the tasks at hand.

For this purpose, I recommend one of three bits of software (all for Mac, sorry) - OmniFocus, The Hit List, and Things.

Continue Reading »

May
5

Ask Luc: Clean llSay text?

Filed under Ask Luc, LSL Scripting by Luc

This from Viwoma:

I have a titler, one of those things that lets other people change the hovertext above your head, and when it speaks the text isnt prefixed with the object name, as with most objects. Its heard by everyone around you (so, probably llSay()) but its not the usual trick of changing the object name, because there is no colon (:) anywhere in the text which normally follows the object name, regardles of what it has been set to. Any ideas?

The trick she’s referring to, which I think of as “clean speak,” is a nice way to do object feedback without the mildly ugly object: statement text (”Luc’s Scripted Whatnot (verson 1.2a): I like monkeys!”).

Continue Reading »

May
0

SL»DB Release

Filed under Current Projects by Luc

I just posted the first version of SLDB, which you can find here.  Give it a shot, and if you’ve got problems, use the comments page on the user guide and I’ll try to fix anything wrong with it.

May
2

Project: SL»DB

Filed under Current Projects by Luc

In response to an earlier post, I whipped up a freebie web app tonight.  It’s designed for the “I have hosting and I can install Wordpress, but I don’t know php” crowd, and is designed to let you easily set up your own database in a few clicks and send/retrieve data from it.

I’ll finish the documentation maybe tomorrow and post the .zip on the site for anybody who wants it.

May
3

Ask Luc: Persistent data & LSL?

Filed under Ask Luc, LSL Scripting by Luc

I got this question from Osiris:

What good options are there for saving persistent data, given that we can’t write to notecards and list data will be lost at reset?

Ach.  LSL is sadly lacking in provisions for the storage of persistent data, to tell the truth.  Storing any data outside of the script’s own memory is a pain, no matter how you go about it.  It’s possible, of course, but such solutions are not typically elegant.

Continue Reading »

May
7

VX-7s & CCS

Filed under Current Projects by Luc

Okay, we’re cleaning up the code on the CCS-enhanced VX-7s and should release within the next day or so.

Continue Reading »

Apr
3

VX-7s: New Muzzle Flash

Filed under Current Projects by Luc

We’re working on a new version of the VX-7 Scorpions (1.2), and we’ve added a new muzzle flash option.  Wanted to give a quick preview so folks could have a chance to comment:

The new muzzle flash options: Anime (lower) and Standard (upper)

The new muzzle flash options: "Anime" (lower) and "Standard" (upper)

Personally, I like the “Anime” style a lot better; it’s more refined and makes better use of glow.  However, we’re leaving the “Standard” muzzle flash as an option for those who prefer a more realistic feel or who don’t have glow enabled (both use glow, but “Anime” looks ghastly without it, whereas “Standard” looks okay).

What do you think?  Which should be the default option?

Apr
0

Ask Luc: HUDs run on no-script land?

Filed under Ask Luc, LSL Scripting by Luc

I got this question from ‘taurus:’

I noticed you managed to get the new te.leport.me hud to work on no script land.  I was wondering if you’d tell us how you did this and if you plan to equip your other items with whatever loophole you used here.

I’m actually kind of embarrassed to have overlooked this on the release, but I’m glad we got it worked out now.

Basically, there’s a small, intentional hole in the no-script land restriction, and that hole is the control event.  The no-script restriction is designed to allow things like flight enhancers and animation overriders to continue working, so the parcel assumes that an attachment running a control event is one of those things and allows it to continue operating.

Continue Reading »