Archive for category Uncategorized

Publishing to GitHub

I’m currently pushing the source code for my scripts to GitHub; while many of the scripts were publicly available already, I thought it might be useful to show the script history. It’s taking a while to build these up, but as I get through them they’re up at:

Please note that I’m including everything this time, which includes both the documentation and the images used for advertising. Probably excessive, but I can’t be bothered removing them!


No Comments

Efficient resizer HUD script pack (FREE!)

This is a pair of scripts (one for the HUD, one for the receiving object) to make a HUD-driven re-sizer. Unlike most re-sizers, this doesn’t need one script per prim, instead using the new LSL methods introduced in server 1.38 to use just two scripts in total. This means lower memory usage, which means lower lag, as well as less scripts to be stored when teleporting.

Oh, and it’s free.

Okay, it’s free and full perms.

Really, why are you still reading this? Get a copy, give it to your friends, e-mail me to tell me what I’ve forgotten to add and I’ll get an update out in a week or two with all the bits I never thought of until you asked for them.

Available free on XStreetSL:

No Comments

Prices updated

Okay, just a few price drops in the end:

You may also note we’ve got new signage coming out that’s hopefully a little clearer (and removes the price, so it’s much easier to change later). Haven’t got time to get all products done, but I am working on it.

1 Comment

XStreetSL de-listing first pass done

I’ve just gone through the sales statistics on my XStreetSL items and massacred the worst sellers. The PayPal vendors never took off, so the demo and basic versions are gone. The phase doors that two people bought, are gone. I could list the other 18 items we’ve dropped, but really I don’t think anyone will miss them.

The next pass will be to drop down the number of freebies. The various door demos (which are perfectly functional if you don’t need to re-sell) will stay, in a merged pack. All other demos will be in-world only (just as soon as I’ve made up displays for them). Out of the true freebies (as in, not demoing a more expensive product), only the basic prim counter will stay available. I’m going to cover the listing fee for it because I think it’s something everyone should have. Other freebies you might want to grab while you can:

Lastly, a lot of the cheaper items are going to get further price cuts (the L$500+ items are mostly tried and tested, and I’m happy with sales at their current prices), or merged into packs. More on that once I’ve had a chance to sit down and figure out the price points I want to move everything to.

No Comments

XStreetSL Listing Policy Changes

If you haven’t read the blog post on managing freebies (and cheapies) on XStreetSL, you may want to. I’ll summarise:

  • L$99/month to list freebies
  • L$10/month to list anything else
  • L$3 minimum transaction cost (so L$1/L$2 items cost the merchant to deliver)

What does this mean for me? Well, keeping all the freebies and demos individually listed isn’t terribly practical – that’s about half my items, so would cost me in the region of L$2,600/month (which is a fairly big lump of my total income. I’ll also be de-listing poorly selling items. This is pretty much what I believe these charges are intended to do.

Freebies will be going up in my shop in-world ASAP. Which means over the weekend, with a little luck. Demos will be merging together into a big “Xugu’s bumper box of demos” single item listing. Items you didn’t want to buy anyway will be disappearing from XStreetSL.

Disappointed there isn’t a freebie-only website for stuff that’s given away genuinely for free, but nevermind. I might have to see if I can push stuff out to the GNUbie Store and similar…

No Comments

Single prim freebie giver

Just released a new freebie based on my single prim vendor script; it’s a freebie giver designed to deliver a selection of products using only one prim. Items are arranged into sets of up to 8, sharing a single (very large) texture between all items in a set, with the script only revealing 1/8th of the texture at a time. Using a single texture in this manner means that changing between different items within the same set is extremely quick as there is no need to load a new texture.

Features include:

  • Notecard configuration.
  • Set a landmark and/or notecard to deliver with every product.
  • Products are delivered to the customer as folders.

What’s in the box?

  • Full perms single prim freebie giver script
  • Full and detailed documentation
  • Pre-made sample vendor to get you started
  • Template texture to fill in when creating textures for the vendor.

Grab it for free from XStreetSL:

No Comments

Non-LSL scripting

While I’m aware there are people who feel Linden™ Scripting Language (LSL) is the best thing since sliced bread (which, if you have a bread maker, is fairly damn awesome), I would tend to disagree. Given a medium that’s unlikely to come back and haunt me, I may even rant, but lets just say I feel it lacks some core language features such as error handling, complex data types (classes/structs) and library support. The Mono FAQ does reference writing scripts in non-LSL languages (search for “Will I be able to write scripts in languages besides LSL since Mono supports lots of languages?”), but doesn’t give much detail. I’ve been pestering Babbage Linden about this for a while now, and it’s becoming a recurring question at his office hours, so I’m going to wrap up what I know, here.

At the moment, LSL is uploaded to the simulator, where it is translated it into Common Intermediate Language (CIL), an assembly-like language that can be readily compiled into bytecode to run on Mono (or .Net) virtual machines. This is done on the server-side to ensure that dangerous/hostile code is not run by the server. While LSL is a safe language in that it lacks network/disk/etc. features to do real damage, CIL has no such constraints. Allowing CIL or bytecode uploads would theoretically allow a user to tell the server to wipe its own disks, for example. This is what we call a bad thing.

However, there are methods for allowing such code to be run without endangering the host system. Obvious examples include Javascript, Flash, Java and Silverlight (Microsoft’s equivalent of Flash). For the deeply techy, I know I mixed languages and file formats there, please just accept it. Silverlight is of particular interest, as it runs code under a .Net (same as Mono) virtual machine. In fact, the Mono project have their own version of the code needed for Silverlight, called Moonlight.

Moonlight 2.0 is the current major pre-requisite for non-LSL scripting. It’s due out in September 2009, at which point LL can start work on adapting its security controls for use with the SL™ simulators. C# scripting is likely to be first (although I’m hoping we’ll see bytecode upload so the geekier people can upload whatever we like).

So, what does non-LSL scripting mean for the average user? Well, hopefully more stable scripts. Right now, a lot of LSL can fail silently (meaning that the script has no indication of the failure, and in many cases neither does the user). Loading a notecard with a landmark in it, for example, will fail will no indication given to the script as to what’s happened, making it virtually impossible to provide help to the user.

Trying to do anything with complex data types is difficult and error prone. Lets say you wanted to store the name, key (UUID) and age of avatars you’ve seen recently (avatar age/height detector if you were wondering). In LSL, you can either have three lists (one containing keys, one containing names, one of ages) or one very long list containing all three items grouped together. If you have three lists, you need three commands to add data and three to remove. Use one big long list, and every time you access the data you have to remember which order you put them into the list. If you want to change the data later (say, to track inside leg measurement – yes, I’m being silly), you have to go over every bit of code and update it to know that there’s now four pieces of data for each avatar.

In comparison, in a language with complex data types you can put all four items into a class (or structure), and reference them by a meaningful name. Only one thing to add/remove to/from lists, and you can easily add new items because the language will track the details for you. Oh, and if you accidentally remove an item without fixing all the code that references it, the compiler will tell you at compile time. There are numerous other benefits of a more fully featured language, as well, but this is not the time or place for an exhuastive list.

We need your help, though. Firstly, the Moonlight project could do with your help testing their releases. Secondly,  we need to raise awareness that scripting is an issue that affects everyone. As much as the number of scripters may be relatively few, scripts are high impact. When someone clicks a door and it doesn’t open, it is jarring. When they pay a vendor and don’t get a product, it’s a serious deterrant from sticking with SL. Blog, tweet, plurk, and generally try to get the Lindens to understand that scripts are part of the user experience, and need some love too…

No Comments

So Xugu, how much do you make?

After the realisation last night that it’s going to be more cost effective for me to not sell the PayPal™ vendors, I thought I’d go over my accounts and find out exactly how my SL store is doing. I hope to also demonstrate why it would cost me more in admin costs to sell the vendors, than I am likely to make from selling them. Lets give some details about my business in SL to start with. I sell scripts (some with objects as example, but mostly just pure scripts) in SL, for L$. I’ve been doing this for about a year, but am focusing on this year to date (2009) because I’ve invested more time and effort. I have in-world and XStreetSL presences, although XStreetSL accounts for the majority of my sales.

I’m going to focus here on in-world only, and only on transactions that are business related (by which I mean I’ve spent half the afternoon clearing out my own purchases from the transaction logs). Records are essentially year to date, and all figures are in L$. Figures are precise enough for my curiosity, but are not exact.

Chart of income and expenditure year to date 2009.

Chart of income and expenditure year to date 2009.

In short, that means I made about L$6,000 more on in-world sales than I paid in rent, but made L$117,000 in XStreetSL sales. Expenses primarily consists of image upload costs. This gives me a typical monthly profit of about L$19,500, or about $75 USD if it were converted to real money. I pay $27.50 USD in web hosting, leaving me with a theoretical (because I’m not pulling profit out of SL) $47.50/month. Assuming about a 80 hour/month investment, that’s a little over $0.50/hour. Before I start talking about cost of hardware.

Can I have a pay rise please?

No Comments

Shop officially opening, 22nd May 2009, 9pm SLT

Finally my store in Second Life will be officially opening, this coming Friday 22nd May, at 9pm SL time. Madame Maracas from RadioRadio will be DJing through the night until midnight, at which point those of us in Europe time can keel over in an exhausted heap.

Event listing:


No Comments