User:Dale Glass

From Second Life Wiki
Jump to navigation Jump to search

Evil Scripter and RL programmer.

Currently working on adding an avatar scanner to the SL client.


Avatar Scanner


  • Shows a list of all avatars known to the client. This can be easily more than a standard 96m scanner, and seems to depend on rendering distance.
  • Keeps an internal list of avatars, and continues showing avatars that disappeared in the list for several seconds to give people time to perform some action on them (intended to make it easier to deal with griefers that do something nasty, then teleport out)
  • Shows Linden accounts in bold. This will be expanded later to highlight people who are very new, don't have a credit card on file, etc depending on user configuration.
  • Allows easy access to IM, profiles, etc
  • Allows to start a conference to multiple avatars around you, the same way it works in the friends list.
  • Allows tracking an avatar by placing a beacon on it. In the case the selected avatar isn't a friend who gave map location permission, it works anyway by placing a beacon on the avatar's last known position. This of course only works so long the avatar being tracked is near enough to be seen by the user.
  • Automatically retrieves the birth date, account type and payment data for all users shown. The data is of course cached, and if this is too much of an extra load, I'll implement a permanent on-disk cache. If data doesn't arrive, it will retry with an exponential backoff (starting from 1 minute, doubling until 30 minutes)
  • Displays activity status: new, left the area, emitting particles, moving, playing sound
  • Allows moving the camera to the avatar with a double click, as well as cycling the camera between all or only the marked avatars
  • Partial TrustNet integration: retrieves scores, but can't rate yet

What is not done yet, but will be:

  • Integration with my TrustNet system. See here for details:

  • Integration with resident-run databases. For example, I've been asked whether I could make it automatically query a website with a database of buyers to be able to tell people who are using avatars made with copybot, for instance.
  • Buttons for administrative actions such as ban/eject/freeze/etc
  • Add activity status for typing and rezzing objects
  • Also longer term, option to make the client stop rendering an avatar completely.

Status: Beta

SVN Repository:

TrustNet Integration

With the disappearance of SL ratings, I'm working on a replacement based on my TrustNet system. Current status is very experimental but with some functional code.

Here's a screenshot of what it looks like.

Status: Alpha

SVN Repository:

Viewer/Script Communication

This is a hack to let a script talk to the viewer.

Status: Stable

SVN Repository:

Keyboard Hack

This is a viewer hack to make it transmit every keypress as a message on a channel. Used to implement an in-world keyboard that shows the real keypresses while the user is typing. General usage is discouraged, as this multiplies by 20-50 times the amount of chat messages sent to the sim and LL probably wouldn't like this sort of thing to be used widely.

Status: Stable, but needs cleaning up and improvements.

SVN Repository:


Subversion Repository

The repository is located at


Current branches are:

  • buildfixes_1-18-0: 1.18.0 source, plus small compilation changes, for building with gcc4 and VC++ 2005. No functional changes here. Adds my installer.
  • realkeyboard: Silly patch that sends each keypress on a channel. Used to create a keyboard in SL that reflects my real keypresses.
  • viewercomm: Viewer/object communication patch
  • avatarscanner: Avatar scanner patch
  • trustnet: Support for my reputation system
  • branding: Branding changes: Different menu bar color, send crash reports to
  • release: Merge of various branches. This is where my installers are made from.
  • trunk: Currently unused
  • log_object_owners: Show owners and location of speaking objects in chat history

How to get a patch

People sometimes ask me if I have patches. Currently I don't make them, because you can easily create an up to date one. Here's how:

$ svn diff<branch> > patch

For example, to get a patch with my avatar scanner:

$ svn diff > avatar-scanner.patch

This will create a patch with the difference between my buildfixes branch and another. This should apply cleanly to pristine sources.

Branch Graph

Some branches are fed changes from others. This graph shows the hierarchy.

Daleglass branch graph.png


My release branch (see above) is periodically packaged into an installer. If you get this, have in mind this is completely unofficial and unsupported by Linden Lab. Don't report bugs you find in it to LL.

This version will try to send crash reports to me, and not to LL. Updates will be downloaded from my server as well.


The latest installer can be found at

There's no autoupdate mechanism yet.


I don't create Linux packages yet. You'll have to get the source from SVN and build it

I may start making packages if there is demand.


I don't currently use BSD, so you'll have to get the source from SVN and build it


I don't have any Mac hardware, so I can't create packages for it. I'm not currently planning to buy any either.

This means that Mac users will have to build it from source, or get somebody to integrate my changes and create a package for them.

Despite this, anybody using it on a Mac is welcome to submit bug reports. If it's a Mac specific problem, I will appreciate information on how to fix it. The bug reporter will be expected to test the results for me, since I can't.

Building viewer on Ubuntu 8.10 (Intrepid Ibex)

Instructions in progress for quickly building the viewer under Ubuntu, in standalone mode:

Install these packages:

apt-get install g++ mesa-common-dev libglu1-mesa-dev libstdc++6.4.3-dev libx11-dev zlib1g-dev libssl-dev pkg-config libvorbis-dev libdb4.6-dev libapr1-dev libboost-dev libc-ares-dev libcurl4-openssl-dev libxmlrpc-epi-dev libopenjpeg-dev libjpeg-dev libpng-dev libsdl-dev libpango1.0-dev libgtk2.0-dev libgstreamer-plugins-base0.10-dev

Optionally, to use llmozlib:

apt-get install subversion cvs libglib-dev libidl-dev
svn co
cd llmozlib2
gcc_version=`readlink /usr/bin/gcc | sed -r "s/^.*?-//'
sed 's/GCC_VERSION=.*$/GCC_VERSION=${gcc_version}/" build_mozilla/linux-libxul-bits/mozconfig  > build_mozilla/linux-libxul-bits/mozconfig.tmp
mv -f build_mozilla/linux-libxul-bits/mozconfig.tmp build_mozilla/linux-libxul-bits/mozconfig
cd build_mozilla

To build, artwork is needed.

wget $artwork
unzip $artwork

Ubuntu doesn't come with the right version of cmake, build it:

tar -xzvf cmake-2.6.2.tar.gz
cd cmake-2.6.2
make install


View the issues Dale Glass has filed at