SLOODLE is breaching the GPL

As SLOODLE is a GPL project, we are required to make source code available for everything we produce. This allows users to look at how things work, and it allows other developers to work on tools and contribute to the project and so on. Withholding this means we are breaching our own licence and damaging the future of SLOODLE.

However, since September 2009, SLOODLE has been breaching the GPL in exactly this way. I have made many repeated attempts since then via the issues tracker, forums, IMs, emails, and community meetings to have this resolved, but I have been ignored. Random other development sidetracks have been happily pursued while the responsibility for what we already have has been cast aside.

The problem is related to permissions on the SLOODLE in-world tools and scripts. Up to and including the latest “SLOODLE 1.0 Set revision 13″ the following issues exist:

  • The Vending Machine script is no-copy/no-mod, and it is not clear whether an up-to-date copy is in the repository.
  • The “Toolbar Giver” script is no-copy/no-mod and it is not in the repository.
  • The error message handler script in the LoginZone is no-copy/no-mod.

I know that in themselves, these are quite minor. And some of these issues can be worked around. However, there is a FOSS principle to be upheld, and there is the future of the project to consider.

I appreciate that it is sometimes difficult to identify every little detail of SL perms, and that it is often time-consuming. However, these issues have been explicitly identified (mostly by me) but consciously neglected for 4 months now. If I could have fixed them myself I would have done, but the perms issues mean that even I am prevented from doing so. (They also mean I am prevented from releasing SLOODLE Set updates myself, even if there is a critical bug to be resolved.)

So I ask yet again, please let’s get this sorted.


ADOdb function: GetUpdateSQL

I have been getting myself familiar with ADOdb by using it in a personal web-development project. I ran across this (rather poorly documented) member function in the database connection class: GetUpdateSQL. In principle, it looks like a very useful function. Given a recordset (which you’ve previously retrieved in a query) and some desired changes, it will generate a nice compatible UPDATE query string for you. However, I have found it to be a little disappointing for my needs.

Read the rest of this entry »


Zotero premium service

Get ZoteroThe team behind the open source Zotero citation management software has been actively developing “sync” functionality for quite some time now. It allows you to work with your references collection from multiple computers by storing the latest copy of your collection on the Zotero servers.

An optional part of the sync system allows you to store PDF files and such like in your collection (full-text copies of papers etc.). Zotero provides 100MB of storage free to everyone, but towards the end of 2009 they introduced an optional premium service, in conjuction with Digital Scholar.

Read the rest of this entry »


What is Standard Deviation?

The term “Standard Deviation” comes up quite a lot in certain types of research papers where statistics are mentioned. As a result, I have to wonder exactly what it tells us, why it is interesting, and how it works.

Thankfully the basic idea is fairly simple, so I don’t need extensive training in statistics to understand what it means. In fact, I just picked up an old copy of a statistics textbook at a second-hand book shop, and it tells me everything I need to know. (And a lot more that I probably don’t!)
Read the rest of this entry »


Making slugs with JavaScript and regular expressions

You will sometimes want to generate a suitable URL ’slug’ based on something the user has entered, such as the name of a blog post, or perhaps the name of a file which is being uploaded.

In order to ensure that your URLs are consistent, valid, and unambiguous, it is common to place the following restrictions on your slugs: allow only lowercase letters, numbers, and dashes (-). For example, a blog post called “Hello World!” might have a resulting slug of “hello-world”. Additionally, it is common to remove leading and trailing dashes from the final slug.

In this post, I’ll introduce a way of doing this in JavaScript.

Read the rest of this entry »


Another SL presentation tool: Slide Wheel

My supervisor (Daniel) and I were giving a SLOODLE presentation at a conference in Second Life today. When we were discussing it earlier this week, Daniel suggested a really novel way of presenting the slides… and since I’m never one to back down from a programming challenge, I built it!

The result is the Slide Wheel. All the slides in your presentation are displayed in a big wheel in mid-air. When you want to show a particular slide, the whole wheel rotates, and the current slide jumps to the foreground. I’ll upload a video of it soon, but for now, here’s a screenshot:

Screenshot of the new Slide Wheel presentation tool in Second Life

Slide Wheel screenshot

You can get this item free on XStreetSL, as I am releasing it open source. I am sorry it is not perfect yet, but the requests for me to make it available tell me it’s in high demand! Please give it a try, and contact me if you have any questions or if you find any bugs.

Happy presenting!


OpenGL gotcha: my particles are too small

As far as graphical effects go, a particle system is one of the most versatile. It can be used to simulate things like electrical sparks, dust clouds, smoke, fire, and water. However, there is one problem which I have been annoyed with several times in the past, but until now I hadn’t really bothered to fix it.

I would spend ages programming a particle effect, tweaking all the parameters to get it just right, and it would look fine at first. But then, on another computer, or on a different screen resolution, or even just with a different size of window, the effect suddenly wouldn’t look right. All the particles would be too small or too big.

You can see this problem in the image above. It shows a particle effect for a rocket thruster — the one on the left is how it should look, while the one on the right shows what happened when I roughly tripled the size of the game window.

Read the rest of this entry »


OpenGL gotcha: remember GL_LIGHT0

In my experimenting with some simple scene geometry and lighting today, I stumbled into the same pitfall I’ve strumbled into several times before (you’d think I would have learned by now!). While moving around the scene, I found that the lighting on surfaces appeared to change depending on my camera angle — if I looked at a polygon square-on, it seemed much brighter than if I was looking slightly away from it.

There are two common reasons for this problem…
Read the rest of this entry »


PHP4/5: Object orientation and compatibility

Some compatibility problems were reported following the release of SLOODLE 1.0, and they largely appear to centre around the object-oriented plugin system I developed for the Presenter module.

The idea is fairly simple. The SLOODLE core or 3rd party developers can create plugin classes to extend the functionality. These will all belong to a structured inheritance hiearchy, and will be automatically detected and loaded by the SLOODLE framework. However, it has been a big challenge maintaining compatibility for both PHP4 and PHP5, given that the object orientation of the language has changed so much in that time.

After considerable efforts, I think I’ve finally found the solution, and it’s infuriatingly inelegant.

Read the rest of this entry »


Epidemic security flaws

Automatic updating is becoming very widespread on the Windows platform at the moment, particularly with security software such as firewalls and antivirus. I will wholeheartedly agree that many users simply don’t have the time and/or inclination to learn how or why to initiate updates manually, so they are at risk without automatic updates. Additionally, the average user probably wouldn’t know or care that an update is going on. Even if a popup appears saying “update complete”, many users have tunnel vision or myopia, so they just won’t notice it.

Unfortunately, painting all users with the same brush leads to a big security flaw…

Read the rest of this entry »


« Previous Entries Next Entries »