Arch Linux

Posted in Uncategorized with tags on January 2, 2011 by billmagee

It is a wise man who is able to look his own deficiencies in the face. Recently I have discovered that I am a distroholic. I simply cannot stop downloading Linux distros and running them in VirtualBox.

Usually, this is a harmless habit, but every now and then it results in a lost weekend (like so many habits).

Last weekend I discovered Arch Linux. I spent all weekend wiping computers and reinstalling Arch. Now I am the proud possessor of two laptops running this simple, lightweight Linux distribution.

Arch is a beautiful and elegant distro. Although all Linux distros give you control over your system, I finally feel completely in control of my computer.

Check out the website for Arch Linux here. Have a lost weekend!


#! Crunchbang

Posted in Uncategorized with tags , , , on November 19, 2010 by billmagee

Here at Wamlabs we believe in freedom of choice, and we always choose GNU/Linux.

Recently I acquired an Asus U45JC laptop eqipped with Nvidia Optimus. Optimus is a proprietary Window$ software that switches graphics functions between onboard Intel graphics and a Nvidia Geforce card. Linux users cannot access this card nor even turn it off. Nvidia’s despicable plan is clear: force all users to use W7. But I am not willing to become a Window$ mind-slave just to get better graphics. Onboard graphics will have to suffice (and they are not bad), until that happy day when brave Linux hackers break through the Optimus defenses. Just be careful when you buy your next laptop that it does not have this unfortunate technology in it.

Saddened by the efforts of corporate jackals to make a buck by limiting my personal freedom of choice, I fought with VirtualBox. VirtualBox allows users to run operating systems in a virtual machine without actually accessing the computer hardware. See With VirtualBox in place I went distro-hopping at DistroWatch and began downloading free operating systems. A great variety of Linux distros are available these days. Even if you are a Window$ user you can have the greatness of GNU on your computer with VirtualBox, all for free. In fact, you should install Linux in a VirtualBox if only order to surf the net without acquiring nasty viruses, trojans, and spyware.

Since I usually run the latest Ubuntu, I test-drove some excellent non-Ubuntu operating systems: Linux Mint, Linux Mint Debian Edition, Sabayon (Gentoo-based), Archlinux, Archbang, a distro I put together myself on the openSuse build service, and finally #!Crunchbang. All of these distros are reviewed on the web, so I will only say here that each and every one of them is far superior to anything Micro$oft has to offer.

I finally decided to commit to #! Statler Alpha 2 64 bit, a Debian Squeeze distro running Openbox. #! Statler is fast, fully-functional, and very stable. It boasts a famously friendly and knowledgable online community. Except for the fact that I had to install it from a CDROM instead of the more usual USB drive (some glitch I could not resolve) #! has been a peak OS experience. Perfect for marginal machines like my eeepc 901 and lightning-fast on newer machines like this laptop. See

Openbox has also been a great pleasure. It is a no-desktop windows manager that I am now using not only on #! but also to replace Gnome on my desktop Ubuntu Maverick machine. It is infinitely configurable through XML files. What joy! See

The moral of the story is, software is like sex: it’s better when it’s free.

OpenSim Tibetan Classroom

Posted in Uncategorized with tags , on January 11, 2010 by billmagee

OpenSimulator is a BSD Licensed Open Source virtual world capable of supporting standalone or grid-structured servers. Dharma Drum Buddhist College is currently running the Diva distribution of OpenSim on an Ubuntu 9.10 server.

The OpenSim Tibetan Classroom is a virtual environment for learning the Tibetan language. Facilities include:

  • TibSlate Realtime Writer
  • Cube of Tibetan Consonants
  • Tibetan Number Puzzle and Grammar Verse
  • The Collected Topics Set Arbiter
  • Wall of WylieWriters
  • Preset WylieWriter Lessons (with and without audio)
  • Tibetan Tutorial Viewscreen

Download the Tibetan Classroom OAR file: If you are running OpenSimulator and would like to have your own copy of the OpenSim Tibetan Classroom, you may download it here.

Students and teachers are also welcome to visit and use the Tibetan Classroom in Second Life: Catocala Region (167, 122, 600).

Helpful links:

Download the Diva distribution.

Consult the OpenSim Wiki.

Read about the OSGrid Open Metaverse.

Digital Resources for Buddhist Studies

Posted in Uncategorized on October 26, 2009 by billmagee

Lately I have been blogging about writing the Buddhist canonical languages in Second Life and OpenSim over at the Digital Resources for Buddhist Studies blog.

My colleagues over there are mainly database guys, so I thought a little metaverse chit-chat might liven things up.

Enjoy your digital resources!

Installing OpenSim-0.6.7

Posted in Uncategorized with tags on October 17, 2009 by billmagee

In my previous post I installed the Diva distribution of OpenSim and began porting my Tibetan language objects into it from Second Life. This has gone well. I have my complete Tibetan classroom running here behind the firewall on Dharma Drum Mountain. Diva has run splendidly. The only problems I have encountered involve saving and loading OARs (opensim archive files). There is a bug such that the OAR loads fine in the root region (SW) but loading an oar file in the other regions causes aproximately 30% of its prims to become phantom. See the bug report here:

Since I need to exchange OARs with other users, I decided to pass beyond the Diva distro by downloading and compiling the latest OpenSim release: opensim-0.6.7.

This tutorial is very limited: it will describe how I installed a standalone instance of OpenSim onto my Acer laptop running Ubuntu 9.04, mono 2.0.1, and MySQL. If you already use Ubuntu with these packages installed, read on. If you lack these packages or if you want a grid architecture instead of a standalone, I suggest you consult the OpenSim wiki:

Ubuntu users will also need to install these compiling tools:

sudo apt-get install mono-devel libmono-microsoft8.0-cil libmono-oracle2.0-cil nant

Use MySQL or phpmyadmin (or some other MySQL manager) to create a MySQL database named opensim or such. It does not need to be populated with tables at this point. I named my new database “opensimRelease” to differentiate it from my “opensim” diva database. Make sure you have privileges.

Download opensim source code from:

Unzip it into its own directory somewhere controlled by you.

Then compile:

$ ./
$ nant

If there are problems with the compilation, the problem may be your mono installation. Consult the internet. But if all went smoothly, you will need to configure for a standalone server. Begin by copying the OpenSim.ini.example file to an operational ini files:

cp OpenSim.ini.example OpenSim.ini

Now you will edit the ini file.

In OpenSim.ini all references to databases should look like this:

storage_connection_string=”Data Source=localhost;Database=yourdatabase;User ID=root;Password=yourpassword;”;

Use XEngine:

DefaultScriptEngine = “XEngine”

This is my network section:

ConsoleUser = “Test”
ConsolePass = “secret”
http_listener_port = 9000
default_location_x = 1000
default_location_y = 1000
http_listener_ssl = false ; Also create a SSL server
http_listener_cn = “localhost” ; Use the cert with the common name
http_listener_sslport = 9001 ; Use this port for SSL connections
http_listener_ssl_cert = “” ; Currently unused, but will be used for OSHttpServer
grid_server_url = “”
grid_send_key = “1234”
grid_recv_key = “1234”
user_server_url = “”
user_send_key = “1234”
user_recv_key = “1234”
asset_server_url = “”
inventory_server_url = “”
messaging_server_url = “”

Kill the evil dotnetengine:

Enabled = false

Now the StandaloneCommon.ini must be edited:

cp StandaloneCommon.ini.example to StandAlone.ini

edit it:

StorageProvider = “OpenSim.Data.MySQL.dll”
ConnectionString = “Data Source=localhost;Database=yourdatabasename;User ID=root;Password=yourpassword;”

At this point you should be able to run ./OpenSim.exe from the bin. It will ask you questions about your region. Your answers create a /bin/network/network.ini file. It should be configured like this:

[MY Cool World]
RegionUUID =
Location = 1000,1000
InternalAddress =
InternalPort = 9000
AllowAlternatePorts = False
ExternalHostName = your machine’s IP // Note: not
MasterAvatarFirstName = Master
MasterAvatarLastName = Avatar
MasterAvatarSandboxPassword = password

If all goes well you will be rewarded with a console prompt. Your region is now ready for use. Visit it with the SL client or Hippo (my favorite). Make sure your loginuri is set to or whatever your setup demands.

More regions can be added in the /bin/regions/regions.ini file. Each region needs a unique UUID (get them here: and the coordinates and ports must be increased incrementally. For instance, in the next region the coordinates might be 1000,1001 and the port might be 90001.

Now that I have OpenSim running in standalone mode, my next steps will be to configure it for grid mode and connect my world to the OSGrid.

Added next day: Sucessfully configured the installation to run in grid mode. The process is straighforward. All errors involved wrong port numbers, so be careful about ports. See the Grid Mode section of the wiki:

Moving to OpenSim

Posted in Uncategorized with tags on October 6, 2009 by billmagee

Wamlabs Mediatronics has been involved in virtual reality education since 2007. One of our projects, the Hopkins Tibetan Treasures Multimedia Archive (, boasts an innovative eLearning platform for teaching Tibetan language in Second Life ( Catocala 176,107,600). Tibetan students worldwide visit and use this unique facility.

Now, WLM boasts its own OpenSim ( virtual platform, currently running in stand-alone mode behind the Dharma Drum Buddhist College (Taiwan) campus firewall. We have begun porting the Catocala installation into this sim (using the XML capabilities of the Open Source Meerkat Viewer), and students have successfully connected to our virtual world via their own personal computers.


Terraforming without limitations

OpenSim is a BSD Licensed Open Source virtual world capable of supporting standalone or grid-structured servers. OpenSim is written in C#, and can run under Mono or the Microsoft .NET runtimes. Our sim is running the Diva distribution ( of OpenSim on a normal desktop machine running Ubuntu 9.04. Unlike other OpenSim distributions for linux, Diva is pre-compiled. Installation of the Diva software under Ubuntu is relatively straightforward assuming that the host machine already has a fully-functional Mono installation for LSL script comilation and MySQL database to manage persistence.

Wamlabs OpenSim home

Wamlabs OpenSim home

OpenSim has numerous advantages over the Second Life platform. Site administrators have complete control over all aspects of the sim. There are no corporate-imposed limitations on build size or number of prims allowed in-world. Entire regions can be backed up in XML format to the local hard drive for archival purposes or public distribution. Because it runs locally it is private and free of lag. Upgrades are handled seamlessly by the Diva distro. Since the software is cross-platform, an instance of OpenSim can be installed on almost any machine with two or more gigabites of RAM. Most importantly, it is Open Source and completely free.

Of course, there are disadvantages as well. The current release of OpenSim is alpha. Compared to Second Life, it has limited scripting and voice functionality and users must rely on forums and chat rooms to resolve bugs and other problems. However, these issues are being addressed by the core software developers. OpenSim is certainly usable now, and looks to become fully functional in future releases.

Our future plans include connecting our OpenSim to the OSGrid archipelago (, expanding its size beyond its current four regions, and hosting classes, conferences, and “visiting” dignitaries on our private, Open Source, virtual campus.

Download the Diva distribution here:

Consult the OpenSim wiki here:

Read about the Open Metaverse here:

A Tibetan Language Classroom in Second Life

Posted in Second Life with tags on April 12, 2009 by billmagee

I am pleased to announce the opening of the first Tibetan Language Classroom in Second Life.

Tibetan Classroom in Second Life

Tibetan Classroom in Second Life

This digital language-learning platform offers all of the pedagogical advantages of Second Life plus the following Tibetan-specific facilities:

* a programmed object (the Cube of Tibetan Consonants) for learning the Tibetan consonants;

* a programmed object (the Sliding Number Puzzle) for learning the Tibetan numerals;

* a configurable wall (the Wall of Wyliewriters) which parses Wylie Transliteration input into Tibetan;

* 28 pre-programmed lessons for the Wall of Wyliewriters;

* Yang-jen-ga-wa-lo-dro’s “yi ge’i thob thang nyer mkho rab gsal me long” (accessible when the Sliding Number Puzzle is solved);

* a mediatron for playing machinima tutorials;

* 3 machinima tutorials giving detailed explanations on using the facilities (see my web page);

The Tibetan Language Classroom in Second Life can be visited in the Catocala region (172,112,600). Feel free to test-drive the Cube, Puzzle, and Wall. Anyone who would like to conduct classes in the facility or who would like a free copy of the programmed objects should contact Wam7c Macchi in Second Life or email me:

William Magee, Ph.D.
Dharma Drum Buddhist College
Jinshan, Taiwan

Here is a link to the video: Tibetan Classroom in Second Life. Or view it from my web page.


Posted in Linux with tags , on March 22, 2009 by billmagee

Yesterday I successfully created a Second Life machinima video (with both microphone and game sound) using gtk-recordMyDesktop. Prior to this I had to boot Windows in order to make machinima. For an Ubuntu true-believer, this is unacceptable.

There are a number of Linux-based screen capture programs available. I have tested a few of them (xvidcap, Cinelerra, Istanbul, and some others) but I could not get the sound capture working right. Then my friend Fred Huffhines in Second Life (visit his Eepaw Shop in Smokey) suggested gtk-recordMyDesktop.

gtk-recordMyDesktop 0.3.8 download and documentation is available here: It is free and open source. On Ubuntu it installs into /usr/bin. Run it from there and it will open a graphical interface widget (the gtk part) that will allow you to select all or part of your desktop for screen capture.

Many people have difficulty getting getting the program to record both microphone sound and Second Life sound. In general, you need to have your sound mixer set for Mix or Wave: this setting will mix all the sounds you hear through your earphones into one channel for sound capture.

In Ubuntu Intrepid, I accomplished it this way:

1. I went into System/Preferences/Sound and set all options to Alsamixer (including setting the Default Mixer option to to SiS Sl7012 alsamixer) [NOTE: SiS is machine-specific. Your mixer name may vary.]

2. Then I ran /usr/bin/gnome-volume-control. Here, under the preferences option, I turned on Mix and Mic. I had to unmute the mike and turn it up. I also set the “Device” option to SiS Sl7012 alsamixer. [See above NOTE]

After I did this, gtk-recordMyDesktop gave me an excellent video recording with microphone and Second Life sounds mixed. The output file was in the .ogv format. I used the command tcprobe -i file.ogv to get info on it:

[tcprobe] OGG Multimedia Container
(probe_ogg.c) OGG stream 1 is of an unknown type (bad header?)
[tcprobe] summary for vidtest.ogv, (*) = not default, 0 = not detected
import frame size: -g -1080675528x-1207620440 \[720×576] (*)
frame rate: -f 0.952 [25.000] frc=0 (*)
audio track: -a 0 [0] -e 48000,0,2 [48000,16,2] -n 0xfffe [0x2000] (*)
bitrate=499 kbps

By the way, tcprobe is part of the transcode program.

Using Mplayer-nogui, I gave my machinima subtitles.

I used mencoder to convert my .ogv file to .avi:

mencoder filename.ogg -oac lavc -ovc lavc -lavcopts abitrate=160 -o filename.avi

(I found this command on Ubuntuforums — thanks to Janie70.)

Here is the info for the .avi file:

[tcprobe] RIFF data, AVI video
[avilib] V: 15.000 fps, codec=FMP4, frames=137, width=704, height=560
[avilib] A: 48000 Hz, format=0x50, bits=0, channels=2, bitrate=160 kbps,
[avilib] 373 chunks, 179040 bytes, VBR
[tcprobe] summary for vidtest.avi, (*) = not default, 0 = not detected
import frame size: -g 704×560 \[720×576] (*)
frame rate: -f 15.000 [25.000] frc=13 (*)
audio track: -a 0 \[0] -e 48000,0,2 [48000,16,2] -n 0x50 [0x2000] (*)
bitrate=160 kbps
length: 137 frames, frame_time=66 msec, duration=0:00:09.133

Finally I wanted a .mov version. Since I was in a hurry for a .mov version, I uploaded the .avi to

Here is the file info:

[tcprobe] Apple QuickTime movie file
[probe_mov.c] audio codec=twos
[probe_mov.c] video codec=yuv2
[tcprobe] summary for, (*) = not default, 0 = not detected
import frame size: -g 1280×948 [720×576] (*)
frame rate: -f 29.970 [25.000] frc=4 (*)
audio track: -a 0 [0] -e 22050,16,2 [48000,16,2] -n 0x1 [0x2000] (*)
length: 76 frames, frame_time=33 msec, duration=0:00:02.535

However, I believe I could have used avidemux to convert AVI to MOV using this command:

avidemux --load myfile.avi --output-format MPEG-4 --save --quit

Usually one needs to concatenate numerous AVI files into one big file. Use the cat command for this, then use mencoder to put video and sound back in sync.

mencoder -forceidx -oac copy -ovc copy intro_classroom.avi -o final.avi


OpenSim Grids

Posted in OpenSim with tags on January 4, 2009 by billmagee

Second Life is a bizarre and beautiful expression of the human spirit; testimony to the fact that a virtual world inspires the imagination of a hacker in much the same way that a blank canvas inspires a painter. Linden Labs, the San Francisco-based company that enabled the extravagant outpouring of creativity called Second Life, deserves our heartfelt gratitude. Still, they are a corporate entity, and like all corporations (and Universities) their bottom line is money, not people. This breaks my heart, for the cost in human suffering is always high. And as for elf suffering, follow this link to the migration of the elf clan from Second Life to OpenLife Grid.

Luckily, at least in the digital world, there are alternatives to heartless corporate greed-based programs. Open Source Software (OSS) projects are non-corporate volunteer efforts. Many of them function better than their bloated corporate counterparts (Linux and LaTex users know this to be true). Sometimes the learning curve on OSS software is slightly steeper (or even much steeper) than that of a corporate product. But it is a slope worth climbing.

The OpenSimulator Project is an OSS virtual world application that can be used by anyone ( Central grid and Openlife Grid are two increasingly popular virtual worlds using this software. Here is a learned quote about OpenSim from seanfitzgerald lifted from Bettina Tizzy’s recent blog on the Openlife Grid:

“OpenSim” – – is the open source platform that the Openlife Grid is based on. Opensim has been developed by independent developers in conjunction with developers from companies such as IBM and Microsoft.

What Linden Lab released as open source was their Second Life viewer. Despite popular misconception, OpenSim was not back-engineered from the Second Life viewer, but was built from the ground up.

OpenSim grids can be accessed via the official Second Life viewer or a range of other viewers compatible with it.

Openlife Grid is just one of many alternative grids based on OpenSim.

Currently I have not been able to visit any of these alternative grids, since my school’s IT policy inexplicably blocks my access to the ports needed. But I will have access later this month when I return home to the US. In fact, I intend to visit all the OpenSim grids.

Here is a complete list of OpenSim grids:

NOTE: it turns out that the elf clan is not migrating at this timel. See the latest
posts here:

Alas, there is no decent open alternative to Second Life yet. But there will be eventually…

Eloise Pasteur

Posted in Second Life on January 1, 2009 by billmagee

I am a big fan of Eloise Pasteur.  She is a major presence on the Second Life Educators List (SLED) and is the CEO of her own Educational Designs company in Second Life. When I first decided to invent a mediatron for the Tibetan language, I posted a question about it on SLED and Eloise gave me the code I needed. I have a link to her blog over there on the right. Here is a quote from one of her postings that I completely agree with:

First we have a question about approaches to the recession from Hightouch: If you’re an organisation that says people are your most important resource, why are you dismissing people before you consider closing buildings and working remotely with your people? It’s a good question – tiny, tiny organisations like Eloise Pasteur Educational Designs manage to work in a virtual environment. Great big ones like Department for Homeland Security and IBM manage it too. There are free to use tools such as Skype, Gizmo, Yuuguu etc. that let you work smoothly with distant people, and that cost nothing save some bandwidth and installation time. If you really believe your people are the most important resource, doesn’t finding a new way to work with them make sense?

I feel sorry for those who have been thrown out of work so their old companies can heat their big inefficient buildings.  Why can’t employers see the obvious? Buildings do not make money: people at work make money. The day is coming when people will wake up to the economic and human advantages of Virtual Worlds.