There are several programming projects I'm playing with. This makes for a hodge-podge of links and I don't always take the time to make cleanly installable packages. Not good of me, I know.

If you have questions, feel free to email me.

Yet Another Virtual World Viewer

My current attempt at a 3D virtual world viewer is Basil which is an architecture around creating a viewer where a High Fidelity avatar can stand next to an OpenSimulator avatar.

I tried with the Looking Glass viewer (see ) but I never gave up on the idea of a viewer for virtual worlds. The documentation for Basil is scattered around with some on my blog, some with the projects on Github, and some covering the larger Herbal3D project of which Basil is just a part.

At the moment (April 2017), the focus is on a WebGL based viewer and building the infrastructure to view OpenSimulator virtual worlds with close work with the Halcyon simulator. Eventually, there will be an Unreal Engine version of the viewer and adaptors for other virtual worlds.

OpenSimulator (August 2014 to current)

I've been a core developer for OpenSimulator and have added BulletSim which is a port of the Bullet physics engine to the OpenSimulator virtual world simulator.

I've also added variable sized regions VarRegions which are non-legacy sized regions (not 256x256).

LookingGlass (July 2009)

LookingGlass Viewer Logo

Getting involved in C# and the OpenSimulator project, I set about writing a viewer. This got me into Ogre, C# and many other pieces of code.

The LookingGlass viewer now has it's own web site at and the sources are available in the OpenSimulator Project Forge. That place also collects bugs, features and other project management.

Dynamic loading of resources in Ogre is an artform. After wrestling with it for several weeks, I wrote up my solution in Dynamic Loading of Ogre Resources.

PlanetLab (March 2008)

PlanetLab is a global research platform for distributed service research. Once part of the network (universities and companies join by donating computers to the network), once can create virtual machines all over the world to develop and test new concepts in wildly distributed applications.

I wrote two and run one service on PlanetLab: