If you haven't figured out already, I'm a pretty strong supporter of free software. I haven't really seen any LSL scripting being done under a free software license, and that got me thinking about whether existing licenses would be applicable to the SL platform, or if a new license should be written to address certain aspects specific to SL.
In Free Software Foundation's formal definition of free software, they state that all free software must have the following four freedoms (numbered starting from 0 because these people are computer scientists ;P):
-- Freedom 0: The freedom to run the program for any purpose.
-- Freedom 1: The freedom to study and modify the program.
-- Freedom 2: The freedom to copy the program so you can help your neighbor.
-- Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
Freedoms 1 and 3 require the code to be "open source". In SL, this means the scripts must be modifiable. Here is the problem: Let's say you buy an object containing scripts with a free software license. In order for the license to be fulfilled, the scripts would need to be modifiable, which means the entire object needs to be modifiable, which shouldn't be necessary. SL currently doesn't allow the scripts inside an object to be modifiable but have the rest of the object (prims, textures, etc.) not be modifiable.
Another option is that the creator could make the object no modify and just package the script files with the object. I'm not sure if that fulfills the terms of the license, though. The scripts would be open and free to distribute, but the scripts inside the object could not be modified. With SL's current features, it seems like this is the only feasible way to do it, but it's unclear to me whether it is meeting the requirements of free software.
It seems like this might be a similar case as cell phones running open source software. The software in the phone should be modifiable and copyable, but the hardware of the phone isn't. Does anyone else have thoughts on this?
Monday, 19 November 2007
Wednesday, 14 November 2007
More Windlight
Is that a sunset, a sunrise, or did someone just get nuked?
Also, we have found a pretty significant bug in windlight. For many, but not all, if you are in mouselook and you jump...you crash. Very weird. It happens right when you reach the top of the jump and start to fall. Unfortunately Jira is having issues and won't let me log in.
Also, we have found a pretty significant bug in windlight. For many, but not all, if you are in mouselook and you jump...you crash. Very weird. It happens right when you reach the top of the jump and start to fall. Unfortunately Jira is having issues and won't let me log in.
Impostors!
The Windlight First Look is back. An interesting new feature is what they are calling "Avatar Impostors" which claims to lower framerate in large crowds. I was wondering what this was, and when I saw what they meant my first reaction was to start laughing:
It looks like Hibiki jumped right out of an original Playstation game and into Second Life. Apparently they just create a low-resolution sprite of the avatar and then paste that in instead of having to render the avatar.
But does it actually work? My framerate was around 24 with it on when I was taking these screenshots. I turned it off and it dropped to about 17.
It looks like Hibiki jumped right out of an original Playstation game and into Second Life. Apparently they just create a low-resolution sprite of the avatar and then paste that in instead of having to render the avatar.
But does it actually work? My framerate was around 24 with it on when I was taking these screenshots. I turned it off and it dropped to about 17.
Tuesday, 13 November 2007
Animal Groups
I thought this was fun. Here are the correct ways to refer to a group of certain animals:
1. A shrewdness of apes | 12. An exaltation of larks |
2. A battery of barracudas | 13. A troop of monkeys |
3. A kaleidoscope of butterflies | 14. A parliament of owls |
4. A quiver of cobras | 15. An ostentation of peacocks |
5. A murder of crows | 16. A rookery of penguins |
6. A convocation of eagles | 17. A prickle of porcupines |
7. A charm of finches | 18. An unkindness of ravens |
8. A skulk of foxes | 19. A shiver of sharks |
9. A troubling of goldfish | 20. A pod of whales |
10. A smack of jellyfish | 21. A descent of woodpeckers |
11. A mob of kangaroos | 22. A zeal of zebras |
Gmail's Spam Filter
I think this is the first spam email that has made it through Gmail's filter and into my inbox in at least a year. You can see some of the things it does to trick the filter. Overall, I think Gmail's spam filter is very good. I currently have 1632 messages in my spam folder, and they are automatically deleted after 30 days. So Gmail gets a score of 99.939% for this past month. I've also never found a message marked as spam that was actually a legitimate email.
------------------
Subject: Your baby-maker needs to be bigger in order to perform its functions well
market, particularly the Japanese bond market, where yields morepercent since October 8, suggesting that Soros had lost $100 million of
He was torn. Should he go back to Duquesne? Or take a chance and
Do you believe in miracles? We dare say you're likely to answer negatively.
We hadn't believed, either...until the moment MegaDick was introduced!
What this wonder medicine does to a male dic'k cannot be called otherwise than a Miracle!
Just picture to yourself, that your meat stick suddenly becomes longer
and thicker and makes women tremble with desire!
It's fabulous!
So, don't miss it out, accomplish a miracle in your life with this wonder-medicine![was a link]
of Japan was tightening its monetary policy. Seeing the handwritingLike Soros, Druckenmiller, a Philadelphia native, had attracted virtually48.5 compared to 17.3 in England and 19.7 in the United States. Sorosto $10,432.75 a share. This was even larger than the 17 percent drop in
-----------------
------------------
Subject: Your baby-maker needs to be bigger in order to perform its functions well
market, particularly the Japanese bond market, where yields morepercent since October 8, suggesting that Soros had lost $100 million of
He was torn. Should he go back to Duquesne? Or take a chance and
Do you believe in miracles? We dare say you're likely to answer negatively.
We hadn't believed, either...until the moment MegaDick was introduced!
What this wonder medicine does to a male dic'k cannot be called otherwise than a Miracle!
Just picture to yourself, that your meat stick suddenly becomes longer
and thicker and makes women tremble with desire!
It's fabulous!
So, don't miss it out, accomplish a miracle in your life with this wonder-medicine![was a link]
of Japan was tightening its monetary policy. Seeing the handwritingLike Soros, Druckenmiller, a Philadelphia native, had attracted virtually48.5 compared to 17.3 in England and 19.7 in the United States. Sorosto $10,432.75 a share. This was even larger than the 17 percent drop in
-----------------
Thursday, 8 November 2007
This Fall
Every so often I will go to create a new SL account to see what names I can make from the new last names. Usually I'm disappointed because all the good ones are taken. I started out this time with more disappointment, as it told me that Paper Clip, Movie Clip, Charles Darwin and Steve Wozniak were all taken. Then I got to Fall and while "Next Fall", "Last Fall" and "Snow Fall" were taken, "This Fall" was not! So I am now the proud owner of an alt named This Fall. I have no idea what I'm going to do with him, though...
On another note, I was looking up "w/e" at urbandictionary.com and the second definition was hilarious (anyone can submit a definition):
On another note, I was looking up "w/e" at urbandictionary.com and the second definition was hilarious (anyone can submit a definition):
Building a Go Board
One thing I've wanted to do for a while in SL is make a Go board. The major design problem is that the game is played by placing stones on a 19x19 grid, so if I was just going to have a prim rezzed for each stone, that's theoretically 361 prims. I don't really want to make something that requires having that many prims available to use. Of course, stones aren't placed on every space in a normal game, but it's usually over 200 and games exceeding 300 moves aren't that rare. I've seen one Go board before in SL, and it just used this method.
The first idea I came up with was to have textures for each possible configuration of a small portion of the board, then repeat that to make the full board. I realized that this wasn't going to work when I started figuring out the details. First, how big do I make the sub-sections? I discovered that 2x2 is probably the biggest that is feasible, and even that requires a pretty big number of textures. Each space can be either empty, have a white stone, or have a black stone. So for 2x2 sections I'd need 3^4 textures, or 81. If I went 3x3, that becomes 19683. But I'd also need different textures for the edge and corner pieces, because the grid lines would need to end at the edges instead of sticking through. Finally, there's the problem that 2x2 sections don't fit evenly into a 19x19 board (in fact, 19 is a prime number, so no possible section would fit evenly). This means I'd also need to have some different shaped sections (like a 1x2 and 1x1) . So the final tally is:
- 81 textures for the middle 2x2 sections
- 81 textures for the side 2x2 sections
- 81 textures for the corner 2x2 sections
- 9 textures for side 1x2 sections
- 3 textures for the corner 1x1 section
So 255 textures, plus I wouldn't even be saving that many prims. I'd need a 9x9 grid of 2x2 sections to make the 18x18 board, that's 81 prims. Then another 19 for the edge to make it a 19x19 grid. And I haven't even mentioned that all these different sizes and types of sections would make for a coding nightmare.
So the solution I'm considering now is to have one prim for the whole board, and have the board send an HTTP request to a web server that would take the current board configuration and send back a texture for the entire board. The texture would need to be generated on the fly, as storing all possible textures is literally impossible (even if I could store a texture on a single atom, there aren't enough atoms in the universe to store them all).
This last option seems the most feasible, even though it involves some things I haven't done before, such as HTTP requests with LSL. And there's also the issue of the HTTP server. I can run it on my own computer when I'm building this, but unless I'm just going to use the Go board for personal use, I'd need a dedicated machine to run the server.
If anyone has any insights about this or other methods, please let me know.
The first idea I came up with was to have textures for each possible configuration of a small portion of the board, then repeat that to make the full board. I realized that this wasn't going to work when I started figuring out the details. First, how big do I make the sub-sections? I discovered that 2x2 is probably the biggest that is feasible, and even that requires a pretty big number of textures. Each space can be either empty, have a white stone, or have a black stone. So for 2x2 sections I'd need 3^4 textures, or 81. If I went 3x3, that becomes 19683. But I'd also need different textures for the edge and corner pieces, because the grid lines would need to end at the edges instead of sticking through. Finally, there's the problem that 2x2 sections don't fit evenly into a 19x19 board (in fact, 19 is a prime number, so no possible section would fit evenly). This means I'd also need to have some different shaped sections (like a 1x2 and 1x1) . So the final tally is:
- 81 textures for the middle 2x2 sections
- 81 textures for the side 2x2 sections
- 81 textures for the corner 2x2 sections
- 9 textures for side 1x2 sections
- 3 textures for the corner 1x1 section
So 255 textures, plus I wouldn't even be saving that many prims. I'd need a 9x9 grid of 2x2 sections to make the 18x18 board, that's 81 prims. Then another 19 for the edge to make it a 19x19 grid. And I haven't even mentioned that all these different sizes and types of sections would make for a coding nightmare.
So the solution I'm considering now is to have one prim for the whole board, and have the board send an HTTP request to a web server that would take the current board configuration and send back a texture for the entire board. The texture would need to be generated on the fly, as storing all possible textures is literally impossible (even if I could store a texture on a single atom, there aren't enough atoms in the universe to store them all).
This last option seems the most feasible, even though it involves some things I haven't done before, such as HTTP requests with LSL. And there's also the issue of the HTTP server. I can run it on my own computer when I'm building this, but unless I'm just going to use the Go board for personal use, I'd need a dedicated machine to run the server.
If anyone has any insights about this or other methods, please let me know.
Monday, 5 November 2007
3D Desktop!
Subscribe to:
Posts (Atom)