<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Arthursv</id>
		<title>OpenSimulator - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Arthursv"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/Arthursv"/>
		<updated>2026-05-06T09:26:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/wiki/Development_Team</id>
		<title>Development Team</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Development_Team"/>
				<updated>2010-11-27T09:27:23Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ {{Template:Quicklinks}} &lt;br /&gt;
&lt;br /&gt;
[[Technical Reference|Technical Reference]] -&amp;amp;gt; [[Technical Reference/terms|Terms]] -&amp;amp;gt; [[Development Team|Core Development Team]] &lt;br /&gt;
&lt;br /&gt;
== Active Core Developers  ==&lt;br /&gt;
&lt;br /&gt;
Developers who have commit access to our central server, are [http://www.ohloh.net/projects/4753/contributors regular contributors] to the codebase, and have voting rights over development and process issues of the OpenSimulator project. See [[Organization]].&lt;br /&gt;
&lt;br /&gt;
* '''Only voted in developers are listed here, please do not list yourself'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! IRC Nick &lt;br /&gt;
! Name&lt;br /&gt;
! SL Avatar&lt;br /&gt;
! Other Grid&lt;br /&gt;
! Time Zone&amp;lt;br&amp;gt;(UTC)&lt;br /&gt;
! Org&lt;br /&gt;
! Areas of Interest&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Adam Frisby|Adam Frisby]]&lt;br /&gt;
| Adam Frisby&lt;br /&gt;
| Adam Zaius&lt;br /&gt;
| &lt;br /&gt;
| +8&lt;br /&gt;
| DeepThink Pty Ltd&lt;br /&gt;
| Terrain, Performance&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Chi11ken|chi11ken]]&lt;br /&gt;
| Jeff Ames&lt;br /&gt;
| Chillken Proto&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| +9&lt;br /&gt;
| [http://www.genkii.com Genkii]&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Justincc|justincc]]&lt;br /&gt;
| Justin Clark-Casey&lt;br /&gt;
| Lulworth Beaumont&lt;br /&gt;
| Justin Clark-Casey (all other grids)&lt;br /&gt;
| 0&lt;br /&gt;
| [http://justincc.org/blog justincc's OpenSim blog]&lt;br /&gt;
| Grid, performance &amp;amp;amp; reliability, inventory (avatar and object), assets, scenes, OARs, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Dahlia|dahlia]]&lt;br /&gt;
| T. Hoff&lt;br /&gt;
| Dahlia Trimble&lt;br /&gt;
| &lt;br /&gt;
| -8 / -7&lt;br /&gt;
| Independent&lt;br /&gt;
| Collision geometry, various math and physics issues, occasional bug fixes and random enhancements&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Melanie T|Melanie_T]]&lt;br /&gt;
| Melanie&lt;br /&gt;
| Melanie Milland&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| +1&lt;br /&gt;
| Independent&lt;br /&gt;
| Scripting, Prims/Scene, Life, The Universe, and Everything&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Diva|Diva]]&lt;br /&gt;
| Crista Lopes&lt;br /&gt;
| Diva Canto&lt;br /&gt;
| Crista Lopes / Diva Canto&lt;br /&gt;
| -8&lt;br /&gt;
| University of California, Irvine&lt;br /&gt;
| Everything, except databases&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| jhurliman&lt;br /&gt;
| John Hurliman&lt;br /&gt;
| John Hurliman&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| Intel&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| dslake&lt;br /&gt;
| Dan Lake&lt;br /&gt;
| Dan Lake&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| Intel&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Marck|Marck00]]&lt;br /&gt;
| M. Kirsch&lt;br /&gt;
| Marck Kjeller&lt;br /&gt;
| &lt;br /&gt;
| +1&lt;br /&gt;
| Independent&lt;br /&gt;
| Everything that catches my attention and that I can get my head around.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Core Developers Following the White Rabbit ==&lt;br /&gt;
&lt;br /&gt;
Core developers who have temporarily (we hope) gone chasing the white rabbit. They are in all similar to the active core developers, except that they haven't been that active lately, so their voting rights are awaiting their come back. &lt;br /&gt;
&lt;br /&gt;
* '''Only voted in developers are listed here, please do not list yourself'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! IRC Nick &lt;br /&gt;
! Name&lt;br /&gt;
! SL Avatar&lt;br /&gt;
! Other Grid&lt;br /&gt;
! Time Zone&amp;lt;br&amp;gt;(UTC)&lt;br /&gt;
! Org&lt;br /&gt;
! Areas of Interest&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Lbsa71|lbsa71]]&lt;br /&gt;
| Stefan Andersson&lt;br /&gt;
| Tribal Skytower&lt;br /&gt;
| OSG:Stefan Andersson&amp;lt;br&amp;gt;TN:Stefan Andersson&lt;br /&gt;
| +1&lt;br /&gt;
| [http://tribalmedia.se/ Tribal Media AB]&lt;br /&gt;
| Web Integration&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:MW|MW]]&lt;br /&gt;
| Darren&lt;br /&gt;
| Wright Juran&lt;br /&gt;
| &lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
| Everything&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| ckrinke&lt;br /&gt;
| Charles&amp;amp;nbsp;Krinke&lt;br /&gt;
| Charlesk&amp;amp;nbsp;Bing&lt;br /&gt;
| &lt;br /&gt;
| -8&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
| Reliability/Grid servers/ll-functions&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Mikem|mikem]]&lt;br /&gt;
| Mike Mazur&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| +9&lt;br /&gt;
| Independent&lt;br /&gt;
| Patches, scripting improvements, LSL compiler&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:HomerHorwitz|homerh]]&lt;br /&gt;
| Homer Horwitz&lt;br /&gt;
| Homer Horwitz&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| +2&lt;br /&gt;
| Independent&lt;br /&gt;
| Rev. engineering, &amp;quot;now, that's funny&amp;quot; problems, but still interested in all parts of it&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Nlin|nlin]]&lt;br /&gt;
| N Lin&lt;br /&gt;
| Standard Drucker&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| +9&lt;br /&gt;
| [http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br&amp;gt;http://www.3di.jp/en/&lt;br /&gt;
| Physics, scripting, more to come&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Arthursv|arthursv]]&lt;br /&gt;
| Arthur Valadares&lt;br /&gt;
| &lt;br /&gt;
| NONE&lt;br /&gt;
| -8&lt;br /&gt;
| University of California, Irvine&lt;br /&gt;
| Unit testing, database plugins, bug fixes, general &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:DrScofield|drscofld]]&lt;br /&gt;
| Dirk Husemann&lt;br /&gt;
| Dr Scofield&lt;br /&gt;
| &lt;br /&gt;
| +1&lt;br /&gt;
| [http://xyzzyxyzzy.net/ xyzzyxyzzy.net]&lt;br /&gt;
| Reliability, networking protocols, inventory, assets, remote control, voice, and pretty much everything else&amp;amp;nbsp;:-)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:Teravus|Teravus]]&lt;br /&gt;
| Daniel Olivares&lt;br /&gt;
| Teravus Ousley&lt;br /&gt;
| &lt;br /&gt;
| -5&lt;br /&gt;
| W3z&lt;br /&gt;
| Physics &amp;amp;amp; Admin tools, A working sim.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Retired Core Developers ==&lt;br /&gt;
&lt;br /&gt;
Core developers who have transcended our mortal plane, i.e. they are no longer directly engaged with the project. Thank you forever for your contributions!&lt;br /&gt;
&lt;br /&gt;
* '''Only formerly voted in developers are listed here, please do not list yourself'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! IRC Nick &lt;br /&gt;
! Name&lt;br /&gt;
! SL Avatar&lt;br /&gt;
! Other Grid&lt;br /&gt;
! Time Zone&amp;lt;br&amp;gt;(UTC)&lt;br /&gt;
! Org&lt;br /&gt;
! Areas of Interest&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Babblefrog|babblefrog]]&lt;br /&gt;
| Brian McBee&lt;br /&gt;
| Dogen Coldstream&lt;br /&gt;
| Babblefrog Ballistic (osgrid)&lt;br /&gt;
| -8&lt;br /&gt;
| Disorganized&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Danx0r|danx0r]]&lt;br /&gt;
| Dan Miller&lt;br /&gt;
| Albert Pascal&lt;br /&gt;
| &lt;br /&gt;
| -8&lt;br /&gt;
| squiggle.com&lt;br /&gt;
| PHEEZIKS; everything&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Tleiades&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
| Tleiades&amp;amp;nbsp;Hax&lt;br /&gt;
| &lt;br /&gt;
| +1&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
| Grid servers/Database&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Darok|Darok]]&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
| Darok Kaminski&lt;br /&gt;
| &lt;br /&gt;
| +1&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
| Physics engines (especially BulletX)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Gareth / Gwen&lt;br /&gt;
| Gareth Nelson&lt;br /&gt;
| Gareth Ellison&lt;br /&gt;
| Gareth Nelson (on everywhere but SL)&lt;br /&gt;
| BST (UTC+1)&lt;br /&gt;
| Litesim Ltd&lt;br /&gt;
| Grid servers, sim border crossing, avatar animations&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Dalien|dalien]]&lt;br /&gt;
| Dalien Talbot&lt;br /&gt;
| Dalien Talbot&lt;br /&gt;
| &lt;br /&gt;
| +1&lt;br /&gt;
| Mostly TCP-based&lt;br /&gt;
| Small fixes; rev.eng./prototyping; nightlies; git-keeper &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[Alondria]]&lt;br /&gt;
| &lt;br /&gt;
| Alondria LeFay&lt;br /&gt;
| Alondria LeFay (OSGrid)&lt;br /&gt;
| -8&lt;br /&gt;
| Independent&lt;br /&gt;
| Implementation of LSL functions and other scripting tidbits.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:SeanDague|sdague]]&lt;br /&gt;
| Sean Dague&lt;br /&gt;
| Neas Bade&lt;br /&gt;
| &lt;br /&gt;
| -5&lt;br /&gt;
| IBM&lt;br /&gt;
| Database, Linux, Testing, Misc&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[User:MingChen|MingChen]]&lt;br /&gt;
| Mike/Michael Ortman&lt;br /&gt;
| Ming Chen&lt;br /&gt;
| &lt;br /&gt;
| -6 (-5 in Summer)&lt;br /&gt;
| DeepThink Pty Ltd&lt;br /&gt;
| Estate/Parcel Support/Modules/Keeping things all neat and tidy.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Tedd|Tedd]]&lt;br /&gt;
| Tedd Hansen&lt;br /&gt;
| Tedd Maa&lt;br /&gt;
| &lt;br /&gt;
| +1&lt;br /&gt;
| Tedd Hansen&lt;br /&gt;
| Programming/Scripting/Architecture&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Adjohn|adjohn]]&lt;br /&gt;
| Adam Johnson&lt;br /&gt;
| Zeuz Zenovka&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| +9&lt;br /&gt;
| [http://www.genkii.com Genkii]&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [[User:Joha1|joha1]]&lt;br /&gt;
| Johan Berntsson&lt;br /&gt;
| Joppi Brandenburg&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| +9&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
| Performance, packet handling/libSL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Additional Developers/Testers/Contributors  ==&lt;br /&gt;
&lt;br /&gt;
These people have contributed and/or are contributing bug reports, patches, testing, and all sorts of other goodies to the project. &amp;lt;br&amp;gt; '''New comers please add yourself to bottom of the list!''' &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! IRC Nick &lt;br /&gt;
! Name &lt;br /&gt;
! SL Avatar &lt;br /&gt;
! Other Grid &lt;br /&gt;
! Time Zone&amp;lt;br&amp;gt;(UTC) &lt;br /&gt;
! Org &lt;br /&gt;
! Areas of Interest&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Jtclark48|jclark4]] &lt;br /&gt;
| Jay Clark &lt;br /&gt;
| Jay Clarke &lt;br /&gt;
| &lt;br /&gt;
| -5 &lt;br /&gt;
| IBM &lt;br /&gt;
| Physics, Grid Host, AI, Scripting, Testing&lt;br /&gt;
|-&lt;br /&gt;
| [[User:AdamStevenson|BigFootAg]] &lt;br /&gt;
| Adam Stevenson &lt;br /&gt;
| Adamus Petrov &lt;br /&gt;
| &lt;br /&gt;
| -6 &lt;br /&gt;
| Texas A&amp;amp;amp;M University &lt;br /&gt;
| AI, Skynet, Evolving Systems, Biology&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Jeff1564|Jeff1564]] &lt;br /&gt;
| Jeff &lt;br /&gt;
| Potter Taurog &lt;br /&gt;
| Potter Taurog &lt;br /&gt;
| -8 &lt;br /&gt;
| http://myopengrid.com &lt;br /&gt;
| Building, Scripting, Testing&lt;br /&gt;
|-&lt;br /&gt;
| Rock_Vacirca &lt;br /&gt;
| Colin Withers &lt;br /&gt;
| Rock Vacirca &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| +1 &lt;br /&gt;
| http://rock-vacirca.blogspot.com &lt;br /&gt;
| Testing, building, scripting, maintaining an opensim blog.&lt;br /&gt;
|-&lt;br /&gt;
| simsim &lt;br /&gt;
| caocao &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| +9 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Testing whole functions of OpenSim system,working with OpenSim-Engine,reporting on OpenSim&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Vicero Lambert|Vicero Lambert]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Magi|Magi]] &lt;br /&gt;
| Andy Agnew &lt;br /&gt;
| Magi Merlin &lt;br /&gt;
| &lt;br /&gt;
| +10 &lt;br /&gt;
| Spun Pty Ltd &lt;br /&gt;
| 3D Web Integration, Database stuff and playing with the odds and ends box.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:ClarkZone|ClarkZone]] &lt;br /&gt;
| Troy Admin(@ClarkZone) &lt;br /&gt;
| Troy Childs &lt;br /&gt;
| Troy Admin (ClarkZone) &lt;br /&gt;
| -5 &lt;br /&gt;
| Http://clarkzone.dyndns.org &lt;br /&gt;
| Tester and Grid Host&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Aiaustin|aiaustin]] &lt;br /&gt;
| Ai Austin &lt;br /&gt;
| Ai Austin &lt;br /&gt;
| Ai Austin &lt;br /&gt;
| +0 &lt;br /&gt;
| AIAI, Virtual University of Edinburgh&amp;lt;br&amp;gt;http://www.aiai.ed.ac.uk/~ai/&amp;lt;br&amp;gt;http://vue.ed.ac.uk/openvue/ &lt;br /&gt;
| Windows tests&amp;lt;br&amp;gt;Content testing&amp;lt;br&amp;gt;Use of multiple VWs&lt;br /&gt;
|-&lt;br /&gt;
| Marc Manders &lt;br /&gt;
| Marc Manders &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| +6 &lt;br /&gt;
| marcmanders@gmail.com &lt;br /&gt;
| Creative features&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Balthazar|balthazar]] &lt;br /&gt;
| Trevor Brooks &lt;br /&gt;
| Balthazar Sin &lt;br /&gt;
| &lt;br /&gt;
| -5 &lt;br /&gt;
| None &lt;br /&gt;
| Terrains, testing and some small coding tasks&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Jimbo2120|jimbo2120]] &lt;br /&gt;
| Michael Osias &lt;br /&gt;
| Illuminous Beltran &lt;br /&gt;
| &lt;br /&gt;
| -5 &lt;br /&gt;
| IBM &lt;br /&gt;
| Grid, AI, Skynet, coding and testing&lt;br /&gt;
|-&lt;br /&gt;
| ZeroPoint &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Guilderoy&amp;amp;nbsp;Dench &lt;br /&gt;
| &lt;br /&gt;
| -5 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Programming/Database&lt;br /&gt;
|-&lt;br /&gt;
| [[User:DerekTang|DerekTang]] &lt;br /&gt;
| Derek Tang &lt;br /&gt;
| Derek Timeless &lt;br /&gt;
| Derek Tang (ChineseGrid) &lt;br /&gt;
| +8 &lt;br /&gt;
| http://ChineseGrid.net &lt;br /&gt;
| Running a public WINDOWS sim for testing, Docs, Helping Chinese users to enjoy OpenSim; building Chinese OpenSim communities. In construction...&lt;br /&gt;
|-&lt;br /&gt;
| [[User:TayB|TayB]] &lt;br /&gt;
| Earl Balai &lt;br /&gt;
| Taylor Dae &lt;br /&gt;
| &lt;br /&gt;
| -10 &lt;br /&gt;
| WhynGrid &lt;br /&gt;
| Grid Host,Networking,Contributions &amp;amp;amp; Testing.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:JamieDav|JamieDav]] &lt;br /&gt;
| Jamie David &lt;br /&gt;
| Jamie David &lt;br /&gt;
| &lt;br /&gt;
| +7 &lt;br /&gt;
| Forum &lt;br /&gt;
| Grid, Sim, Avitar, Functionality&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Krtaylor|Krtaylor]] &lt;br /&gt;
| Kurt Taylor &lt;br /&gt;
| Kurt Stringer &lt;br /&gt;
| &lt;br /&gt;
| -6 &lt;br /&gt;
| IBM &lt;br /&gt;
| Grid, Networking, Monitoring, Scripting, Inventory, Testing&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Nink|Nink]] &lt;br /&gt;
| Peter Finn &lt;br /&gt;
| Nink Noonan &lt;br /&gt;
| &lt;br /&gt;
| -5 &lt;br /&gt;
| IBM &lt;br /&gt;
| Disruptive Influence.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Bruce|Bruce]] &lt;br /&gt;
| Bruce Meerson &lt;br /&gt;
| Bruce Meerson &lt;br /&gt;
| &lt;br /&gt;
| +8 &lt;br /&gt;
| HiPiHi &lt;br /&gt;
| Watching.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Darb|DarbD]] &lt;br /&gt;
| Brian B. Quinn &lt;br /&gt;
| Darb Dabney &lt;br /&gt;
| regions&amp;lt;br&amp;gt;near Marin &lt;br /&gt;
| PST/SLT (-7 or -8) &lt;br /&gt;
| County of Marin, California&amp;lt;br&amp;gt; http://blog.simgis.com &lt;br /&gt;
| LiDAR-based sculpties, real-world terrain, &amp;lt;br&amp;gt;pursuit of civic paraverses&lt;br /&gt;
|-&lt;br /&gt;
| [[CharlieO]] &lt;br /&gt;
| Dan &lt;br /&gt;
| Charlie Omega &lt;br /&gt;
| &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Mild coding/tweaking/simple feature adds, Stress testing/break stuff, Testing limits of existing code. Making sure [[LSL Status]] is up to date&lt;br /&gt;
|-&lt;br /&gt;
| oobscure &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Opensource Obscure &lt;br /&gt;
| &lt;br /&gt;
| +1 &lt;br /&gt;
| http://www.opensim.it &lt;br /&gt;
| Running a public Linux sim for testing, Docs, Helping italian users, Building opensim communities, Watching&lt;br /&gt;
|-&lt;br /&gt;
| pitman &lt;br /&gt;
| Mike Pitman &lt;br /&gt;
| Rez Tone &lt;br /&gt;
| &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| IBM &lt;br /&gt;
| Scientific visualization schemes, virt world product design, persistant workspaces, virt world based big biz&lt;br /&gt;
|-&lt;br /&gt;
| Shenlei &lt;br /&gt;
| Shenlei Winkler&lt;br /&gt;
| Shenlei Flasheart, Shenlei Winkler &lt;br /&gt;
| &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Fashion Research Institute &lt;br /&gt;
| Product Design and Development, Apparel industry, and o yes, I wrote the book&amp;amp;nbsp;;)&lt;br /&gt;
|-&lt;br /&gt;
| cmu &lt;br /&gt;
| Christopher Mumme &lt;br /&gt;
| Snook Destiny &lt;br /&gt;
| &lt;br /&gt;
| +1 &lt;br /&gt;
| http://www.cmu-develop.de/ and research group &amp;quot;Collaboration Systems and CSCW&amp;quot; at Clausthal University of Technology &lt;br /&gt;
| Testing OpenSim, working with OpenSim-Engine, reporting on OpenSim&lt;br /&gt;
|-&lt;br /&gt;
| [[Silpol]] &lt;br /&gt;
| Andriy Tymchenko &lt;br /&gt;
| Andy Tir &lt;br /&gt;
| &lt;br /&gt;
| EET (+2/3) &lt;br /&gt;
| http://silpol.blogspot.com/ (also visible at Nokia) &lt;br /&gt;
| Highly uncoordinated mess with elements of palace games, under-table diplomacy, rebellion, coup d'état and mutiny. optionally pirate&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Grumly|Grumly]] &lt;br /&gt;
| &lt;br /&gt;
| Forest Klaar &lt;br /&gt;
| Grumly TheBear &lt;br /&gt;
| GMT+1 &lt;br /&gt;
| .NET MCAD Dev/Arch/Trainer http://www.devoteam.com &lt;br /&gt;
| Trying to get into OpenSim code for now. Particularly interrested in data persistence. blog (Hello, Avatar!): http://lslblog.free.fr&lt;br /&gt;
|-&lt;br /&gt;
| [[DaTwitch]] &lt;br /&gt;
| James G. Stallings II &lt;br /&gt;
| &amp;lt;br&amp;gt;Lazarus Longstaff &lt;br /&gt;
| Hiro Protagonist (OSGrid) &lt;br /&gt;
| -5 &lt;br /&gt;
| House Husband &lt;br /&gt;
| OSGrid Region owner, OSGrid Operator,&amp;lt;br&amp;gt;Forum Admin, sometime wiki editor&lt;br /&gt;
|-&lt;br /&gt;
| gryc &lt;br /&gt;
| Gryc Ueusp &lt;br /&gt;
| Gryc Uriza &lt;br /&gt;
| Gryc Uriza(OSGrid) &lt;br /&gt;
| -6 &lt;br /&gt;
| &lt;br /&gt;
| PHP scripting, web interfaces, interconnectivity, cross-platformedness&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Phrearch|Phrearch]] &lt;br /&gt;
| Jeroen van Veen &lt;br /&gt;
| Phrearch Miles &lt;br /&gt;
| Phrearch Miles(OSGrid) &lt;br /&gt;
| Amsterdam/Paris &lt;br /&gt;
| &lt;br /&gt;
| HWIOS, WiXTD, Wikidoc, Moo, User interfaces&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Burnman|Burnman]] &lt;br /&gt;
| Allen&lt;br /&gt;
| Burnman Bedlam &lt;br /&gt;
| &lt;br /&gt;
| Boston, USA &lt;br /&gt;
| &lt;br /&gt;
| Testing, testing, and more testing! Getting familiar with the source, interested in all aspects of the project.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Krisbfunk|krisbfunk]] &lt;br /&gt;
| Kris Bulman &lt;br /&gt;
| Krisbfunk Vought &lt;br /&gt;
| Krisbfunk Nocturnal(OSGrid) &lt;br /&gt;
| PE, Canada (-4) &lt;br /&gt;
| Edactive Technologies&amp;lt;br&amp;gt;NocturnalEye Productions&amp;lt;br&amp;gt;UPEI &lt;br /&gt;
| Currently: Testing, bug reports, wiki updating, building on OSGrid&lt;br /&gt;
|-&lt;br /&gt;
| [[User:HashBox|HashBox]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Sibariel Darkstone &lt;br /&gt;
| Sibariel Darkstone (OSGrid) &lt;br /&gt;
| New Zealand (+12) &lt;br /&gt;
| &lt;br /&gt;
| Testing, bug reports, and updating the wiki.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Kinoc|Kinoc]] &lt;br /&gt;
| Kino Coursey &lt;br /&gt;
| Daxxon Jaxxon &lt;br /&gt;
| Daxxon Kinoc (OSgrid) &lt;br /&gt;
| -6 &lt;br /&gt;
| Daxtron Laboratories &amp;lt;br&amp;gt; http://www.daxtron.com&amp;lt;br&amp;gt; University of North Texas &lt;br /&gt;
| AI, Semantic web, Ontologies, Natural Laanguage Processing, Cyc, Bots, NPC&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Trapuh|trapuh]] &lt;br /&gt;
| Pedro Ribeiro &lt;br /&gt;
| Vaiten Forder &lt;br /&gt;
| &lt;br /&gt;
| GMT &lt;br /&gt;
| University Student, Escola Superior de Educação de Viseu, Portugal &lt;br /&gt;
| Testing, eventual bug reports and wiki. Music, web/digital arts and php+sql.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:SonicViz|SonicViz]] &lt;br /&gt;
| Paul Cohen &lt;br /&gt;
| Komuso Tokugawa &lt;br /&gt;
| &lt;br /&gt;
| +9 &lt;br /&gt;
| Http://sonicviz.com &lt;br /&gt;
| Audio/Music, Interactive Music, Control Protocols, Interfaces, VisualFX, Procedural animation/Generative systems + testing and general dev&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Mokele|mokele]] &lt;br /&gt;
| Scott Norman &lt;br /&gt;
| Mokelembembe Mokeev &lt;br /&gt;
| &lt;br /&gt;
| -8 (Southern California) &lt;br /&gt;
| Web Developer (PHP and MySQL) &lt;br /&gt;
| Interested in seeing running on PowerPC Macs which it is. So, when I can, I'll compile and test on PowerPC Mac (PowerBook G4) and submit reports and then update the wiki if need on installing on Mac. Also have a Ubuntu 7.10 server that I can do testing on too.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Devalnor|devalnor]] &lt;br /&gt;
| Devalnor &lt;br /&gt;
| M. Watkin &lt;br /&gt;
| &lt;br /&gt;
| +1 (Belgium) &lt;br /&gt;
| &lt;br /&gt;
| Small Patch code, bug reports, and updating the wiki.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Ezekiel|Ezekiel]] &lt;br /&gt;
| Ezekiel &lt;br /&gt;
| Ezekiel Zabelin &lt;br /&gt;
| &lt;br /&gt;
| +1 &lt;br /&gt;
| http://www.yosims.com &lt;br /&gt;
| Concepts, business aspects of virtual worlds - web developer (PHP, MySQL, Javascript, LSL)&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Buggmaster|Buggmaster]] &lt;br /&gt;
| Mike D &lt;br /&gt;
| Bug Master &lt;br /&gt;
| None &lt;br /&gt;
| -8 &lt;br /&gt;
| http://www.adultmetaverse.com &lt;br /&gt;
| Grid, Data/Web PHP/PERL/MySQL&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Nixnerd|nixnerd]] &lt;br /&gt;
| &lt;br /&gt;
| Dangerously Moody &lt;br /&gt;
| None &lt;br /&gt;
| GMT &lt;br /&gt;
| http://www.integratedtechnologies.eu &lt;br /&gt;
| Cross Platform Testing, Feedback, Bug Reporting&lt;br /&gt;
|-&lt;br /&gt;
| [[User:MoHax|mohax]] &lt;br /&gt;
| Mo Hax &lt;br /&gt;
| Mo Hax &lt;br /&gt;
| &lt;br /&gt;
| -5 Eastern &lt;br /&gt;
| IBM &lt;br /&gt;
| Testing, Feedback, Content Contributions, Bug Reporting, Documenting, Development&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Webmage|webmage]] &lt;br /&gt;
| webmage &lt;br /&gt;
| Leyla Masala &lt;br /&gt;
| Web Mage &lt;br /&gt;
| +1 &lt;br /&gt;
| IBM &lt;br /&gt;
| Testing, terrain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:NLStitch|NLStitch]] &lt;br /&gt;
| Marijn Oosterveld &lt;br /&gt;
| Stitch Seale &lt;br /&gt;
| NYA &lt;br /&gt;
| GMT +1 Amsterdam &lt;br /&gt;
| Twingate Systems (http://www.twingate.nl)&amp;lt;br&amp;gt;HanzeHogeschool Groningen, Netherlands &lt;br /&gt;
| Programming, Photography, AI&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Ideia Boa|Ideia Boa]] &lt;br /&gt;
| Joao Lopes &lt;br /&gt;
| Ideia Boa &lt;br /&gt;
| Ideia Boa or Boa Ideia in some grids &lt;br /&gt;
| GTM+1 Stockholm/Sweden &lt;br /&gt;
| WorldSimTERRA - Virtual World that speaks Portuguese too&amp;lt;br&amp;gt;http://www.worldsimterra.com &lt;br /&gt;
| Testing and more testing! Updating the original wiki and translating the OpenSim Wiki into Portuguese and reporting on OpenSim&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Lulurun|lulurun]] &lt;br /&gt;
| liu &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| +9 &lt;br /&gt;
| 3Di Inc, Japan &amp;lt;br&amp;gt;http://www.3di.jp &lt;br /&gt;
| Patches, openid, server performance, UGAI&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Carlosroundel|Carlosrounde]] &lt;br /&gt;
| Carlosroundel &lt;br /&gt;
| Carlos Roundel &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| +1 &lt;br /&gt;
| Cyberlandia Italy&amp;lt;br&amp;gt;http://www.cyberlandia.net &lt;br /&gt;
| Grid, programmer, database, tester&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Mikebert|Mikebert]] &lt;br /&gt;
| Michael Strunck &lt;br /&gt;
| Mikebert Miles &lt;br /&gt;
| Mikebert M34 &lt;br /&gt;
| +1 &lt;br /&gt;
| OpenSIM Wiki, Germany&amp;lt;br&amp;gt;http://www.opensim.de &lt;br /&gt;
| German Wiki, Translater, Server Performance (Linux/Windows), Tester, Feedback, Bug Reporting, Server-Hosting&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Fly-man-|Fly-Man-]] &lt;br /&gt;
| Laurence &lt;br /&gt;
| &lt;br /&gt;
| Fly Man &lt;br /&gt;
| +1 &lt;br /&gt;
| &lt;br /&gt;
| Testing, OpenSimSearch, OpenSimProfile&lt;br /&gt;
|-&lt;br /&gt;
| Taoki &lt;br /&gt;
| Mircea Kitsune / Taoki Vixen &lt;br /&gt;
| Mircea Kitsune (OSGrid) / Mircea Lobo (LL grid) &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| GMT +2 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Usually testing and bug reporting but I also make smaller patches where I know what to do.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Patnad|Patnad]] &lt;br /&gt;
| Patrick &lt;br /&gt;
| Patnad Babii &lt;br /&gt;
| Patnad Babii (OSGrid) &lt;br /&gt;
| GMT -5 &lt;br /&gt;
| RezzMe Technologies&amp;lt;br&amp;gt;http://www.rezzme.com &lt;br /&gt;
| Bug testing and reporting, I code C# and have submitted a few patches&lt;br /&gt;
|-&lt;br /&gt;
| [[User:^DarkMan|^DarkMan]] &lt;br /&gt;
| Brian Adair &lt;br /&gt;
| Patrick Ouachita &lt;br /&gt;
| Brian Adair &amp;amp;#124; Patrick Meta &lt;br /&gt;
| -6 CST &lt;br /&gt;
| RealMetaLife &amp;amp;#124; B&amp;amp;amp;H Networking &lt;br /&gt;
| Building, Scripting, Testing, etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Tlaukkan|Tommi Laukkanen]] &lt;br /&gt;
| Tommi Laukkanen &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Tommi Laukkanen &lt;br /&gt;
| +2 GMT &lt;br /&gt;
| http://www.bubblecloud.org &lt;br /&gt;
| Protocols ([http://www.bubblecloud.org MXP]), NHibernate, Scrip API, Map Generation, Bug Fixes, Grid Hosting&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Mystical|Mystical]] &lt;br /&gt;
| Kevin Tweedy &lt;br /&gt;
| Mystical Demina &lt;br /&gt;
| Mystical Demina &lt;br /&gt;
| -5 &lt;br /&gt;
| Extreme Reality Grid&amp;lt;br&amp;gt;http://www.XRGrid.com &lt;br /&gt;
| Windows Communication Framework, Windows Workflow,Entity Framework, MSSQL&amp;lt;br&amp;gt;Enhancements,Commerce, Content,DotNetNuke based portal, development services&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Godfrey|Godfrey]] &lt;br /&gt;
| Jeff Lee &lt;br /&gt;
| Warin Cascabel &lt;br /&gt;
| &lt;br /&gt;
| -5 (EST5EDT) &lt;br /&gt;
| &lt;br /&gt;
| Testing, minor bugfixes. Scripting, building, animating&lt;br /&gt;
|-&lt;br /&gt;
| Jamenai &lt;br /&gt;
| Christopher Händler &lt;br /&gt;
| Jamenai Luik &lt;br /&gt;
| Jamenai Luik &lt;br /&gt;
| +1 &lt;br /&gt;
| Playneko Grid &amp;amp;#124; XIMDEX Jamenai&amp;lt;br&amp;gt;http://www.playneko.de&amp;lt;br&amp;gt;http://www.ximdex.de &lt;br /&gt;
| Performance,Bug Reporting, Hosting, Grid-Owner,(PHP, MySQL, Perl, JavaScript, LSL)&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Bikcmp|bikcmp]] &lt;br /&gt;
| Jason &lt;br /&gt;
| Jake1500 Allen &lt;br /&gt;
| Jason Helios (The Helios Grid) &lt;br /&gt;
| EST &lt;br /&gt;
| Blue Software &lt;br /&gt;
| Search, groups, land, and currency&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Mark.malewski|Slipaway]] &lt;br /&gt;
| Mark Malewski &lt;br /&gt;
| Chris Rock &lt;br /&gt;
| &lt;br /&gt;
| -6 (-5 during summer - CDT) &lt;br /&gt;
| NexTECH / Joopla &lt;br /&gt;
| Web development &amp;amp;amp; systems integration, terrain, WIKI documentation, tutorials, testing, bug reporting and feedback.&lt;br /&gt;
|-&lt;br /&gt;
| barakademi &lt;br /&gt;
| Steve Topp &lt;br /&gt;
| barakademi Barzane &lt;br /&gt;
| same avi on baragrid OSgrid Grid4us sciencesim &lt;br /&gt;
| utc+1 (CET) paris &lt;br /&gt;
| http://xbot-sl.barakademi.org http://vps.barakademi.org/oswi http://vps.barakademi.org/oswi/loginscreen.php &lt;br /&gt;
| Music LiveMusic MetaverseMusic Opensim Libomv Mono-2.4 Linux (suse,debian,ubuntu) Admin Scripting Automating Development Intergration php mysql bash nant +++&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Robert d|robert_d]] &lt;br /&gt;
| Robert Dzikowski &lt;br /&gt;
| &lt;br /&gt;
| OSGrid: robert_d 13 &lt;br /&gt;
| UTC+1 &lt;br /&gt;
| [http://blog.rd-it.net http://blog.rd-it.net] &lt;br /&gt;
| Region Modules, Tutorials&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Snoopy2|Snoopy2]] &lt;br /&gt;
| Snoopy Pfeffer &lt;br /&gt;
| Snoopy Pfeffer &lt;br /&gt;
| Snoopy Pfeffer &lt;br /&gt;
| &lt;br /&gt;
| [http://www.3dmetaverse.com/ http://www.3dmetaverse.com/] &lt;br /&gt;
| Region Hosting, Open Metaverse, 3D Web, server and viewers, service management&lt;br /&gt;
|-&lt;br /&gt;
| john_ &lt;br /&gt;
| John&amp;amp;nbsp;Moyer &lt;br /&gt;
| VAJohn&amp;amp;nbsp;GeekSquad or&amp;amp;nbsp;Matthew&amp;amp;nbsp;Kendal &lt;br /&gt;
| &lt;br /&gt;
| -5 &lt;br /&gt;
| Best&amp;amp;nbsp;Buy/Geek&amp;amp;nbsp;Squad &lt;br /&gt;
| Tester&lt;br /&gt;
|-&lt;br /&gt;
| [[User:W!cKeD|_WicKeD]] &lt;br /&gt;
| Maik &lt;br /&gt;
| Maik Galaxy &lt;br /&gt;
| El Diablo &lt;br /&gt;
| +1 Germany &lt;br /&gt;
| Creatio Inc. / [http://www.OpenSimGerman.us/ OpenSimGerman.us] &lt;br /&gt;
| German Support, Translator, Building, Scripting, Testing, Hosting&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Stevie Wakowski|Stevie Wakowksi]] &lt;br /&gt;
| Steve Roberts &lt;br /&gt;
| Stevie Wakowski &lt;br /&gt;
| &lt;br /&gt;
| +10 Australia &lt;br /&gt;
| IBM &lt;br /&gt;
| OpenSim builds, Linux, Modrex, bug reporting, evangalist for OpenSim in business applications.&lt;br /&gt;
|-&lt;br /&gt;
| Revolution&lt;br /&gt;
| Matthew&lt;br /&gt;
| Revolution Smythe &lt;br /&gt;
| Revolution Smythe &lt;br /&gt;
| -6 Central USA &lt;br /&gt;
| None&lt;br /&gt;
| Script engine, physics engine, general odd bugs, interesting and odd things&lt;br /&gt;
|-&lt;br /&gt;
| [[User:ClemsonGS|clemsonGS]] &lt;br /&gt;
| Brian Cass &lt;br /&gt;
| BC Sands &lt;br /&gt;
| Brian Cass (VWC Grid) &lt;br /&gt;
| -5 &lt;br /&gt;
| http://www.cvwconline.org/ &lt;br /&gt;
| Developing virtual worlds for use in higher education&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| AlexRa &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Independent &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Robert Adams &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Looking Glass Viewer &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Mikko Pallari &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Realxtend &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| StrawberryFride &lt;br /&gt;
| Chris Hart &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ReactionGrid &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[User:RemedyTomm|RemedyTomm]] &lt;br /&gt;
| Tom Grimshaw &lt;br /&gt;
| Tomm Remedy &lt;br /&gt;
| KGrid: Casper Warden OSGrid: Tomm Remedy &lt;br /&gt;
| UTC+0 (BST) &lt;br /&gt;
| Remedy Communications &lt;br /&gt;
| Texture pipeline, Groups, ObjectUpdates&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Rob Smart &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| IBM &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| MicheilMerlin&lt;br /&gt;
| Micheil Merlin &lt;br /&gt;
| Micheil Merlin &lt;br /&gt;
| Micheil Merlin &lt;br /&gt;
| -6 &lt;br /&gt;
| Independent &amp;lt;br&amp;gt; [http://www.iliveisl.com/ http://www.iliveisl.com/] &lt;br /&gt;
| Scripting, patches, and testcases&lt;br /&gt;
|-&lt;br /&gt;
| Pato Donald &lt;br /&gt;
| Pato Donald &lt;br /&gt;
| Morgam Biedermann &lt;br /&gt;
| Pato Donald &lt;br /&gt;
| -3 &lt;br /&gt;
| Independent [http://www.matheusmk3.co.cc/ http://www.matheusmk3.co.cc/ &lt;br /&gt;
| Groups, Scripts, Physics, Communication, Integration&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Apelles|Apelles]] &lt;br /&gt;
| Apelles Noel &lt;br /&gt;
| Sungo Inshan &lt;br /&gt;
| amrssc - soon &lt;br /&gt;
| -5 Eastern &lt;br /&gt;
| http://amrssc.com &lt;br /&gt;
| Developing Virtual Worlds For Use In Education - Learning - Inventor++&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Sera Marx &lt;br /&gt;
| Darkfire Soulstar &lt;br /&gt;
| &lt;br /&gt;
| +12 &lt;br /&gt;
| Radiance promotions &lt;br /&gt;
| Grid Host, Commissioner. ~ Anyone looking for work related to the development of Opensimulator or Viewers please contact me. Any work undertaken for me will be returned to Opensimulator unless made strictly for my Grid&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Doug Osborn &lt;br /&gt;
| &lt;br /&gt;
| Doug Osborn @ScienceSim &lt;br /&gt;
| PST/SLT (-7 or -8) &lt;br /&gt;
| CTO, F.R.I. &lt;br /&gt;
| Performance testing, scripting, high prim count builds, bots, and running in-world conferences.&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Hallow Palmer|Hallow Palmer]] &lt;br /&gt;
| Markus &lt;br /&gt;
| Hallow Palmer &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| +1 &lt;br /&gt;
| Grid4Us&amp;lt;br&amp;gt;http://www.grid4us.net &lt;br /&gt;
| Server Performance (Windows), Tester, Feedback, Business concepts,Bug Reporting, Server-Hosting&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LenaVanilli|LenaVanilli]] &lt;br /&gt;
| Lena Vanilli &lt;br /&gt;
| Lena Vanilli &lt;br /&gt;
| Lena Vanilli &lt;br /&gt;
| +1 Germany&lt;br /&gt;
| [http://www.hypergrid.org http://www.hypergrid.org] &lt;br /&gt;
| Grid-Management, Testing Testing Testing, Region Hosting&lt;br /&gt;
|-&lt;br /&gt;
| [[User:aduffy70|aduffy70]] &lt;br /&gt;
| Aaron Duffy &lt;br /&gt;
| Aeran Stipe &lt;br /&gt;
| Aaron Duffy @ScienceSim &lt;br /&gt;
| -7&lt;br /&gt;
| USU  &lt;br /&gt;
| Scientific visualization &amp;amp; education, Region modules, Heavily scripted regions&lt;br /&gt;
|-&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]] [[Category:Development]] [[Category:Tech_Reference]] [[Category:Help]]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Drawing_commands</id>
		<title>Drawing commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Drawing_commands"/>
				<updated>2009-08-31T13:39:24Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Graphics Primitive Drawing Commands==&lt;br /&gt;
&lt;br /&gt;
===Ellipse===&lt;br /&gt;
&lt;br /&gt;
;Ellipse float width, float height;&lt;br /&gt;
:Draws an ellipse with the current pen size and color.&lt;br /&gt;
&lt;br /&gt;
:The ellipse is drawn with the specified width and height (in pixels), centered on a point which is (width/2) pixels to the right of the pen's current X position, and (height/2) pixels below the pen's current Y position. After the ellipse is drawn, the width and height values are added to the pen's X and Y position, respectively.&lt;br /&gt;
&lt;br /&gt;
:Although the parameters accept floating-point values, anything after a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;Ellipse 100,100;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Polygon===&lt;br /&gt;
;Polygon string xpoints, string ypoints;&lt;br /&gt;
:Draws an unfilled polygon, using current pen size and color.&lt;br /&gt;
&lt;br /&gt;
:The polygon is drawn following a sequence of x and y points given to the method (in the order that they are given), finally closing in the first one. Although the parameters accept floating-point values, anything after a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;Polygon 50,50,100,100,50,150,50;&amp;quot;; // This creates a triangle using points (50,50)(100,100)(150,50)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FillPolygon===&lt;br /&gt;
;FillPolygon string xpoints, string ypoints;&lt;br /&gt;
:Draws a filled polygon, using current pen size and color.&lt;br /&gt;
&lt;br /&gt;
:The polygon is drawn following a sequence of x and y points (in pixels) given to the method (in the order that they are given), finally closing in the first. Although the parameters accept floating-point values, anything after a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;FillPolygon 50,50,100,100,50,150,50;&amp;quot;; // This creates a triangle using points (50,50)(100,100)(150,50)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rectangle===&lt;br /&gt;
&lt;br /&gt;
;Rectangle float width, float height;&lt;br /&gt;
:Draws an unfilled rectangle, using the current pen size and color.&lt;br /&gt;
&lt;br /&gt;
:The rectangle is drawn at the specified width and height (in pixels), with the upper left corner of the rectangle placed at the pen's current position. After the rectangle is drawn, the width and height values are added to the pen's X and Y position, respectively.&lt;br /&gt;
&lt;br /&gt;
:Although the parameters accept floating-point values, anything after a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;Rectangle 150,75;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FillRectangle===&lt;br /&gt;
&lt;br /&gt;
;FillRectangle float width, float height;&lt;br /&gt;
:Draws a rectangle, bordered and filled with the current pen size and color.&lt;br /&gt;
&lt;br /&gt;
:The rectangle is drawn at the specified width and height (in pixels), with the upper left corner of the rectangle placed at the pen's current position. After the rectangle is drawn, the width and height values are added to the pen's X and Y position, respectively.&lt;br /&gt;
&lt;br /&gt;
:Although the parameters accept floating-point values, anything after a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;FillRectangle 150,75;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Image===&lt;br /&gt;
&lt;br /&gt;
;Image float height, float width, string URL;&lt;br /&gt;
:Retrieves an image specified by the URL parameter and draws it at the specified height and width, with the upper left corner of the image placed at the pen's current position. After the image is drawn, the width and height values are added to the pen's X and Y position, respectively.&lt;br /&gt;
&lt;br /&gt;
:If the URL points to an invalid location, an image type not supported by libgdi, or a non-image MIME type, nothing is drawn. If either or both of the '''width''' or '''height''' parameters are zero or negative, nothing is drawn, but the image is still retrieved.&lt;br /&gt;
&lt;br /&gt;
:Although the '''width''' and '''height''' parameters accept floating-point values, anything after a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;Image 293,62,&amp;lt;nowiki&amp;gt;http://opensimulator.org/skins/osmonobook/images/headerLogo.png&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===LineTo===&lt;br /&gt;
&lt;br /&gt;
;LineTo float x, float y;&lt;br /&gt;
:Draws a line from the pen's current location to the specified coordinates, using the pen's current color and width.&lt;br /&gt;
&lt;br /&gt;
:After the line is drawn, the specified coordinates become the pen's new current location.&lt;br /&gt;
&lt;br /&gt;
:Although the parameters accept floating-point values, anything after a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;LineTo 640,480;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveTo===&lt;br /&gt;
&lt;br /&gt;
;MoveTo float x, float y;&lt;br /&gt;
:Updates the pen's current position to the coordinates provided in the parameters. Nothing is drawn.&lt;br /&gt;
&lt;br /&gt;
:Although the parameters accept floating-point values, anything after a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;MoveTo 570,23;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PenColour===&lt;br /&gt;
&lt;br /&gt;
;PenColour string NewColor;&lt;br /&gt;
:Sets the pen's drawing color to either the specified [http://msdn.microsoft.com/en-us/library/aa358802.aspx named .NET color] or to a 32-bit color value (formatted as eight hexadecimal digits in the format aarrggbb, representing the eight-bit alpha, red, green and blue channels).&lt;br /&gt;
&lt;br /&gt;
:For full opacity, use an alpha value of ff (e.g. &amp;lt;tt&amp;gt;ffff0000&amp;lt;/tt&amp;gt; for red); for varying degrees of transparency, reduce the alpha value (e.g. &amp;lt;tt&amp;gt;800000ff&amp;lt;/tt&amp;gt; for half-transparent blue).&lt;br /&gt;
&lt;br /&gt;
:The color names and hexadecimal color representations are not case-sensitive.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;PenColour MidnightBlue;&amp;quot;;&lt;br /&gt;
CommandList += &amp;quot;PenColour ff191970;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PenSize===&lt;br /&gt;
&lt;br /&gt;
;PenSize float width;&lt;br /&gt;
:Sets the pen size to a square of '''width''' pixels by '''width''' pixels. If '''width''' is an odd number, the pen will be exactly centered on the coordinates provided in the various drawing commands; if it is an even number, it will be centered slightly higher and to the left of the actual coordinates.&lt;br /&gt;
&lt;br /&gt;
:Although the parameter accepts a floating-point value, anything following a decimal point will be ignored.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;PenSize 5;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PenCap===&lt;br /&gt;
&lt;br /&gt;
;PenCap string direction, string type;&lt;br /&gt;
:ATTENTION: THIS METHOD WORKS ONLY ON .NET, MONO DOES NOT HAVE CAPS CORRECTLY IMPLEMENTED ON LIBGDI+ &lt;br /&gt;
:Sets the pens cap start, end or both to a cap style. &lt;br /&gt;
&lt;br /&gt;
:Possible values for direction are (case-insensitive): &amp;lt;b&amp;gt;&amp;quot;start&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;both&amp;quot;&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Possible values for type are (case-insensitive): &amp;lt;b&amp;gt;&amp;quot;arrow&amp;quot;,&amp;quot;diamond&amp;quot;,&amp;quot;round&amp;quot;,&amp;quot;flat&amp;quot;&amp;lt;/b&amp;gt;(default)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
CommandList += &amp;quot;PenCap start,arrow;&amp;quot;; //Draws an arrow at the end of the next line drawn (with LineTo)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsSetPenCap</id>
		<title>OsSetPenCap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsSetPenCap"/>
				<updated>2009-08-28T21:30:25Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]] -&amp;gt; [[OsSetPenCap | osSetPenCap]]&lt;br /&gt;
&lt;br /&gt;
ATTENTION: THIS METHOD WORKS ONLY ON WINDOWS FOR NOW. LIBGDI+ HAS A FAKE IMPLEMENTATION AND WILL NOT DRAW IT.&lt;br /&gt;
&lt;br /&gt;
LSL: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&amp;lt;br /&amp;gt;&lt;br /&gt;
C#: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appends a [[Drawing_commands#PenCap|PenCap]] drawing command to the string provided in '''drawList''' and returns the result.&lt;br /&gt;
&lt;br /&gt;
This sets the pen's start or/and end cap to either &amp;quot;diamond&amp;quot;, &amp;quot;arrow&amp;quot;, &amp;quot;round&amp;quot;, or default &amp;quot;flat&amp;quot; shape. It can set them in the &amp;quot;end&amp;quot; or &amp;quot;start&amp;quot; of the line, or &amp;quot;both&amp;quot;. Possible values are (case insensitive):&lt;br /&gt;
&amp;lt;p&amp;gt;Type:&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;arrow&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;diamond&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;round&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;flat&amp;quot;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Direction:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&lt;br /&gt;
&amp;quot;start&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;end&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;both&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt; Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osSetPenCap&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        string CommandList = &amp;quot;&amp;quot;;                              // Storage for our drawing commands&lt;br /&gt;
        integer i;&lt;br /&gt;
&lt;br /&gt;
        CommandList = osSetPenSize( CommandList, 5 );         // Set the pen width to 5 pixels. With 1 pixel, arrow is very hard to see&lt;br /&gt;
        CommandList = osSetPenCap(&amp;quot;start&amp;quot;, &amp;quot;arrow&amp;quot;);          // Sets the beggining of the line with an arrow&lt;br /&gt;
        CommandList = osMovePen(drawList,50,100);             // Moves pen to 50,100&lt;br /&gt;
        CommandList = osLineTo(drawList, 100,150);            // Draws line from 50,100 to 100,150&lt;br /&gt;
&lt;br /&gt;
        osSetDynamicTextureData( &amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, CommandList, &amp;quot;&amp;quot;, 0 );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsSetPenCap</id>
		<title>OsSetPenCap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsSetPenCap"/>
				<updated>2009-08-28T21:28:17Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]] -&amp;gt; [[OsSetPenCap | osSetPenCap]]&lt;br /&gt;
&lt;br /&gt;
ATTENTION: THIS METHOD WORKS ONLY ON WINDOWS FOR NOW. LIBGDI+ HAS A FAKE IMPLEMENTATION AND WILL NOT DRAW IT.&lt;br /&gt;
&lt;br /&gt;
LSL: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&amp;lt;br /&amp;gt;&lt;br /&gt;
C#: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appends a [[Drawing_commands#PenCap|PenCap]] drawing command to the string provided in '''drawList''' and returns the result.&lt;br /&gt;
&lt;br /&gt;
This sets the pen's start or/and end cap to either &amp;quot;diamond&amp;quot;, &amp;quot;arrow&amp;quot;, &amp;quot;round&amp;quot;, or default &amp;quot;flat&amp;quot; shape. It can set them in the &amp;quot;end&amp;quot; or &amp;quot;start&amp;quot; of the line, or &amp;quot;both&amp;quot;. Possible values are (case insensitive):&lt;br /&gt;
&amp;lt;p&amp;gt;Type:&amp;lt;b&amp;gt;&lt;br /&gt;
&amp;quot;arrow&amp;quot;&lt;br /&gt;
&amp;quot;diamond&amp;quot;&lt;br /&gt;
&amp;quot;round&amp;quot;&lt;br /&gt;
&amp;quot;flat&amp;quot;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Direction:&lt;br /&gt;
&amp;lt;b&amp;gt;&lt;br /&gt;
&amp;quot;start&amp;quot;&lt;br /&gt;
&amp;quot;end&amp;quot;&lt;br /&gt;
&amp;quot;both&amp;quot;&lt;br /&gt;
&amp;lt;/b&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osSetPenCap&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        string CommandList = &amp;quot;&amp;quot;;                              // Storage for our drawing commands&lt;br /&gt;
        integer i;&lt;br /&gt;
&lt;br /&gt;
        CommandList = osSetPenSize( CommandList, 5 );         // Set the pen width to 5 pixels. With 1 pixel, arrow is very hard to see&lt;br /&gt;
        CommandList = osSetPenCap(&amp;quot;start&amp;quot;, &amp;quot;arrow&amp;quot;);          // Sets the beggining of the line with an arrow&lt;br /&gt;
        CommandList = osMovePen(drawList,50,100);             // Moves pen to 50,100&lt;br /&gt;
        CommandList = osLineTo(drawList, 100,150);            // Draws line from 50,100 to 100,150&lt;br /&gt;
&lt;br /&gt;
        osSetDynamicTextureData( &amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, CommandList, &amp;quot;&amp;quot;, 0 );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsSetPenCap</id>
		<title>OsSetPenCap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsSetPenCap"/>
				<updated>2009-08-28T21:28:05Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]] -&amp;gt; [[OsSetPenCap | osSetPenCap]]&lt;br /&gt;
&lt;br /&gt;
ATTENTION: THIS METHOD WORKS ONLY ON WINDOWS FOR NOW. LIBGDI+ HAS A FAKE IMPLEMENTATION AND WILL NOT DRAW IT.&lt;br /&gt;
&lt;br /&gt;
LSL: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&amp;lt;br /&amp;gt;&lt;br /&gt;
C#: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appends a [[Drawing_commands#PenCap|PenCap]] drawing command to the string provided in '''drawList''' and returns the result.&lt;br /&gt;
&lt;br /&gt;
This sets the pen's start or/and end cap to either &amp;quot;diamond&amp;quot;, &amp;quot;arrow&amp;quot;, &amp;quot;round&amp;quot;, or default &amp;quot;flat&amp;quot; shape. It can set them in the &amp;quot;end&amp;quot; or &amp;quot;start&amp;quot; of the line, or &amp;quot;both&amp;quot;. Possible values are (case insensitive):&lt;br /&gt;
&amp;lt;p&amp;gt;Type:&amp;lt;b&amp;gt;&lt;br /&gt;
&amp;quot;arrow&amp;quot;&lt;br /&gt;
&amp;quot;diamond&amp;quot;&lt;br /&gt;
&amp;quot;round&amp;quot;&lt;br /&gt;
&amp;quot;flat&amp;quot;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&lt;br /&gt;
Direction:&lt;br /&gt;
&amp;quot;start&amp;quot;&lt;br /&gt;
&amp;quot;end&amp;quot;&lt;br /&gt;
&amp;quot;both&amp;quot;&lt;br /&gt;
&amp;lt;/b&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osSetPenCap&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        string CommandList = &amp;quot;&amp;quot;;                              // Storage for our drawing commands&lt;br /&gt;
        integer i;&lt;br /&gt;
&lt;br /&gt;
        CommandList = osSetPenSize( CommandList, 5 );         // Set the pen width to 5 pixels. With 1 pixel, arrow is very hard to see&lt;br /&gt;
        CommandList = osSetPenCap(&amp;quot;start&amp;quot;, &amp;quot;arrow&amp;quot;);          // Sets the beggining of the line with an arrow&lt;br /&gt;
        CommandList = osMovePen(drawList,50,100);             // Moves pen to 50,100&lt;br /&gt;
        CommandList = osLineTo(drawList, 100,150);            // Draws line from 50,100 to 100,150&lt;br /&gt;
&lt;br /&gt;
        osSetDynamicTextureData( &amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, CommandList, &amp;quot;&amp;quot;, 0 );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsSetPenCap</id>
		<title>OsSetPenCap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsSetPenCap"/>
				<updated>2009-08-28T21:27:36Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]] -&amp;gt; [[OsSetPenCap | osSetPenCap]]&lt;br /&gt;
&lt;br /&gt;
ATTENTION: THIS METHOD WORKS ONLY ON WINDOWS FOR NOW. LIBGDI+ HAS A FAKE IMPLEMENTATION AND WILL NOT DRAW IT.&lt;br /&gt;
&lt;br /&gt;
LSL: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&amp;lt;br /&amp;gt;&lt;br /&gt;
C#: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appends a [[Drawing_commands#PenCap|PenCap]] drawing command to the string provided in '''drawList''' and returns the result.&lt;br /&gt;
&lt;br /&gt;
This sets the pen's start or/and end cap to either &amp;quot;diamond&amp;quot;, &amp;quot;arrow&amp;quot;, &amp;quot;round&amp;quot;, or default &amp;quot;flat&amp;quot; shape. It can set them in the &amp;quot;end&amp;quot; or &amp;quot;start&amp;quot; of the line, or &amp;quot;both&amp;quot;. Possible values are (case insensitive):&lt;br /&gt;
&amp;lt;p&amp;gt;Type:&lt;br /&gt;
&amp;quot;arrow&amp;quot;&lt;br /&gt;
&amp;quot;diamond&amp;quot;&lt;br /&gt;
&amp;quot;round&amp;quot;&lt;br /&gt;
&amp;quot;flat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Direction:&lt;br /&gt;
&amp;quot;start&amp;quot;&lt;br /&gt;
&amp;quot;end&amp;quot;&lt;br /&gt;
&amp;quot;both&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osSetPenCap&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        string CommandList = &amp;quot;&amp;quot;;                              // Storage for our drawing commands&lt;br /&gt;
        integer i;&lt;br /&gt;
&lt;br /&gt;
        CommandList = osSetPenSize( CommandList, 5 );         // Set the pen width to 5 pixels. With 1 pixel, arrow is very hard to see&lt;br /&gt;
        CommandList = osSetPenCap(&amp;quot;start&amp;quot;, &amp;quot;arrow&amp;quot;);          // Sets the beggining of the line with an arrow&lt;br /&gt;
        CommandList = osMovePen(drawList,50,100);             // Moves pen to 50,100&lt;br /&gt;
        CommandList = osLineTo(drawList, 100,150);            // Draws line from 50,100 to 100,150&lt;br /&gt;
&lt;br /&gt;
        osSetDynamicTextureData( &amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, CommandList, &amp;quot;&amp;quot;, 0 );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsSetPenCap</id>
		<title>OsSetPenCap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsSetPenCap"/>
				<updated>2009-08-28T21:27:04Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: New page: {{Template:Quicklinks}}  Technical Reference -&amp;gt;  Terms -&amp;gt;  Status Page -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]] -&amp;gt; [[OsSetPenCap | osSetPenCap]]&lt;br /&gt;
&lt;br /&gt;
ATTENTION: THIS METHOD WORKS ONLY ON WINDOWS FOR NOW. LIBGDI+ HAS A FAKE IMPLEMENTATION AND WILL NOT DRAW IT.&lt;br /&gt;
&lt;br /&gt;
LSL: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&amp;lt;br /&amp;gt;&lt;br /&gt;
C#: '''[[string]] osSetPenCap( [[string]] drawList, string direction, string type )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appends a [[Drawing_commands#PenCap|PenCap]] drawing command to the string provided in '''drawList''' and returns the result.&lt;br /&gt;
&lt;br /&gt;
This sets the pen's start or/and end cap to either &amp;quot;diamond&amp;quot;, &amp;quot;arrow&amp;quot;, &amp;quot;round&amp;quot;, or default &amp;quot;flat&amp;quot; shape. It can set them in the &amp;quot;end&amp;quot; or &amp;quot;start&amp;quot; of the line, or &amp;quot;both&amp;quot;. Possible values are (case insensitive):&lt;br /&gt;
Type:&lt;br /&gt;
&amp;quot;arrow&amp;quot;&lt;br /&gt;
&amp;quot;diamond&amp;quot;&lt;br /&gt;
&amp;quot;round&amp;quot;&lt;br /&gt;
&amp;quot;flat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Direction:&lt;br /&gt;
&amp;quot;start&amp;quot;&lt;br /&gt;
&amp;quot;end&amp;quot;&lt;br /&gt;
&amp;quot;both&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osSetPenCap&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        string CommandList = &amp;quot;&amp;quot;;                              // Storage for our drawing commands&lt;br /&gt;
        integer i;&lt;br /&gt;
&lt;br /&gt;
        CommandList = osSetPenSize( CommandList, 5 );         // Set the pen width to 5 pixels. With 1 pixel, arrow is very hard to see&lt;br /&gt;
        CommandList = osSetPenCap(&amp;quot;start&amp;quot;, &amp;quot;arrow&amp;quot;);          // Sets the beggining of the line with an arrow&lt;br /&gt;
        CommandList = osMovePen(drawList,50,100);             // Moves pen to 50,100&lt;br /&gt;
        CommandList = osLineTo(drawList, 100,150);            // Draws line from 50,100 to 100,150&lt;br /&gt;
&lt;br /&gt;
        osSetDynamicTextureData( &amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, CommandList, &amp;quot;&amp;quot;, 0 );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsDrawFilledPolygon</id>
		<title>OsDrawFilledPolygon</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsDrawFilledPolygon"/>
				<updated>2009-08-28T21:19:03Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]] -&amp;gt; [[OsDrawFilledPolygon | osDrawFilledPolygon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LSL: '''[[string]] osDrawFilledPolygon( [[string]] drawList, [[list]] xpoints, [[list]] ypoints )'''&amp;lt;br /&amp;gt;&lt;br /&gt;
C#: '''[[string]] osDrawFilledPolygon( [[string]] drawList, [[LSL_List]] xpoints, [[LSL_List]] ypoints )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appends a [[Drawing_commands#FillPolygon|FillPolygon]] drawing command to the string provided in '''drawList''' and returns the result.&lt;br /&gt;
&lt;br /&gt;
The polygon is drawn with the current pen size and color on the x,y point pairs that comes from LSL list. So (x[0],y[0]),(x[1],y[1]),(x[2],y[2]) would be an example of a polygon. The polygon created is filled with the selected pen color as well.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osDrawFilledPolygon&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        string CommandList = &amp;quot;&amp;quot;; // Storage for our drawing commands&lt;br /&gt;
&lt;br /&gt;
        CommandList = osSetPenSize( CommandList, 3 );         // Set the pen width to 3 pixels&lt;br /&gt;
        CommandList = osSetPenColour( CommandList, &amp;quot;Blue&amp;quot; );  // Set the pen color to blue&lt;br /&gt;
        CommandList = osDrawFilledPolygon( CommandList, [50,100,150], [&amp;quot;50&amp;quot;,100,150.0] ); // You can use either integer, float or string &lt;br /&gt;
&lt;br /&gt;
        // Now draw the polygon&lt;br /&gt;
        osSetDynamicTextureData( &amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, CommandList, &amp;quot;&amp;quot;, 0 );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsDrawFilledPolygon</id>
		<title>OsDrawFilledPolygon</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsDrawFilledPolygon"/>
				<updated>2009-08-28T21:18:45Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: New page: {{Template:Quicklinks}}  Technical Reference -&amp;gt;  Terms -&amp;gt;  Status Page -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]] -&amp;gt; [[OsDrawFilledPolygon | osDrawFilledPolygon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LSL: '''[[string]] osDrawFilledPolygon( [[string]] drawList, [[list]] xpoints, [[list]] ypoints )'''&amp;lt;br /&amp;gt;&lt;br /&gt;
C#: '''[[string]] osDrawFilledPolygon( [[string]] drawList, [[LSL_List]] xpoints, [[LSL_List]] ypoints )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appends a [[Drawing_commands#FillPolygon|FillPolygon]] drawing command to the string provided in '''drawList''' and returns the result.&lt;br /&gt;
&lt;br /&gt;
The polygon is drawn with the current pen size and color on the x,y point pairs that comes from LSL list. So (x[0],y[0]),(x[1],y[1]),(x[2],y[2]) would be an example of a polygon. The polygon created is filled with the selected pen color as well.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osDrawPolygon&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        string CommandList = &amp;quot;&amp;quot;; // Storage for our drawing commands&lt;br /&gt;
&lt;br /&gt;
        CommandList = osSetPenSize( CommandList, 3 );         // Set the pen width to 3 pixels&lt;br /&gt;
        CommandList = osSetPenColour( CommandList, &amp;quot;Blue&amp;quot; );  // Set the pen color to blue&lt;br /&gt;
        CommandList = osDrawFilledPolygon( CommandList, [50,100,150], [&amp;quot;50&amp;quot;,100,150.0] ); // You can use either integer, float or string &lt;br /&gt;
&lt;br /&gt;
        // Now draw the polygon&lt;br /&gt;
        osSetDynamicTextureData( &amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, CommandList, &amp;quot;&amp;quot;, 0 );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsDrawPolygon</id>
		<title>OsDrawPolygon</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsDrawPolygon"/>
				<updated>2009-08-28T21:17:07Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: New page: {{Template:Quicklinks}}  Technical Reference -&amp;gt;  Terms -&amp;gt;  Status Page -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]] -&amp;gt; [[OsDrawPolygon | osDrawPolygon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LSL: '''[[string]] osDrawPolygon( [[string]] drawList, [[list]] xpoints, [[list]] ypoints )'''&amp;lt;br /&amp;gt;&lt;br /&gt;
C#: '''[[string]] osDrawPolygon( [[string]] drawList, [[LSL_List]] xpoints, [[LSL_List]] ypoints )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appends a [[Drawing_commands#Polygon|Polygon]] drawing command to the string provided in '''drawList''' and returns the result.&lt;br /&gt;
&lt;br /&gt;
The polygon is drawn with the current pen size and color on the x,y point pairs that comes from LSL list. So (x[0],y[0]),(x[1],y[1]),(x[2],y[2]) would be an example of a polygon.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osDrawPolygon&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        string CommandList = &amp;quot;&amp;quot;; // Storage for our drawing commands&lt;br /&gt;
&lt;br /&gt;
        CommandList = osSetPenSize( CommandList, 3 );         // Set the pen width to 3 pixels&lt;br /&gt;
        CommandList = osSetPenColour( CommandList, &amp;quot;Blue&amp;quot; );  // Set the pen color to blue&lt;br /&gt;
        CommandList = osDrawPolygon( CommandList, [50,100,150], [&amp;quot;50&amp;quot;,100,150.0] ); // You can use either integer, float or string &lt;br /&gt;
&lt;br /&gt;
        // Now draw the polygon&lt;br /&gt;
        osSetDynamicTextureData( &amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, CommandList, &amp;quot;&amp;quot;, 0 );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Dynamic_textures</id>
		<title>Dynamic textures</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Dynamic_textures"/>
				<updated>2009-08-28T21:11:11Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynamic textures allow scripts to create images on the fly, combining graphics loaded from the World Wide Web with text, lines, ellipses and filled or unfilled rectangles. The textures thus created are temporary, maintained by the individual region in which they are created, and are not permanently stored in the [[Asset Server]].&lt;br /&gt;
&lt;br /&gt;
In general, one creates a string containing a list of [[Drawing commands]] and parameters, either directly or with the aid of one of the &amp;quot;convenience&amp;quot; drawing functions listed below, then passes this string as a parameter to one of the osSetDynamicTexture* commands.&lt;br /&gt;
&lt;br /&gt;
In the list below, the [[threat level]] of each function is indicated in parentheses after the function name. There is no threat level associated with the [[Drawing_commands | drawing commands]].&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;|'''Graphics Primitive Drawing Functions'''&lt;br /&gt;
*[[osDrawEllipse]] (None)&lt;br /&gt;
*[[osDrawImage]] (None)&lt;br /&gt;
*[[osDrawLine]] (None)&lt;br /&gt;
*[[osDrawRectangle]] (None)&lt;br /&gt;
*[[osDrawFilledRectangle]] (None)&lt;br /&gt;
*[[osDrawPolygon]] (None)&lt;br /&gt;
*[[osDrawFilledPolygon]] (None)&lt;br /&gt;
*[[osMovePen]] (None)&lt;br /&gt;
*[[osSetPenColour]] (None)&lt;br /&gt;
*[[osSetPenSize]] (None)&lt;br /&gt;
*[[osSetPenCap]] (None)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Text Drawing Functions'''&lt;br /&gt;
*[[osDrawText]] (None)&lt;br /&gt;
*[[osSetFontSize]] (None)&lt;br /&gt;
*[[osGetDrawStringSize]] (VeryLow)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dynamic Texture Creation Functions'''&lt;br /&gt;
*[[osSetDynamicTextureURL]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureURLBlend]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureURLBlendFace]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureData]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureDataBlend]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureDataBlendFace]] (VeryLow)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;|'''Graphics Primitive Drawing Commands'''&lt;br /&gt;
*[[Drawing commands#Ellipse|Ellipse]]&lt;br /&gt;
*[[Drawing commands#Rectangle|Rectangle]]&lt;br /&gt;
*[[Drawing commands#FillRectangle|FillRectangle]]&lt;br /&gt;
*[[Drawing commands#Polygon|Polygon]]&lt;br /&gt;
*[[Drawing commands#FillPolygon|FillPolygon]]&lt;br /&gt;
*[[Drawing commands#Image|Image]]&lt;br /&gt;
*[[Drawing commands#LineTo|LineTo]]&lt;br /&gt;
*[[Drawing commands#MoveTo|MoveTo]]&lt;br /&gt;
*[[Drawing commands#PenColour|PenColour]]&lt;br /&gt;
*[[Drawing commands#PenSize|PenSize]]&lt;br /&gt;
*[[Drawing commands#PenCap|PenCap]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Text Drawing Commands'''&lt;br /&gt;
*[[Drawing commands#FontName|FontName]]&lt;br /&gt;
*[[Drawing commands#FontProp|FontProp]]&lt;br /&gt;
*[[Drawing commands#FontSize|FontSize]]&lt;br /&gt;
*[[Drawing commands#Text|Text]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Dynamic_textures</id>
		<title>Dynamic textures</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Dynamic_textures"/>
				<updated>2009-08-28T21:09:42Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynamic textures allow scripts to create images on the fly, combining graphics loaded from the World Wide Web with text, lines, ellipses and filled or unfilled rectangles. The textures thus created are temporary, maintained by the individual region in which they are created, and are not permanently stored in the [[Asset Server]].&lt;br /&gt;
&lt;br /&gt;
In general, one creates a string containing a list of [[Drawing commands]] and parameters, either directly or with the aid of one of the &amp;quot;convenience&amp;quot; drawing functions listed below, then passes this string as a parameter to one of the osSetDynamicTexture* commands.&lt;br /&gt;
&lt;br /&gt;
In the list below, the [[threat level]] of each function is indicated in parentheses after the function name. There is no threat level associated with the [[Drawing_commands | drawing commands]].&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;|'''Graphics Primitive Drawing Functions'''&lt;br /&gt;
*[[osDrawEllipse]] (None)&lt;br /&gt;
*[[osDrawImage]] (None)&lt;br /&gt;
*[[osDrawLine]] (None)&lt;br /&gt;
*[[osDrawRectangle]] (None)&lt;br /&gt;
*[[osDrawFilledRectangle]] (None)&lt;br /&gt;
*[[osDrawPolygon]] (None)&lt;br /&gt;
*[[osDrawFilledPolygon]] (None)&lt;br /&gt;
*[[osMovePen]] (None)&lt;br /&gt;
*[[osSetPenColour]] (None)&lt;br /&gt;
*[[osSetPenSize]] (None)&lt;br /&gt;
*[[osSetPenCap]] (None)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Text Drawing Functions'''&lt;br /&gt;
*[[osDrawText]] (None)&lt;br /&gt;
*[[osSetFontSize]] (None)&lt;br /&gt;
*[[osGetDrawStringSize]] (VeryLow)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dynamic Texture Creation Functions'''&lt;br /&gt;
*[[osSetDynamicTextureURL]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureURLBlend]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureURLBlendFace]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureData]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureDataBlend]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureDataBlendFace]] (VeryLow)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;|'''Graphics Primitive Drawing Commands'''&lt;br /&gt;
*[[Drawing commands#Ellipse|Ellipse]]&lt;br /&gt;
*[[Drawing commands#Rectangle|Rectangle]]&lt;br /&gt;
*[[Drawing commands#FillRectangle|FillRectangle]]&lt;br /&gt;
*[[Drawing commands#Polygon|Polygon]]&lt;br /&gt;
*[[Drawing commands#FillPolygon|FillPolygon]]&lt;br /&gt;
*[[Drawing commands#Image|Image]]&lt;br /&gt;
*[[Drawing commands#LineTo|LineTo]]&lt;br /&gt;
*[[Drawing commands#MoveTo|MoveTo]]&lt;br /&gt;
*[[Drawing commands#PenColour|PenColour]]&lt;br /&gt;
*[[Drawing commands#PenSize|PenSize]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Text Drawing Commands'''&lt;br /&gt;
*[[Drawing commands#FontName|FontName]]&lt;br /&gt;
*[[Drawing commands#FontProp|FontProp]]&lt;br /&gt;
*[[Drawing commands#FontSize|FontSize]]&lt;br /&gt;
*[[Drawing commands#Text|Text]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Dynamic_textures</id>
		<title>Dynamic textures</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Dynamic_textures"/>
				<updated>2009-08-28T21:08:20Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Status | Status Page]] -&amp;gt; [[OSSL_Implemented| OSSL Implemented Functions]] -&amp;gt; [[Dynamic textures]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynamic textures allow scripts to create images on the fly, combining graphics loaded from the World Wide Web with text, lines, ellipses and filled or unfilled rectangles. The textures thus created are temporary, maintained by the individual region in which they are created, and are not permanently stored in the [[Asset Server]].&lt;br /&gt;
&lt;br /&gt;
In general, one creates a string containing a list of [[Drawing commands]] and parameters, either directly or with the aid of one of the &amp;quot;convenience&amp;quot; drawing functions listed below, then passes this string as a parameter to one of the osSetDynamicTexture* commands.&lt;br /&gt;
&lt;br /&gt;
In the list below, the [[threat level]] of each function is indicated in parentheses after the function name. There is no threat level associated with the [[Drawing_commands | drawing commands]].&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;|'''Graphics Primitive Drawing Functions'''&lt;br /&gt;
*[[osDrawEllipse]] (None)&lt;br /&gt;
*[[osDrawImage]] (None)&lt;br /&gt;
*[[osDrawLine]] (None)&lt;br /&gt;
*[[osDrawRectangle]] (None)&lt;br /&gt;
*[[osDrawFilledRectangle]] (None)&lt;br /&gt;
*[[osDrawPolygon]] (None)&lt;br /&gt;
*[[osDrawFilledPolygon]] (None)&lt;br /&gt;
*[[osMovePen]] (None)&lt;br /&gt;
*[[osSetPenColour]] (None)&lt;br /&gt;
*[[osSetPenSize]] (None)&lt;br /&gt;
*[[osSetPenCap]] (None)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Text Drawing Functions'''&lt;br /&gt;
*[[osDrawText]] (None)&lt;br /&gt;
*[[osSetFontSize]] (None)&lt;br /&gt;
*[[osGetDrawStringSize]] (VeryLow)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dynamic Texture Creation Functions'''&lt;br /&gt;
*[[osSetDynamicTextureURL]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureURLBlend]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureURLBlendFace]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureData]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureDataBlend]] (VeryLow)&lt;br /&gt;
*[[osSetDynamicTextureDataBlendFace]] (VeryLow)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;|'''Graphics Primitive Drawing Commands'''&lt;br /&gt;
*[[Drawing commands#Ellipse|Ellipse]]&lt;br /&gt;
*[[Drawing commands#FillRectangle|FillRectangle]]&lt;br /&gt;
*[[Drawing commands#Image|Image]]&lt;br /&gt;
*[[Drawing commands#LineTo|LineTo]]&lt;br /&gt;
*[[Drawing commands#MoveTo|MoveTo]]&lt;br /&gt;
*[[Drawing commands#PenColour|PenColour]]&lt;br /&gt;
*[[Drawing commands#PenSize|PenSize]]&lt;br /&gt;
*[[Drawing commands#Rectangle|Rectangle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Text Drawing Commands'''&lt;br /&gt;
*[[Drawing commands#FontName|FontName]]&lt;br /&gt;
*[[Drawing commands#FontProp|FontProp]]&lt;br /&gt;
*[[Drawing commands#FontSize|FontSize]]&lt;br /&gt;
*[[Drawing commands#Text|Text]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OSSL_TextureDrawing</id>
		<title>OSSL TextureDrawing</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OSSL_TextureDrawing"/>
				<updated>2009-08-28T21:04:28Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 string osMovePen(string drawList, int x, int y);&lt;br /&gt;
 string osDrawLine(string drawList, int startX, int startY, int endX, int endY);&lt;br /&gt;
 string osDrawLine(string drawList, int endX, int endY);&lt;br /&gt;
 string osDrawText(string drawList, string text);&lt;br /&gt;
 string osDrawEllipse(string drawList, int width, int height);&lt;br /&gt;
 string osDrawRectangle(string drawList, int width, int height);&lt;br /&gt;
 string osDrawFilledRectangle(string drawList, int width, int height);&lt;br /&gt;
 string osDrawPolygon(string drawList, LSL_List x, LSL_List y);&lt;br /&gt;
 string osSetFontSize(string drawList, int fontSize);&lt;br /&gt;
 string osSetPenSize(string drawList, int penSize);&lt;br /&gt;
 string osSetPenColour(string drawList, string colour);&lt;br /&gt;
 string osSetPenCap(string drawList, string direction, string type);&lt;br /&gt;
 string osDrawImage(string drawList, int width, int height, string imageUrl);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Code'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
 //cs&lt;br /&gt;
 public void default_event_state_entry()&lt;br /&gt;
 {&lt;br /&gt;
    string drawList = &amp;quot;&amp;quot;;&lt;br /&gt;
    drawList = osDrawLine (drawList, 10,20,240,20);&lt;br /&gt;
    drawList = osMovePen (drawList, 50,100); &lt;br /&gt;
    drawList = osDrawImage(drawList, 100,100,&amp;quot;http://opensimulator.org/images/d/de/Opensim_Wright_Plaza.jpg&amp;quot; );&lt;br /&gt;
    drawList = osSetPenSize (drawList, 1); &lt;br /&gt;
    drawList = osSetPenCap(drawList, &amp;quot;end&amp;quot;, &amp;quot;arrow&amp;quot;);&lt;br /&gt;
    drawList = osMovePen (drawList, 50,70);&lt;br /&gt;
    drawList = osDrawEllipse (drawList, 20,20);&lt;br /&gt;
    drawList = osMovePen(drawList, 90,70); &lt;br /&gt;
    drawList = osDrawRectangle (drawList, 20,20 );&lt;br /&gt;
    drawList = osMovePen (drawList,130,70); &lt;br /&gt;
    drawList = osDrawFilledRectangle(drawList, 20,20);&lt;br /&gt;
    drawList = osDrawPolygon(drawList, [50,100,150], [50,100,50]); &lt;br /&gt;
    drawList = osDrawFilledPolygon(drawList, [&amp;quot;50&amp;quot;,&amp;quot;100&amp;quot;,&amp;quot;150&amp;quot;], [&amp;quot;50&amp;quot;,&amp;quot;100&amp;quot;,&amp;quot;50&amp;quot;]); // It works with integers, float or string as the x and y points&lt;br /&gt;
    drawList = osSetFontSize (drawList, 12 );&lt;br /&gt;
    drawList = osMovePen (drawList,15,32); &lt;br /&gt;
&lt;br /&gt;
    string regionName = llGetRegionName();&lt;br /&gt;
    drawList = osDrawText (drawList, &amp;quot;Hello and welcome to &amp;quot; + regionName );&lt;br /&gt;
&lt;br /&gt;
    drawList = osSetFontSize (drawList, 7); &lt;br /&gt;
    drawList = osSetPenColour (drawList, &amp;quot;blue&amp;quot;);&lt;br /&gt;
    drawList = osMovePen (drawList, 70,220);&lt;br /&gt;
    drawList = osDrawText (drawList, &amp;quot;The End&amp;quot;);&lt;br /&gt;
    osSetDynamicTextureData(&amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, drawList, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==OS Dynamic Texture Language==&lt;br /&gt;
&lt;br /&gt;
Many of the OSSL drawing functions are convenience functions to help build the command line for the osSetDynamicTextureData data parameter. You may find it easier to build the string yourself using the drawing commands directly. Do this by declaring a string then appending sets of commands and parameters until it is ready. Each command is separated by a semi-colon &amp;quot;;&amp;quot;. Additional parameters may be set for the image with the extraParams parameter.&lt;br /&gt;
&lt;br /&gt;
;osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int timer)&lt;br /&gt;
&lt;br /&gt;
:*dynamicID 	not used yet – send “”&lt;br /&gt;
:*contentType  	use “vector” for drawing commands or use “image” for loadurl&lt;br /&gt;
:*data		the graphics commands in the string with the format of: “MoveTo 20, 20; FillRectangle 60, 60;”;&lt;br /&gt;
:*extraParams	width, height, alpha, bgcolour, altdatadelim&lt;br /&gt;
:*timer		set an update interval&lt;br /&gt;
&lt;br /&gt;
===Commands (data)===&lt;br /&gt;
;MoveTo int x, int y;  &lt;br /&gt;
:Places the brush at the x/y coordinate&lt;br /&gt;
&lt;br /&gt;
;LineTo int x,int y;   &lt;br /&gt;
:Draws line from present pen position to the x/y coordinate&lt;br /&gt;
&lt;br /&gt;
;Text string content;  &lt;br /&gt;
:Text to write to the image&lt;br /&gt;
&lt;br /&gt;
;Image float x, float y, string URL  &lt;br /&gt;
:The x/y placement coordinates and URL of an image to load&lt;br /&gt;
&lt;br /&gt;
;Rectangle float x, float y;  &lt;br /&gt;
:Draws a rectangle with the current pen from the current pen location to the x/y coordinates&lt;br /&gt;
&lt;br /&gt;
;FillRectangle float x, float y; &lt;br /&gt;
:Draws a filled rectangle with the current brush from the current pen location to the x/y coordinates&lt;br /&gt;
&lt;br /&gt;
;Ellipse float x, float y;  &lt;br /&gt;
:Draws an ellipse with the current brush from the current brush location to the x/y coordinates&lt;br /&gt;
&lt;br /&gt;
;FontSize int size;  &lt;br /&gt;
:The size of the font for text&lt;br /&gt;
&lt;br /&gt;
;FontProp  char;&lt;br /&gt;
:'''[B|I|U|S|R]'''&lt;br /&gt;
&lt;br /&gt;
::*'''B''' Bold&lt;br /&gt;
::*'''I''' Italic&lt;br /&gt;
::*'''U''' Underline&lt;br /&gt;
::*'''S''' Strikeout&lt;br /&gt;
::*'''R''' Regular&lt;br /&gt;
&lt;br /&gt;
;FontName string name;  &lt;br /&gt;
:The name of the font to use&lt;br /&gt;
&lt;br /&gt;
;PenSize float size;  &lt;br /&gt;
:Size of the drawing pen&lt;br /&gt;
&lt;br /&gt;
;PenColour string color; &lt;br /&gt;
:Drawing color of the pen&lt;br /&gt;
&lt;br /&gt;
;PenCap string direction, string type;&lt;br /&gt;
:Cap of a line, consists of 3 possible directions (&amp;quot;start&amp;quot;,&amp;quot;end&amp;quot;,&amp;quot;both&amp;quot;) and 4 possible types (&amp;quot;flat&amp;quot;,&amp;quot;diamond&amp;quot;,&amp;quot;arrow&amp;quot;,&amp;quot;round&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
        string drawData;&lt;br /&gt;
&lt;br /&gt;
        drawData += &amp;quot;PenColour Teal; FillRectangle 1024, 512;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;PenColour PowderBlue;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 40, 30; FontSize 25; Text 2000 UTC:;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 250, 30; Text Speed Build Competition;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 40, 70; Text 0120 UTC:;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 250, 70;Text Working On Sign;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 40, 110; Text 0500 UTC:;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 250, 110; Text Going To Sleep!;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 40, 150; Text 0600 UTC:;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 250, 150; FontProp B,I;Text Waking Up!;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;FontProp R;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;MoveTo 40, 190; Text Have a great day!!;&amp;quot;;&lt;br /&gt;
        drawData += &amp;quot;PenCap end,arrow; LineTo 50,250; MoveTo 50,250;&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        osSetDynamicTextureData(&amp;quot;&amp;quot;,&amp;quot;vector&amp;quot;, drawData,&amp;quot;width:1024,height:512,alpha:254&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Extra Parameters (extraParams)===&lt;br /&gt;
;height&lt;br /&gt;
:the height for the image in pixels&lt;br /&gt;
&lt;br /&gt;
;width&lt;br /&gt;
:the width of the image in pixels&lt;br /&gt;
&lt;br /&gt;
;alpha&lt;br /&gt;
:the opacity of the image &lt;br /&gt;
::''0-255'' to set the opacity for an image with an alpha channel &lt;br /&gt;
::''false'' for an image with no alpha channel&lt;br /&gt;
&lt;br /&gt;
;bgcolour&lt;br /&gt;
:the background color of the image&lt;br /&gt;
&lt;br /&gt;
[[http://msdn.microsoft.com/en-us/library/aa358802.aspx .net colors]]&lt;br /&gt;
&lt;br /&gt;
;altdatadelim&lt;br /&gt;
:an alternative delimiter for each parameter - useful if you want to display text that contains semicolons, for example C# or LSL code.&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Using_Git</id>
		<title>Using Git</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Using_Git"/>
				<updated>2009-08-06T13:56:27Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Changing Branches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an introduction to using git for OpenSim core developers.&lt;br /&gt;
&lt;br /&gt;
= Installing Git =&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
=== CLI ===&lt;br /&gt;
:Git is provided as a package with all modern Linux distributions.  Install the following packages depending on environment:&lt;br /&gt;
::* Debian, Ubuntu: &amp;lt;pre&amp;gt;apt-get install git-core&amp;lt;/pre&amp;gt;&lt;br /&gt;
::* Centos: see the instructions at http://www.how-to-linux.com/2009/01/install-git-161-on-centos-52/&lt;br /&gt;
&lt;br /&gt;
=== GUIs ===&lt;br /&gt;
:[http://www.kernel.org/pub/software/scm/git/docs/git-gui.html git-gui]&lt;br /&gt;
::* Debian, Ubuntu:&lt;br /&gt;
 $ sudo apt-get install git-gui&lt;br /&gt;
 $ git gui&lt;br /&gt;
&lt;br /&gt;
:[http://cola.tuxfamily.org/ git-cola]&lt;br /&gt;
::* Debian, Ubuntu:&lt;br /&gt;
 $ apt-get install git-cola&lt;br /&gt;
 $ git-cola&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
On Windows you need to install 2 packages:&lt;br /&gt;
* [http://msysgit.googlecode.com/files/Git-1.6.4-preview20090730.exe msysgit] - the basic git port for windows.  Install this first.&lt;br /&gt;
* [http://code.google.com/p/tortoisegit/ Tortoise Git] - the git explorer.  Install this second.&lt;br /&gt;
&lt;br /&gt;
When '''installing msysgit''' be sure to choose &lt;br /&gt;
'''Unix style line endings'''.  This will make it so that all the line endings are managed correctly, which will prevent merge issues in the future.&lt;br /&gt;
&lt;br /&gt;
[[Image:msysgit1.png]] [[Image:msysgit2.png]] [[Image:msysgit3.png]] [[Image:msysgit4.png]] [[Image:msysgit5.png]]&lt;br /&gt;
&lt;br /&gt;
= Configuring Git =&lt;br /&gt;
&lt;br /&gt;
Git has both a global config and a local config for each repo.  As one might expect, local trumps global.  The first important thing to do is set your name and email address, as that will be used in your commits.&lt;br /&gt;
&lt;br /&gt;
On Linux this is done via:&lt;br /&gt;
&lt;br /&gt;
 git config user.email YOUR@EMAIL.ADDR &lt;br /&gt;
 git config user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows this done with the config menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:config1.png]] [[Image:Config2.png]]&lt;br /&gt;
&lt;br /&gt;
= Git Repositories for OpenSim =&lt;br /&gt;
&lt;br /&gt;
The urls for the repositories are as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Repository !! Developer URL !! Anon URL &lt;br /&gt;
|- &lt;br /&gt;
|| opensim (main repository) || ssh://opensimulator.org/var/git/opensim || git://opensimulator.org/git/opensim&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cloning the Repositry (for Core Developers) ==&lt;br /&gt;
&lt;br /&gt;
If you are a core developer, use the developer url above.  If you aren't a core developer, use the anon url above.  The initial clone will take a few minutes, as it is pulling the entire change history.  Don't be concerned about space, all the change history stored in git takes up less space than a single checked out copy of opensim.  Welcome to the wonderful world of content addressable storage.&lt;br /&gt;
&lt;br /&gt;
Unlike with svn, you can define multiple sources to pull from.  So if you initially start with an anon tree (which is read only), you can still later define the core tree (or some other remote target on github) and push to that.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
Run the following on the command line:&lt;br /&gt;
&lt;br /&gt;
 git clone ssh://opensimulator.org/var/git/opensim&lt;br /&gt;
&lt;br /&gt;
This will create an opensim-test directory locally&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Right click on the Desktop (or wherever) and 'Git Clone...'  &lt;br /&gt;
&lt;br /&gt;
When prompted for a url provide ssh://opensimulator.org/var/git/opensim.  You username and password will be the ones used for opensimulator.org.&lt;br /&gt;
&lt;br /&gt;
== Cloning the Repositry (for Non Core Developers) ==&lt;br /&gt;
&lt;br /&gt;
You can use the same approach as above, but '''instead''' of using the ssh:// urls use the '''git://''' urls.  This is the equivalent of anonymous svn access.&lt;br /&gt;
&lt;br /&gt;
= Conceptual Changes from Subversion = &lt;br /&gt;
&lt;br /&gt;
Distributed source code control is a substantially different mental model than centralized source code control.  If it freaks you out a bit, don't worry, everyone has that same reaction initially.  This [http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ blog post] is the best explanation that I've seen of the concepts involved.&lt;br /&gt;
&lt;br /&gt;
For heavy users of subversion you should read the [http://git.or.cz/course/svn.html git / svn cheat sheet].  This provides a very solid basis for making your changes.  That being said there are some conceptual changes to note.&lt;br /&gt;
&lt;br /&gt;
* Terminology&lt;br /&gt;
** master is the name of the primary upstream branch (in subversion terms, this is trunk)&lt;br /&gt;
** origin is the name and location of the tree you cloned from&lt;br /&gt;
* All repositories are full peers to all other repositories.  Your cloned git repo is all the history of the entire project, available locally.  It means you can sync between any 2 clones of the repository, not just between your clone and the master repo.  This lets people work together on changes not in &lt;br /&gt;
* Version numbers are SHA1 hashes, not sequential integers.  This means referring to specific revisions is a bit more interesting.  For most of the git commands, you only need to give it the first 6-8 digits of the hash for them to work.&lt;br /&gt;
* Committing &lt;br /&gt;
** commits are local.  This means they are fast (no network involved) and they are committed against the last state of the tree.  Any conflict resolution will be handled after commits, during your next pull.  This is slightly different than pull-resolve-then-commit model of subversion.&lt;br /&gt;
** by default only files you explicitly '''git add''' are put into the commit.  To get '''svn ci''' equivalency use '''git commit -a''' to commit all outstanding files (I think tortoise handles this for you)&lt;br /&gt;
** after making a commit you must then '''push''' it to a remote repository (probably origin).  By default you push only branches you have previously pushed, typically master.&lt;br /&gt;
&lt;br /&gt;
The biggest real change is the Subversion dictates a very specific workflow.  Git does not.  Git allows for many different workflows, and lets each developer use the one that is best suited to his/her self.&lt;br /&gt;
&lt;br /&gt;
= Using Git like Subversion/trunk development =&lt;br /&gt;
&lt;br /&gt;
This is a set of quick instructions to use git like we do subversion development today.  It is targetted for core developers (so assumes you are using the ssh access), though most of it will work for non developers by just changing a url.&lt;br /&gt;
&lt;br /&gt;
This is done by giving the unix commands.  These options should all be available in the context menu on tortoise git as well.&lt;br /&gt;
&lt;br /&gt;
== Getting the source code ==&lt;br /&gt;
&lt;br /&gt;
'''git clone ssh://opensimulator.org/git/opensim-test'''&lt;br /&gt;
&lt;br /&gt;
This is the equivalent of '''svn co'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' all other operations assume that you are in the git directory.&lt;br /&gt;
&lt;br /&gt;
== Updating your checkout ==&lt;br /&gt;
&lt;br /&gt;
'''git pull'''&lt;br /&gt;
&lt;br /&gt;
This is the equivalent of '''svn update'''&lt;br /&gt;
&lt;br /&gt;
== Inspecting what has changed in your working tree ==&lt;br /&gt;
&lt;br /&gt;
'''git status'''&lt;br /&gt;
&lt;br /&gt;
This is the equivalent of '''svn status'''&lt;br /&gt;
&lt;br /&gt;
== Committing a change ==&lt;br /&gt;
&lt;br /&gt;
either:&lt;br /&gt;
&lt;br /&gt;
'''git add file1 file2 ...'''&lt;br /&gt;
&lt;br /&gt;
'''git commit'''&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
'''git commit -a'''&lt;br /&gt;
&lt;br /&gt;
by default git does not add all files during a commit.&lt;br /&gt;
&lt;br /&gt;
== Pushing the committed change ==&lt;br /&gt;
&lt;br /&gt;
The first time you do this you'll need to specify which branch to push.&lt;br /&gt;
&lt;br /&gt;
'''git push origin master'''&lt;br /&gt;
&lt;br /&gt;
After the first time a simple '''git push''' will be enough, as it defaults to origin, and now git knows that master should by synced to origin.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' commits in git are local.  They are not included in the main tree '''until you push''' them.  This means you can create commits when you are not on the network and sync afterwards.&lt;br /&gt;
&lt;br /&gt;
== Setting the checkout dir to a specific revision ==&lt;br /&gt;
&lt;br /&gt;
'''git reset --hard #HASHVALUE'''&lt;br /&gt;
&lt;br /&gt;
This will effectively rewind the tree to the specific revision, and modify the checkout dir accordingly.  This is equiv to '''svn up -R#version'''.&lt;br /&gt;
&lt;br /&gt;
git reset can also be useful if you screwed up commits and want to get rid of them &lt;br /&gt;
&lt;br /&gt;
== Resetting the tree to master (i.e. trunk) ==&lt;br /&gt;
&lt;br /&gt;
'''git pull'''&lt;br /&gt;
&lt;br /&gt;
per previous&lt;br /&gt;
&lt;br /&gt;
== Creating a Patch ==&lt;br /&gt;
&lt;br /&gt;
'''git format-patch #HASHVALUE'''&lt;br /&gt;
&lt;br /&gt;
This will create a patch suitable for attaching or emailing from a single commit.  You can also specify a range of commits.  &lt;br /&gt;
&lt;br /&gt;
This is closest to '''svn diff &amp;gt; patchfile.txt''' for uncommitted changes in subversion.&lt;br /&gt;
&lt;br /&gt;
== Applying a Git Patch ==&lt;br /&gt;
&lt;br /&gt;
If someone has formatted a git patch you can apply it directly (including all file adds, file mode changes, and their change log entry) with:&lt;br /&gt;
&lt;br /&gt;
'''git apply patchfile.patch'''&lt;br /&gt;
&lt;br /&gt;
== Reverting a Change ==&lt;br /&gt;
&lt;br /&gt;
'''git revert #HASHVALUE'''&lt;br /&gt;
&lt;br /&gt;
This directly reverts the change, with a commit message stating that fact.  There is no svn direct equiv, though this is often accomplished through: svn diff -R revisions &amp;gt; revert.patch &amp;amp;&amp;amp; patch -p0 &amp;lt; revert.patch &amp;amp;&amp;amp; svn ci -m &amp;quot;reverting revisions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Resetting part of the tree to master ==&lt;br /&gt;
&lt;br /&gt;
'''git checkout -- file1 file2 ...'''&lt;br /&gt;
&lt;br /&gt;
Checkout is an operation that populates the working directory from the git repository.  Doing a git checkout (master is the implied branch) -- file1 file2 repulls those files from the git repo, clobbering them in your local directory.  This is like '''svn revert'''.&lt;br /&gt;
&lt;br /&gt;
== Diffing Changes ==&lt;br /&gt;
&lt;br /&gt;
Against your most recently committed changes&lt;br /&gt;
&lt;br /&gt;
'''git diff'''&lt;br /&gt;
&lt;br /&gt;
From your most recent changes to a past change&lt;br /&gt;
&lt;br /&gt;
'''git diff #HASHVALUE'''&lt;br /&gt;
&lt;br /&gt;
Between any 2 changes&lt;br /&gt;
&lt;br /&gt;
'''git diff #HASHVALUE1 #HASHVALUE1'''&lt;br /&gt;
&lt;br /&gt;
== Branches ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Branch ===&lt;br /&gt;
&lt;br /&gt;
To create a new branch based on the current one, do:&lt;br /&gt;
&lt;br /&gt;
'''git branch &amp;lt;branchname&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Changing Branches ===&lt;br /&gt;
&lt;br /&gt;
To change between branches do:&lt;br /&gt;
&lt;br /&gt;
'''git checkout &amp;lt;branchname&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Tracking a Branch ===&lt;br /&gt;
&lt;br /&gt;
If you want to work on a specific branch, you can track it, by creating a local version of it on which you can pull and push. If you have already pulled (or fetched) from origin, you should have all remote branches names:&lt;br /&gt;
&lt;br /&gt;
'''git branch -a'''&lt;br /&gt;
&lt;br /&gt;
Will show all branches, local and remote. Choose a remote branch to track then do:&lt;br /&gt;
&lt;br /&gt;
'''git branch --track &amp;lt;localbranchname&amp;gt; origin/remote/&amp;lt;remotebranchname&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
A new local branch will be created created, which will push and pull to the specific remote branch.&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Using_Git</id>
		<title>Using Git</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Using_Git"/>
				<updated>2009-08-04T16:14:44Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Using Git like Subversion/trunk development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an introduction to using git for OpenSim core developers.&lt;br /&gt;
&lt;br /&gt;
= Installing Git =&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
=== CLI ===&lt;br /&gt;
:Git is provided as a package with all modern Linux distributions.  Install the following packages depending on environment:&lt;br /&gt;
::* Debian, Ubuntu: &amp;lt;pre&amp;gt;apt-get install git-core&amp;lt;/pre&amp;gt;&lt;br /&gt;
::* Centos: see the instructions at http://www.how-to-linux.com/2009/01/install-git-161-on-centos-52/&lt;br /&gt;
&lt;br /&gt;
=== GUIs ===&lt;br /&gt;
:[http://www.kernel.org/pub/software/scm/git/docs/git-gui.html git-gui]&lt;br /&gt;
::* Debian, Ubuntu:&lt;br /&gt;
 $ sudo apt-get install git-gui&lt;br /&gt;
 $ git gui&lt;br /&gt;
&lt;br /&gt;
:[http://cola.tuxfamily.org/ git-cola]&lt;br /&gt;
::* Debian, Ubuntu:&lt;br /&gt;
 $ apt-get install git-cola&lt;br /&gt;
 $ git-cola&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
On Windows you need to install 2 packages:&lt;br /&gt;
* msysgit - the basic git port for windows.  Install this first.&lt;br /&gt;
* [http://code.google.com/p/tortoisegit/ Tortoise Git] - the git explorer.  Install this second.&lt;br /&gt;
&lt;br /&gt;
When '''installing msysgit''' be sure to choose &lt;br /&gt;
'''Unix style line endings'''.  This will make it so that all the line endings are managed correctly, which will prevent merge issues in the future.&lt;br /&gt;
&lt;br /&gt;
[[Image:msysgit1.png]] [[Image:msysgit2.png]] [[Image:msysgit3.png]] [[Image:msysgit4.png]] [[Image:msysgit5.png]]&lt;br /&gt;
&lt;br /&gt;
= Configuring Git =&lt;br /&gt;
&lt;br /&gt;
Git has both a global config and a local config for each repo.  As one might expect, local trumps global.  The first important thing to do is set your name and email address, as that will be used in your commits.&lt;br /&gt;
&lt;br /&gt;
On Linux this is done via:&lt;br /&gt;
&lt;br /&gt;
 git config user.email YOUR@EMAIL.ADDR &lt;br /&gt;
 git config user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows this done with the config menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:config1.png]] [[Image:Config2.png]]&lt;br /&gt;
&lt;br /&gt;
= Git Repositories for OpenSim =&lt;br /&gt;
&lt;br /&gt;
The urls for the repositories are as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Repository !! Developer URL !! Anon URL &lt;br /&gt;
|- &lt;br /&gt;
|| opensim (main repository) || ssh://opensimulator.org/var/git/opensim || git://opensimulator.org/git/opensim&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cloning the Repositry (for Core Developers) ==&lt;br /&gt;
&lt;br /&gt;
If you are a core developer, use the developer url above.  If you aren't a core developer, use the anon url above.  The initial clone will take a few minutes, as it is pulling the entire change history.  Don't be concerned about space, all the change history stored in git takes up less space than a single checked out copy of opensim.  Welcome to the wonderful world of content addressable storage.&lt;br /&gt;
&lt;br /&gt;
Unlike with svn, you can define multiple sources to pull from.  So if you initially start with an anon tree (which is read only), you can still later define the core tree (or some other remote target on github) and push to that.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
Run the following on the command line:&lt;br /&gt;
&lt;br /&gt;
 git clone ssh://opensimulator.org/var/git/opensim&lt;br /&gt;
&lt;br /&gt;
This will create an opensim-test directory locally&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Right click on the Desktop (or wherever) and 'Git Clone...'  &lt;br /&gt;
&lt;br /&gt;
When prompted for a url provide ssh://opensimulator.org/var/git/opensim.  You username and password will be the ones used for opensimulator.org.&lt;br /&gt;
&lt;br /&gt;
== Cloning the Repositry (for Non Core Developers) ==&lt;br /&gt;
&lt;br /&gt;
You can use the same approach as above, but '''instead''' of using the ssh:// urls use the '''git://''' urls.  This is the equivalent of anonymous svn access.&lt;br /&gt;
&lt;br /&gt;
= Conceptual Changes from Subversion = &lt;br /&gt;
&lt;br /&gt;
Distributed source code control is a substantially different mental model than centralized source code control.  If it freaks you out a bit, don't worry, everyone has that same reaction initially.  This [http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ blog post] is the best explanation that I've seen of the concepts involved.&lt;br /&gt;
&lt;br /&gt;
For heavy users of subversion you should read the [http://git.or.cz/course/svn.html git / svn cheat sheet].  This provides a very solid basis for making your changes.  That being said there are some conceptual changes to note.&lt;br /&gt;
&lt;br /&gt;
* Terminology&lt;br /&gt;
** master is the name of the primary upstream branch (in subversion terms, this is trunk)&lt;br /&gt;
** origin is the name and location of the tree you cloned from&lt;br /&gt;
* All repositories are full peers to all other repositories.  Your cloned git repo is all the history of the entire project, available locally.  It means you can sync between any 2 clones of the repository, not just between your clone and the master repo.  This lets people work together on changes not in &lt;br /&gt;
* Version numbers are SHA1 hashes, not sequential integers.  This means referring to specific revisions is a bit more interesting.  For most of the git commands, you only need to give it the first 6-8 digits of the hash for them to work.&lt;br /&gt;
* Committing &lt;br /&gt;
** commits are local.  This means they are fast (no network involved) and they are committed against the last state of the tree.  Any conflict resolution will be handled after commits, during your next pull.  This is slightly different than pull-resolve-then-commit model of subversion.&lt;br /&gt;
** by default only files you explicitly '''git add''' are put into the commit.  To get '''svn ci''' equivalency use '''git commit -a''' to commit all outstanding files (I think tortoise handles this for you)&lt;br /&gt;
** after making a commit you must then '''push''' it to a remote repository (probably origin).  By default you push only branches you have previously pushed, typically master.&lt;br /&gt;
&lt;br /&gt;
The biggest real change is the Subversion dictates a very specific workflow.  Git does not.  Git allows for many different workflows, and lets each developer use the one that is best suited to his/her self.&lt;br /&gt;
&lt;br /&gt;
= Using Git like Subversion/trunk development =&lt;br /&gt;
&lt;br /&gt;
This is a set of quick instructions to use git like we do subversion development today.  It is targetted for core developers (so assumes you are using the ssh access), though most of it will work for non developers by just changing a url.&lt;br /&gt;
&lt;br /&gt;
This is done by giving the unix commands.  These options should all be available in the context menu on tortoise git as well.&lt;br /&gt;
&lt;br /&gt;
== Getting the source code ==&lt;br /&gt;
&lt;br /&gt;
'''git clone ssh://opensimulator.org/git/opensim-test'''&lt;br /&gt;
&lt;br /&gt;
This is the equivalent of '''svn co'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' all other operations assume that you are in the git directory.&lt;br /&gt;
&lt;br /&gt;
== Updating your checkout ==&lt;br /&gt;
&lt;br /&gt;
'''git pull'''&lt;br /&gt;
&lt;br /&gt;
This is the equivalent of '''svn update'''&lt;br /&gt;
&lt;br /&gt;
== Inspecting what has changed in your working tree ==&lt;br /&gt;
&lt;br /&gt;
'''git status'''&lt;br /&gt;
&lt;br /&gt;
This is the equivalent of '''svn status'''&lt;br /&gt;
&lt;br /&gt;
== Committing a change ==&lt;br /&gt;
&lt;br /&gt;
either:&lt;br /&gt;
&lt;br /&gt;
'''git add file1 file2 ...'''&lt;br /&gt;
&lt;br /&gt;
'''git commit'''&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
'''git commit -a'''&lt;br /&gt;
&lt;br /&gt;
by default git does not add all files during a commit.&lt;br /&gt;
&lt;br /&gt;
== Pushing the committed change ==&lt;br /&gt;
&lt;br /&gt;
The first time you do this you'll need to specify which branch to push.&lt;br /&gt;
&lt;br /&gt;
'''git push origin master'''&lt;br /&gt;
&lt;br /&gt;
After the first time a simple '''git push''' will be enough, as it defaults to origin, and now git knows that master should by synced to origin.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' commits in git are local.  They are not included in the main tree '''until you push''' them.  This means you can create commits when you are not on the network and sync afterwards.&lt;br /&gt;
&lt;br /&gt;
== Setting the checkout dir to a specific revision ==&lt;br /&gt;
&lt;br /&gt;
'''git reset --hard #HASHVALUE'''&lt;br /&gt;
&lt;br /&gt;
This will effectively rewind the tree to the specific revision, and modify the checkout dir accordingly.  This is equiv to '''svn up -R#version'''.&lt;br /&gt;
&lt;br /&gt;
git reset can also be useful if you screwed up commits and want to get rid of them &lt;br /&gt;
&lt;br /&gt;
== Resetting the tree to master (i.e. trunk) ==&lt;br /&gt;
&lt;br /&gt;
'''git pull'''&lt;br /&gt;
&lt;br /&gt;
per previous&lt;br /&gt;
&lt;br /&gt;
== Creating a Patch ==&lt;br /&gt;
&lt;br /&gt;
'''git format-patch #HASHVALUE'''&lt;br /&gt;
&lt;br /&gt;
This will create a patch suitable for attaching or emailing from a single commit.  You can also specify a range of commits.  &lt;br /&gt;
&lt;br /&gt;
This is closest to '''svn diff &amp;gt; patchfile.txt''' for uncommitted changes in subversion.&lt;br /&gt;
&lt;br /&gt;
== Applying a Git Patch ==&lt;br /&gt;
&lt;br /&gt;
If someone has formatted a git patch you can apply it directly (including all file adds, file mode changes, and their change log entry) with:&lt;br /&gt;
&lt;br /&gt;
'''git apply patchfile.patch'''&lt;br /&gt;
&lt;br /&gt;
== Reverting a Change ==&lt;br /&gt;
&lt;br /&gt;
'''git revert #HASHVALUE'''&lt;br /&gt;
&lt;br /&gt;
This directly reverts the change, with a commit message stating that fact.  There is no svn direct equiv, though this is often accomplished through: svn diff -R revisions &amp;gt; revert.patch &amp;amp;&amp;amp; patch -p0 &amp;lt; revert.patch &amp;amp;&amp;amp; svn ci -m &amp;quot;reverting revisions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Resetting part of the tree to master ==&lt;br /&gt;
&lt;br /&gt;
'''git checkout -- file1 file2 ...'''&lt;br /&gt;
&lt;br /&gt;
Checkout is an operation that populates the working directory from the git repository.  Doing a git checkout (master is the implied branch) -- file1 file2 repulls those files from the git repo, clobbering them in your local directory.  This is like '''svn revert'''.&lt;br /&gt;
&lt;br /&gt;
== Diffing Changes ==&lt;br /&gt;
&lt;br /&gt;
Against your most recently committed changes&lt;br /&gt;
&lt;br /&gt;
'''git diff'''&lt;br /&gt;
&lt;br /&gt;
From your most recent changes to a past change&lt;br /&gt;
&lt;br /&gt;
'''git diff #HASHVALUE'''&lt;br /&gt;
&lt;br /&gt;
Between any 2 changes&lt;br /&gt;
&lt;br /&gt;
'''git diff #HASHVALUE1 #HASHVALUE1'''&lt;br /&gt;
&lt;br /&gt;
== Branches ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Branch ===&lt;br /&gt;
&lt;br /&gt;
To create a new branch based on the current one, do:&lt;br /&gt;
&lt;br /&gt;
'''git branch &amp;lt;branchname&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Changing Branches ===&lt;br /&gt;
&lt;br /&gt;
To change between branches do:&lt;br /&gt;
&lt;br /&gt;
'''git branch checkout &amp;lt;branchname&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Tracking a Branch ===&lt;br /&gt;
&lt;br /&gt;
If you want to work on a specific branch, you can track it, by creating a local version of it on which you can pull and push. If you have already pulled (or fetched) from origin, you should have all remote branches names:&lt;br /&gt;
&lt;br /&gt;
'''git branch -a'''&lt;br /&gt;
&lt;br /&gt;
Will show all branches, local and remote. Choose a remote branch to track then do:&lt;br /&gt;
&lt;br /&gt;
'''git branch --track &amp;lt;localbranchname&amp;gt; origin/remote/&amp;lt;remotebranchname&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
A new local branch will be created created, which will push and pull to the specific remote branch.&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Developer_Documentation</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Developer_Documentation"/>
				<updated>2009-06-27T03:12:30Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
[[Technical Reference | Technical Reference]] -&amp;gt; [[Technical Reference/terms | Terms]] -&amp;gt; [[Developer_Documentation | Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Developer Documentation ==&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
* [[Development Team]] &amp;amp;mdash; OpenSim is brought to you by...&lt;br /&gt;
* [[OpenSim:Introduction_and_Definitions  | OpenSim: Introduction and Definitions]] &amp;amp;mdash; A work in progress describing the high level components of OpenSim&lt;br /&gt;
* [[Technical Reference | OpenSim: Technical Reference]] &amp;amp;mdash; A technical description of the simulator operation.&lt;br /&gt;
* [[Grid Architecture Diagram]]&lt;br /&gt;
* [[OpenSim: Screenshots]] &amp;amp;mdash; Various OpenSim screenshots.&lt;br /&gt;
* [http://docs.opensimulator.org/index.html The OpenSim API]&lt;br /&gt;
&lt;br /&gt;
==== Development ====&lt;br /&gt;
* [[Release Cycle]]&lt;br /&gt;
* [[On revisions, tags and branches]]&lt;br /&gt;
* [[Hacking OpenSim for fun and profit]] &amp;amp;mdash; A starters guide for programming OpenSim.&lt;br /&gt;
* [[Coding standards]] &amp;amp;mdash; Coding conventions for developers.&lt;br /&gt;
* [[Automated Testing]] &amp;amp;mdash; How to write tests for OpenSim.&lt;br /&gt;
* [[Debugging Unit Tests]] &amp;amp;mdash; How to debug the automated tests.&lt;br /&gt;
* [[Branches]] &amp;amp;mdash; An overview of the repository branches and what they are for.&lt;br /&gt;
* [[Monodevelop]] &amp;amp;mdash; How to use the [[monodevelop]] IDE for editing C# solutions.&lt;br /&gt;
* [[Creating New Solution]] &amp;amp;mdash; How to create new solution according to OpenSim conventions.&lt;br /&gt;
* [[Improving Performance]] &amp;amp;mdash; Efforts to increase OpenSim's performance.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [http://opensimulator.org/mantis Mantis Bug Tracking] &amp;amp;mdash; Mantis is the issue tracking tool of OpenSimulator.&lt;br /&gt;
* [http://www.opensimulator.org:8085/browse/OPENSIM-TRUNK Bamboo Continuous Integration] &amp;amp;mdash; Bamboo builds the source base continuously and runs unit tests.&lt;br /&gt;
* [http://forge.opensimulator.org/gf/ OpenSimulator GForge] &amp;amp;mdash; Project hosting for OpenSimulator related projects.&lt;br /&gt;
&lt;br /&gt;
==== Client Stacks ====&lt;br /&gt;
* [[Sim Throttles]] &amp;amp;mdash; Information on how OpenSim handles throttling of packets to the client.&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [[Database Documentation]] &amp;amp;mdash; A map of grid and region instances used in OpenSim&lt;br /&gt;
* [[MonoSqlite]] &amp;amp;mdash; How the database model currently works.&lt;br /&gt;
* [[LSL:PrimitiveParams]] &amp;amp;mdash; Notes on converting SL Edit GUI values and LSL PrimitiveParams to OpenSim PrimitiveBaseShape fields&lt;br /&gt;
* [[NHibernate Performance Testing]] &amp;amp;mdash; SQLite and MySQL performance tests with NHibernate.&lt;br /&gt;
&lt;br /&gt;
==== File formats ====&lt;br /&gt;
* [[Technical_Reference/OpenSim_Archive_Region_Format]] - Opensim ARchive (OAR) region archive file format.&lt;br /&gt;
&lt;br /&gt;
==== Grid ====&lt;br /&gt;
* [[Asset Server problems]] - list of known problems with the asset server&lt;br /&gt;
* [[Teleports]] - some diagrams about OGP and Hypergrid teleport sequences&lt;br /&gt;
&lt;br /&gt;
==== Integration ====&lt;br /&gt;
* [[Webinterface]] &amp;amp;mdash; How to mashup with the web.&lt;br /&gt;
* [[RemoteAdmin]] &amp;amp;mdash; How to use the remote admin plug-in.&lt;br /&gt;
* [[REST]] &amp;amp;mdash; Information about the REST interface to assets, inventory, etc.&lt;br /&gt;
* [[Known Web Interfaces within OpenSim]] &amp;amp;mdash; The set of CAPS, XMLRPC, or REST entry points in the project.&lt;br /&gt;
&lt;br /&gt;
==== Modules ====&lt;br /&gt;
* [[RegionModules]] &amp;amp;mdash; The various modules that are used in the RegionServer and how to write new ones.&lt;br /&gt;
* [[How to create a dynamic plugin]] - A tutorial for using PluginLoader&lt;br /&gt;
* [[Getting Started with Region Modules]] - This brief tutorial is intended to get people started with developing applications with/for opensim using region modules and the opensim API.&lt;br /&gt;
* [[Web Statistics Module]] - The web statistics module documentation and counter wish list.&lt;br /&gt;
&lt;br /&gt;
==== Permissions ====&lt;br /&gt;
* [[OpenSim:Permissions(Server)]]   &amp;amp;mdash; Permissions system as implemented on the region server.&lt;br /&gt;
* [[OpenSim: Permissions]] &amp;amp;mdash; Notes on how object permissions are handled on the client.&lt;br /&gt;
&lt;br /&gt;
==== Physics ====&lt;br /&gt;
* [[PhysicsEngines]]   &amp;amp;mdash; Options for physics engines in OpenSim.&lt;br /&gt;
&lt;br /&gt;
==== Protocols ====&lt;br /&gt;
* [[Metaverse Exchange Protocol]] &amp;amp;mdash; MXP is alternative protocol for secondlife protocol.&lt;br /&gt;
&lt;br /&gt;
==== Regions ====&lt;br /&gt;
* [[OpenSim: Permissions]] &amp;amp;mdash; Notes on object permissions &amp;amp; definition of the ObjectFlags variable.&lt;br /&gt;
* [[OpenSim Load Balancing and Region Splitting]] - Instructions for using load balancing and region splitting features.&lt;br /&gt;
&lt;br /&gt;
==== Threading ====&lt;br /&gt;
* [[OpenSim: Threading strategy]] &amp;amp;mdash; How threading is implemented and handled.&lt;br /&gt;
&lt;br /&gt;
==== Scripting ====&lt;br /&gt;
* [[Scripting_Documentation]] &amp;amp;mdash; How to use scripts and what limitations apply.&lt;br /&gt;
* [[LSL_Status/Functions|LSL Implemented]]   &amp;amp;mdash; A list of LSL-functions that are available in OpenSim.&lt;br /&gt;
* [[OSSL]] &amp;amp;mdash; Some information about the OpenSimulator Scripting Language, and how to implement an OSSL function&lt;br /&gt;
* [[OpenSim.Region.ScriptEngine]] &amp;amp;mdash; How the ScriptEngine looks internally.&lt;br /&gt;
&lt;br /&gt;
==== Search ====&lt;br /&gt;
* [[OpenSim.Region.DataSnapshot]] - Shiny new data gathering/search system&lt;br /&gt;
* [[ImageService]] - Shiny new region module for serving search-related images&lt;br /&gt;
&lt;br /&gt;
==== Testing ====&lt;br /&gt;
* [[Automated_Testing]] &amp;amp;mdash; Writing Automated tests for OpenSim.&lt;br /&gt;
* [[Debugging Unit Tests]] &amp;amp;mdash; Debugging unit tests.&lt;br /&gt;
* [[OpenSim: Debugging - profiler dumps]] &amp;amp;mdash; Dumps of OpenSim profiles to aid in tracking memory leaks.&lt;br /&gt;
* [[Prim_Linking_Testing]] &amp;amp;mdash; Test cases for in world link/unlinking of prims.&lt;br /&gt;
&lt;br /&gt;
==Proposals==&lt;br /&gt;
&lt;br /&gt;
* [[Opensim: 0.5 Release Target Discussion]]&lt;br /&gt;
* [[Opensim: 0.6 Release Target Discussion]]&lt;br /&gt;
* [[Opensim: Future Release Discussion]]&lt;br /&gt;
&lt;br /&gt;
* [[A better SimCrossing]] - A work in progress about implementing a smooth simcrossing&lt;br /&gt;
* [[OpenID]] - Proposal for using OpenID in OpenSim&lt;br /&gt;
* [[AssetServerProposal]] - Proposal for a distributed asset server&lt;br /&gt;
* [[Creating profiles not used for login]] - RFC for alternative ways of creating profiles that will never be used for login&lt;br /&gt;
* [[OpenSim_Services_and_Service_Connectors]] - new infrastructure for connecting region simulators to backend services&lt;br /&gt;
* [[OpenSim Profile Anchors]] - a mechanism for retaining creator information for offline item transfers&lt;br /&gt;
* [[Explicit Object Serialization]] - a proposal to explicitly serialize scene objects rather than using automatic .NET XML serialization&lt;br /&gt;
&lt;br /&gt;
==== Proposed projects ====&lt;br /&gt;
&lt;br /&gt;
* [[OpenWiredux: Taking the next step]]&lt;br /&gt;
* [[Using SNMP in OpenSim]]&lt;br /&gt;
&lt;br /&gt;
==Communication==&lt;br /&gt;
&lt;br /&gt;
A good first point of contact is the OpenSim IRC, on irc.freenode.net channels #opensim / #opensim-dev. The OpenSim developers hold [[office hours]] once a week in-world on Tuesdays at &amp;quot;Wright Plaza&amp;quot; on OSGrid. There is a &amp;quot;Test Hour&amp;quot; on Saturdays, also generally on &amp;quot;Wright Plaza&amp;quot;. Both these weekly events are held at 1900UTC. Check on the #opensim IRC channel on Freenode just before each of these events if there is any confusion.&lt;br /&gt;
&lt;br /&gt;
There is also a mailman email distribution list available at https://lists.berlios.de/mailman/listinfo/opensim-dev&lt;br /&gt;
&lt;br /&gt;
==Interest Groups==&lt;br /&gt;
* [[OpenSim Quality Focus Group]] - A proposed group for developers interested in improving the quality of OpenSim as we head towards beta status.&lt;br /&gt;
&lt;br /&gt;
==SVN Access==&lt;br /&gt;
You can browse the source code for OpenSim [http://opensimulator.org/cgi-bin/viewvc.cgi using a web browser] or via SVN.&lt;br /&gt;
* Anonymous Checkout - see [[Download]]&lt;br /&gt;
* Developer Checkout&lt;br /&gt;
 svn co svn+ssh://USERNAME@opensimulator.org/var/svn/opensim/trunk&lt;br /&gt;
&lt;br /&gt;
==Submitting Patches==&lt;br /&gt;
&lt;br /&gt;
Please review [[Submitting_code_to_OpenSim]]&lt;br /&gt;
&lt;br /&gt;
==Recent SVN Commits==&lt;br /&gt;
&amp;lt;rss&amp;gt;http://cia.vc/stats/project/opensim/.rss|max=5|title=none&amp;lt;/rss&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Tech Reference]] &lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting_Started]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
&amp;lt;cleanpage title=hide cats=hide /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Automated_Testing</id>
		<title>Automated Testing</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Automated_Testing"/>
				<updated>2009-06-27T03:02:20Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Good / Bad Test practices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
As OpenSim matures, we are extremely interested in adding more automated verification into the OpenSim source tree.  Testing exists not only to prevent bugs from creeping in, but also to provide fair warning that the behavior of the system has changed, and tests may need updating.&lt;br /&gt;
&lt;br /&gt;
In OpenSim today we use NUnit tests.  Our conventions are:&lt;br /&gt;
# Tests should '''not''' exist inside runtime assemblies, as this makes nunit a production requirement&lt;br /&gt;
# Tests should be in .Tests.dll assemblies.  For instance, the tests for OpenSim.Data.SQLite.dll should be in the OpenSim.Data.SQLite.Tests.dll assembly.  This allows for easy removal of test assemblies in products.&lt;br /&gt;
# Tests should be as close to the code as possible, but not intermingled.  So the tests for OpenSim/Data/SQLite should be in OpenSim/Data/SQLite/Tests/.  Through the use of the '''Exclude''' keyword in prebuild.xml you can ensure that directory is part of OpenSim.Data.SQLite.Tests.dll and not OpenSim.Data.SQLite.dll. See exclude clarification in writing unit tests section.&lt;br /&gt;
# Tests testing a class should be grouped into a test class file called xxxTest.cs, where xxx is the name of the class that is being tested.&lt;br /&gt;
# Tests should be able to run safely in a production environment.  That means that care must be taken not to damage data on the machine that it is being run.&lt;br /&gt;
# Tests should be deterministic in other words repeatable. Avoid randomness in tests. See good and bad testing practices below.&lt;br /&gt;
&lt;br /&gt;
== Core Functionality Missing Unit Tests ==&lt;br /&gt;
&lt;br /&gt;
This is a list of functionality which is not covered by unit tests and is identified as highly desireable test target:&lt;br /&gt;
&lt;br /&gt;
# Database Modules (These are mysql tables)&lt;br /&gt;
## region ban&lt;br /&gt;
## land&lt;br /&gt;
## landaccesslist&lt;br /&gt;
&lt;br /&gt;
== Good / Bad Test practices ==&lt;br /&gt;
Creating good tests is an art, not a science.  Tests are useful by how many bugs they find or how many bugs they avoid.  Things you should think about in creating good tests is:&lt;br /&gt;
* Throwing edge cases, like 0, &amp;quot;&amp;quot;, or Null at parameters.  This ensures that people functions are hardened against incomplete data.  Many of our crashes come from the lack of this hardening showing up at just the wrong time.&lt;br /&gt;
* Use stateful testing to build up complex scenarios.  This is more useful than just cursory get / set calls.&lt;br /&gt;
* Random tests are not a good idea. We need test results to be deterministic. In other words tests need to be repeatable. If you want to test for a range it is good idea to make separate tests for min and max values. Random values in fields can fail randomly. When something goes wrong for example in database schema the developer will not necessarily notice if the stored values are random. On the other hand its hard to troubleshoot randomly failing tests as you dont know which specific value caused the failure.&lt;br /&gt;
* Tests should be independent and should not rely on another test being run, passing or failing. An excerpt from [http://xunitpatterns.com/Principles%20of%20Test%20Automation.html#Independent%20Test xUnit Patterns]:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;If tests are interdependent and (even worse) order dependent, we will be depriving ourselves of the useful feedback test failures provide. Interacting Tests [...] tend to fail in a group. The failure of a test that moved the [subject under test] into the state required by the dependent test will lead to the failure of the dependent test too. With both tests failing, how can we tell if it is because of a problem in code that both rely on in some way or is it a problem in code that only the first relies on. With both tests failing we can't tell. We are only talking about two tests here. Imagine how much worse this is with tens or hundreds of tests.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Only one function of the subject under test should be tested in one test. When testing a database access object, for example, write separate tests for creating DB entries, updating them and removing them.&lt;br /&gt;
* Do not use the subject under test to set up the state for the test or to verify the result. Use a different method. When testing a database access object, for example, use raw SQL to insert the initial data into the DB, then run the method being tested. To verify if the operation was successful, use raw SQL again to verify the DB changed as expected.&lt;br /&gt;
* Use descriptive asserts whenever you can. All you have to do is add an extra , to the Assert() method and write a string that will show when that test fails. For example:&lt;br /&gt;
  Assert.That(i,Is.EqualTo(5),&amp;quot;i is not equal to 5! in Example.Test1()&amp;quot;);&lt;br /&gt;
* When a test fails due to a uncaught exception, such as NullReference, nUnit does not report where it happened, leaving debuggers clueless. A good practive is to write something on the start of every test in your test file. This way if an exception is raised, someone could read the last lines written and see at least in what test it failed. Luckily, this routine is already implemented in OpenSim.Tests.Common.TestHelper InMethod().&lt;br /&gt;
&lt;br /&gt;
== Writing Tests ==&lt;br /&gt;
&lt;br /&gt;
See [http://www.nunit.org/index.php?p=quickStart&amp;amp;r=2.4 NUnit Quick Start] for an introduction to unit testing with NUnit.&lt;br /&gt;
&lt;br /&gt;
Writing a new unit test is pretty easy, and very helpful in increasing the stability of opensim by nailing down bugs.  I'm going to present an example here of SQLite Asset testing to show how simple such a test case is to write.  The actual in tree SQLite Asset tests are a little different because the code was factored out so that it was easily applied to any database driver, so don't be concerned with the fact that what you see here isn't in the tree.&lt;br /&gt;
&lt;br /&gt;
Exclude clarification: Make sure your master project (not the test project) has an entry for files like the following so that the test code is not included in the master project dll:&lt;br /&gt;
      &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;Files&amp;gt;&lt;br /&gt;
        &amp;lt;Match pattern=&amp;quot;*.cs&amp;quot; recurse=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Exclude name=&amp;quot;Tests&amp;quot; pattern=&amp;quot;Tests&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Match&amp;gt;&lt;br /&gt;
      &amp;lt;/Files&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NUnit Conventions ===&lt;br /&gt;
An NUnit test suite:&lt;br /&gt;
* is a class with a default constructor (takes no arguments)&lt;br /&gt;
* has public methods that are tests&lt;br /&gt;
* uses annotations to determine what are tests&lt;br /&gt;
* runs it's tests in '''alphabetical order by method name'''&lt;br /&gt;
&lt;br /&gt;
An NUnit test method:&lt;br /&gt;
* must be public&lt;br /&gt;
* must return void&lt;br /&gt;
* must take no arguments&lt;br /&gt;
* is successful if no exception or assert is thrown while running it&lt;br /&gt;
&lt;br /&gt;
The run order is important if you want to have early tests that setup some complicated state (like creating objects), and have later tests remove or update that state.  For that reason I find it very helpful to name all test methods '''Txxx_somename''' where '''xxx''' is a number between 000 and 999.  That guaruntees no surprises in run order.&lt;br /&gt;
&lt;br /&gt;
=== Fixture Setup / Teardown ===&lt;br /&gt;
&lt;br /&gt;
See [[Example Test SQLite Assets]] for this code snipped in context. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
[TestFixtureSetUp]&lt;br /&gt;
public void Init()&lt;br /&gt;
{&lt;br /&gt;
    uuid1 = UUID.Random();&lt;br /&gt;
    uuid2 = UUID.Random();&lt;br /&gt;
    uuid3 = UUID.Random();&lt;br /&gt;
    name1 = &amp;quot;asset one&amp;quot;;&lt;br /&gt;
    name2 = &amp;quot;asset two&amp;quot;;&lt;br /&gt;
    name3 = &amp;quot;asset three&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    asset1 = new byte[100];&lt;br /&gt;
    asset1.Initialize();&lt;br /&gt;
    file = Path.GetTempFileName() + &amp;quot;.db&amp;quot;;&lt;br /&gt;
    connect = &amp;quot;URI=file:&amp;quot; + file + &amp;quot;,version=3&amp;quot;;&lt;br /&gt;
    db = new SQLiteAssetData();&lt;br /&gt;
    db.Initialise(connect);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[TestFixtureTearDown]&lt;br /&gt;
public void Cleanup()&lt;br /&gt;
{&lt;br /&gt;
    db.Dispose();&lt;br /&gt;
    System.IO.File.Delete(file);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the case of testing something like the database layer, we have to actually attempt to store / retrieve things from a database.  Following from rule #4 of good tests, we want to make sure not to touch the production databases to run our tests, so during startup we generate a temporary file name which is guaranteed not to be an existing file on the system, and use that as our database file name.  By running db.Initialize() the OpenSim migration code will correctly populate that database with the latest schema.&lt;br /&gt;
&lt;br /&gt;
Once we are done with the tests we want to make sure we aren't leaving garbage temp files on the user's system.  So we remove that file we created.&lt;br /&gt;
&lt;br /&gt;
During setup we also create a set of state variables, such as 3 uuids, 3 strings, and a data block.  You could have always just stuck these inline, but variables are there for a reason, so use them.&lt;br /&gt;
&lt;br /&gt;
=== Test Setup / Teardown ===&lt;br /&gt;
&lt;br /&gt;
What's missing in [[Example Test SQLite Assets]] are individual test Setup and Teardown methods. These methods allow each test to be completely self sufficient without the code duplication needed to set up the test environment at the start of each test.&lt;br /&gt;
&lt;br /&gt;
Let's assume the &amp;lt;code&amp;gt;SQLiteAssetData&amp;lt;/code&amp;gt; class provided a &amp;lt;code&amp;gt;FetchAsset()&amp;lt;/code&amp;gt; method and a &amp;lt;code&amp;gt;UpdateAsset()&amp;lt;/code&amp;gt; method. Since every test should be independent of any other test, and &amp;lt;code&amp;gt;FetchAsset()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;UpdateAsset()&amp;lt;/code&amp;gt; should be tested in separate tests, that means each test would need to create its own entries in the asset table in order to succeed. You may have something like this (see [[Example Test SQLite Assets#This Test is Flawed|Example Test SQLite Assets]] for an explanation of &amp;lt;code&amp;gt;sqldb.executeSQL()&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;[Test]&lt;br /&gt;
public void T101_TestFetchAsset()&lt;br /&gt;
{&lt;br /&gt;
    AssetBase a1 = new AssetBase(...);&lt;br /&gt;
    sqldb.executeSQL(&amp;quot;INSERT INTO assets VALUES({0}, ...)&amp;quot;, a1.uuid, ...);&lt;br /&gt;
&lt;br /&gt;
    AssetBase a1_actual = db.FetchAsset(a1.uuid);&lt;br /&gt;
&lt;br /&gt;
    Assert.Equal(a1_actual.uuid, a1.uuid);&lt;br /&gt;
    Assert.Equal(a1_actual.Name, a1.Name);&lt;br /&gt;
    // etc&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[Test]&lt;br /&gt;
public void T103_TestUpdateAsset()&lt;br /&gt;
{&lt;br /&gt;
    AssetBase a1 = new AssetBase(...);&lt;br /&gt;
    sqldb.executeSQL(&amp;quot;INSERT INTO assets VALUES({0}, ...)&amp;quot;, a1.uuid, ...);&lt;br /&gt;
&lt;br /&gt;
    a1.Name = &amp;quot;new name&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    db.UpdateAsset(a1.uuid, a1);&lt;br /&gt;
&lt;br /&gt;
    AssetBase a1_actual = sqldb.executeSQL(&amp;quot;SELECT * FROM assets WHERE uuid = {0}&amp;quot;, a1.uuid);&lt;br /&gt;
&lt;br /&gt;
    Assert.Equal(a1_actual.uuid, a1.uuid);&lt;br /&gt;
    Assert.Equal(a1_actual.Name, a1.Name);&lt;br /&gt;
    // etc&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will note that both tests have the same code at the top in which they create an entry in the assets table. This duplicate code can be factored out into a Setup method, which is called before every test is executed (assume &amp;lt;code&amp;gt;a1&amp;lt;/code&amp;gt; is a class attribute):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
[SetUp]&lt;br /&gt;
public void SetUp()&lt;br /&gt;
{&lt;br /&gt;
    a1 = new AssetBase(...);&lt;br /&gt;
    sqldb.executeSQL(&amp;quot;INSERT INTO assets VALUES({0}, ...)&amp;quot;, a1.uuid, ...);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[TearDown]&lt;br /&gt;
public void TearDown()&lt;br /&gt;
{&lt;br /&gt;
    // clean up after ourselves so the next test has a clean DB to start with&lt;br /&gt;
    sqldb.executeSQL(&amp;quot;DELETE FROM assets&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[Test]&lt;br /&gt;
public void T101_TestFetchAsset()&lt;br /&gt;
{&lt;br /&gt;
    AssetBase a1_actual = db.FetchAsset(a1.uuid);&lt;br /&gt;
&lt;br /&gt;
    Assert.Equal(a1_actual.uuid, a1.uuid);&lt;br /&gt;
    Assert.Equal(a1_actual.Name, a1.Name);&lt;br /&gt;
    // etc&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[Test]&lt;br /&gt;
public void T103_TestUpdateAsset()&lt;br /&gt;
{&lt;br /&gt;
    a1.Name = &amp;quot;new name&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    db.UpdateAsset(a1.uuid, a1);&lt;br /&gt;
&lt;br /&gt;
    AssetBase a1_actual = sqldb.executeSQL(&amp;quot;SELECT * FROM assets WHERE uuid = {0}&amp;quot;, a1.uuid);&lt;br /&gt;
&lt;br /&gt;
    Assert.Equal(a1_actual.uuid, a1.uuid);&lt;br /&gt;
    Assert.Equal(a1_actual.Name, a1.Name);&lt;br /&gt;
    // etc&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also note the &amp;lt;code&amp;gt;TearDown()&amp;lt;/code&amp;gt; method; it is called after each test has run, regardless whether the test passed or failed. It deletes all the entries in the &amp;lt;code&amp;gt;assets&amp;lt;/code&amp;gt; table so that there is no leftover data in the database to interfere with the next test.&lt;br /&gt;
&lt;br /&gt;
==== Multiple Setup Methods ====&lt;br /&gt;
&lt;br /&gt;
Not all setup and teardown must happen in methods declared [SetUp] and [TearDown]. It may be useful to provide methods which perform part of the setup and to call them from whichever test may need it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
private AssetBase InsertAssetWithRandomData(UUID assetUuid)&lt;br /&gt;
{&lt;br /&gt;
    AssetBase asset = new AssetBase(assetUuid);&lt;br /&gt;
    asset.Name = somethingRandom();&lt;br /&gt;
    asset.Data = somethingRandom();&lt;br /&gt;
&lt;br /&gt;
    sqldb.executeSQL(&amp;quot;INSERT INTO assets VALUES({0}, ...)&amp;quot;, asset.uuid, ...);&lt;br /&gt;
&lt;br /&gt;
    return asset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[Test]&lt;br /&gt;
public void T201_TestNeedsTwoAssets()&lt;br /&gt;
{&lt;br /&gt;
    AssetBase a1 = InsertAssetWithRandomData(uuid1);&lt;br /&gt;
    AssetBase a2 = InsertAssetWithRandomData(uuid2);&lt;br /&gt;
    // etc&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[Test]&lt;br /&gt;
public void T203_TestNeedsFiveAssets()&lt;br /&gt;
{&lt;br /&gt;
    AssetBase a1 = InsertAssetWithRandomData(uuid1);&lt;br /&gt;
    AssetBase a2 = InsertAssetWithRandomData(uuid2);&lt;br /&gt;
    AssetBase a3 = InsertAssetWithRandomData(uuid3);&lt;br /&gt;
    AssetBase a4 = InsertAssetWithRandomData(uuid4);&lt;br /&gt;
    AssetBase a5 = InsertAssetWithRandomData(uuid5);&lt;br /&gt;
    // etc&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that &amp;lt;code&amp;gt;InsertAssetWithRandomData&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; as it's only called from within the class.&lt;br /&gt;
&lt;br /&gt;
=== Asserts ===&lt;br /&gt;
You will see scattered through the code '''Assert.That(...)'''.  These will throw an exception if the condition is not valid.  This format of assertions is called the [http://www.nunit.org/index.php?p=constraintModel&amp;amp;r=2.4 Constraint Model] in NUnit, and provides a large number of tests with the flavor of:&lt;br /&gt;
* Assert.That(foo, Is.Null)&lt;br /&gt;
* Assert.That(foo, Is.Not.Null)&lt;br /&gt;
* Assert.That(foo, Is.True)&lt;br /&gt;
* Assert.That(foo, Is.EqualTo(bar))&lt;br /&gt;
* Assert.That(foo, Text.Matches( &amp;quot;*bar*&amp;quot; ))&lt;br /&gt;
&lt;br /&gt;
Of note, Is.EqualTo uses the Equals function of foo, so this can only be used on objects that are IComparable.  Most of the OpenSim base objects are not, so you'll have to compare fields manually in tests.&lt;br /&gt;
&lt;br /&gt;
For the complete set of conditions you can use see [http://www.nunit.org/index.php?p=constraintModel&amp;amp;r=2.4 the Constraint Model NUnit documentation].  While there is another syntax for tests, the Constraint Model is preferred as it is far more human readable.&lt;br /&gt;
&lt;br /&gt;
=== Simple Negative Tests ===&lt;br /&gt;
&lt;br /&gt;
See [[Example Test SQLite Assets]] for this code snipped in context.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;[Test]&lt;br /&gt;
public void T001_LoadEmpty()&lt;br /&gt;
{&lt;br /&gt;
    Assert.That(db.ExistsAsset(uuid1), Is.False);&lt;br /&gt;
    Assert.That(db.ExistsAsset(uuid2), Is.False);&lt;br /&gt;
    Assert.That(db.ExistsAsset(uuid3), Is.False);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test T001 is an example of a simple negative test.  We assume a new database will not have any of those assets in them.  While the value of this test may look low, it does provide a baseline in ensuring that the database connection is there, that these return false correctly, and that no other exception is thrown.  Negative tests are a good way to force bounds conditions and ensure that not only does it  ''return what you expect'' it also ''doesn't return what you don't expect''.  Thought of another way, it ensures your code is somewhat defensive in nature, not coughing on bad or unexpected data.&lt;br /&gt;
&lt;br /&gt;
=== Simple Positive Tests ===&lt;br /&gt;
&lt;br /&gt;
See [[Example Test SQLite Assets]] for this code snipped in context.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
[Test]&lt;br /&gt;
public void T010_StoreSimpleAsset()&lt;br /&gt;
{&lt;br /&gt;
    AssetBase a1 = new AssetBase(uuid1, name1);&lt;br /&gt;
    AssetBase a2 = new AssetBase(uuid2, name2);&lt;br /&gt;
    AssetBase a3 = new AssetBase(uuid3, name3);&lt;br /&gt;
    a1.Data = asset1;&lt;br /&gt;
    a2.Data = asset1;&lt;br /&gt;
    a3.Data = asset1;&lt;br /&gt;
    &lt;br /&gt;
    db.CreateAsset(a1);&lt;br /&gt;
    db.CreateAsset(a2);&lt;br /&gt;
    db.CreateAsset(a3);&lt;br /&gt;
&lt;br /&gt;
    AssetBase a1a = db.FetchAsset(uuid1);&lt;br /&gt;
    Assert.That(a1a.ID, Is.EqualTo(uuid1));&lt;br /&gt;
    Assert.That(a1a.Name, Is.EqualTo(name1));&lt;br /&gt;
&lt;br /&gt;
    AssetBase a2a = db.FetchAsset(uuid2);&lt;br /&gt;
    Assert.That(a2a.ID, Is.EqualTo(uuid2));&lt;br /&gt;
    Assert.That(a2a.Name, Is.EqualTo(name2));&lt;br /&gt;
&lt;br /&gt;
    AssetBase a3a = db.FetchAsset(uuid3);&lt;br /&gt;
    Assert.That(a3a.ID, Is.EqualTo(uuid3));&lt;br /&gt;
    Assert.That(a3a.Name, Is.EqualTo(name3));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
T010 is an example of a simple positive test.  In it we create and store 3 assets (ensuring no exceptions), then load those 3 assets back from the database and ensure the fields are correct.  Because AssetBase is not IComparible we just check the ID and Name fields with equals tests.  If any of the Asserts fail, the whole test fails.&lt;br /&gt;
&lt;br /&gt;
=== Stateful Tests ===&lt;br /&gt;
&lt;br /&gt;
See [[Example Test SQLite Assets]] for this code snipped in context.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
[Test]&lt;br /&gt;
public void T011_ExistsSimpleAsset()&lt;br /&gt;
{&lt;br /&gt;
    Assert.That(db.ExistsAsset(uuid1), Is.True);&lt;br /&gt;
    Assert.That(db.ExistsAsset(uuid2), Is.True);&lt;br /&gt;
    Assert.That(db.ExistsAsset(uuid3), Is.True);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
T011 is an example of a stateful test, because it requires the state created by T010 (i.e. the creation of those 3 objects).  In order to test any kind of complicated scenario you will find that you need to use stateful tests to build up various amounts of state (testing along the way), then manipulating and possibly tearing it down.  Without doing this you can't do truly deep testing of function in any complex environment.  This example isn't very stateful (I tried to pick an easy example), but it should give you some ideas.&lt;br /&gt;
&lt;br /&gt;
=== Speculative Tests ===&lt;br /&gt;
Speculative tests are tests that might or might not apply in a given situation.  MySQL testing in the OpenSim tree is done by speculative testing, the tests will only run if there is a properly configured database, otherwise they will not be run.  If you execute '''Assert.Ignore()''' in a '''Test''' the test will end and be ignored.  If you run '''Assert.Ignore()''' in the '''TestFixtureSetup''' all tests in the test fixture will be skipped and ignored.&lt;br /&gt;
&lt;br /&gt;
Speculative testing lets you create tests that require certain preconditions to be met which you can't guarantee on all platforms/configuration, and are an important part of deep testing.&lt;br /&gt;
&lt;br /&gt;
== Adding Tests to the Tree ==&lt;br /&gt;
As we said previously all tests for assembly OpenSim.Foo (in directory OpenSim/Foo) should:&lt;br /&gt;
* be in assembly OpenSim.Foo.Tests.dll&lt;br /&gt;
* not be in the OpenSim.Foo.dll assembly&lt;br /&gt;
* be in OpenSim/Foo/Tests directory&lt;br /&gt;
&lt;br /&gt;
Also, if you have created a new test assembly you must add references to it in both ''.nant/local.include'' and ''.nant/bamboo.build'' to ensure that the assembly is added to the automated bamboo runs as well as the nant test target.&lt;br /&gt;
&lt;br /&gt;
== Executing Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Bamboo ===&lt;br /&gt;
On every commit to opensim all the tests are run on a [http://opensimulator.org:8085 Bamboo build server on opensimulator.org].  The process takes about 5 minutes to build, test, and report the results back out on #opensim-dev via the osmantis bot.&lt;br /&gt;
&lt;br /&gt;
=== Nant ===&lt;br /&gt;
You can manually run all the tests for OpenSim on your system by running '''nant test''' as a nant target.  This will run all the tests that are in the tree, though some speculative tests might be ignored if your platform does not have the right features or configuration to run these tests.&lt;br /&gt;
&lt;br /&gt;
=== NUnit Console ===&lt;br /&gt;
If you only want to run tests for one assembly you can do that using the NUnit Console.  On Linux just run '''nunit-console2 OpenSim.Foo.Tests.dll''' and it will run only the tests for OpenSim.Foo.Tests.dll.  If you are only making changes to 1 dll and just want a quick sanity check, this is the fastest way to do that.&lt;br /&gt;
&lt;br /&gt;
=== Debugging Tests ===&lt;br /&gt;
There is a special page dedicated to this. See [[Debugging Unit Tests]].&lt;br /&gt;
&lt;br /&gt;
== Learning More ==&lt;br /&gt;
You should definitely read the documentation at the [http://www.nunit.org/index.php?p=documentation NUnit homepage] if you want to know more about testing.  It's a very good reference for all the APIs in NUnit that you can use for creating tests.&lt;br /&gt;
&lt;br /&gt;
== Code Coverage ==&lt;br /&gt;
&lt;br /&gt;
A prototype has been included using monocov, which has a profile built-in in mono. Instructions for using monocov can be found on the Mono homepage, in [http://www.mono-project.com/Code_Coverage Code Coverage] section. Unfortunately nunit2 and nant do not support code coverage with monocov (only some other proprietary code coverages), so there is no &amp;lt;monocov&amp;gt; tag. The solution was to implement it using many nunit-console and on &amp;lt;exec&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
ATTENTION: Code coverage only works with mono 1.2.x , any other version will most likely not work. Code coverage development is being put on hold for now until it supports newer mono versions.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Download [http://primates.ximian.com/~lupus/monocov-0.2.tar.gz monocov] and [http://prdownloads.sourceforge.net/nunit/NUnit-2.4.8-net-2.0.zip?download nunit-console] if your nunit-console does not work. To test if it works (my Ubuntu's Hardy version did not), just run one of the tests with nunit-console.&lt;br /&gt;
&lt;br /&gt;
Install monocov (./configure, ./make install, there could be some minor conflicts, I had to add to the compiling line -I/usr/include/mono-1.0/) and make sure the working nunit-console.exe is in /usr/lib/nunit/nunit-console.exe. Now just run nant test-cov and it will generate .cov files and HTML directories in the cov directory. The .cov files can be seen by running monocov on them, and have the same information as the HTML directories.&lt;br /&gt;
&lt;br /&gt;
== Testing Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Coverage ===&lt;br /&gt;
&lt;br /&gt;
A prototype has been done and documented. Now we must keep a look if monocov will evolve to support newer mono versions.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Testing]]&lt;br /&gt;
&lt;br /&gt;
== Links to More Information on Unit Testing ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.nunit.org/index.php?p=quickStart&amp;amp;r=2.4 NUnit Quick Start]&lt;br /&gt;
* [http://xunitpatterns.com/ xUnit Patterns book homepage], with lots of information on good practices, patterns, code smells, etc.&lt;br /&gt;
* There is a lot of information on unit testing at the [http://c2.com/cgi/wiki?search=unittest Cunningham &amp;amp; Cunningham, Inc wiki at c2.com]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/FAQ</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/FAQ"/>
				<updated>2009-06-27T02:41:20Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
==About OpenSim==&lt;br /&gt;
===What is OpenSim?===&lt;br /&gt;
OpenSim is a platform for operating a virtual world, and supports multiple independent regions connecting to a single centralized grid.  This is somewhat similar to the web, where anyone can run their own web server, tied together through the internet.  It can also be used to create a private grid, analogous to a private intranet.&lt;br /&gt;
&lt;br /&gt;
===What is a region?===&lt;br /&gt;
A region is what you see when you log into OpenSim.  It is the physical place (well, virtual physical space) where avatars move and interact.  It is a square patch of land which may contain an island, mountains, a plain, buildings, etc., or just an ocean.&lt;br /&gt;
&lt;br /&gt;
===What is the grid?===&lt;br /&gt;
The grid is the level that organizes the regions and their positions in the world, and handles things that need to exist across regions, such as a user's inventory.  You can think of it as similar to the world map.&lt;br /&gt;
&lt;br /&gt;
===What does ... mean?===&lt;br /&gt;
See [[Technical_Reference | OpenSim:Technical Reference]] for definitions of some terms commonly used in OpenSim.&lt;br /&gt;
&lt;br /&gt;
==Configuring OpenSim==&lt;br /&gt;
First, read [[OpenSim Configuration]].&lt;br /&gt;
===Where can I get a new UUID for my sim config?===&lt;br /&gt;
* See [[OpenSim Configuration]]&lt;br /&gt;
&lt;br /&gt;
===Can I run multiple regions with OpenSim?===&lt;br /&gt;
* See [[OpenSim Configuration]]&lt;br /&gt;
&lt;br /&gt;
===What databases can be used with OpenSim?===&lt;br /&gt;
* See [[OpenSim Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
&lt;br /&gt;
===I get a bunch of ERROR: There was an error while scanning assembly:... &amp;lt;br&amp;gt;&lt;br /&gt;
errors on startup, but OpenSim appears to run normally.  Is this a problem?===&lt;br /&gt;
No.  These errors are being put out by the third party plugin scanning code.  As we have it scanning the entire bin/ directory, it picks up dlls which don't have the correct information to be scanned, and so puts out this error.  Don't worry about it :)&lt;br /&gt;
&lt;br /&gt;
For the record, the current set of errors are&lt;br /&gt;
&lt;br /&gt;
ERROR: There was an error while scanning assembly: /home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/PhysX-wrapper.dll (Could not load file or assembly '/home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/PhysX-wrapper.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)&lt;br /&gt;
&lt;br /&gt;
ERROR: There was an error while scanning assembly: /home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/ode-debug.dll (Could not load file or assembly '/home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/ode-debug.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)&lt;br /&gt;
&lt;br /&gt;
ERROR: There was an error while scanning assembly: /home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/ode.dll (Could not load file or assembly '/home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/ode.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)&lt;br /&gt;
&lt;br /&gt;
ERROR: There was an error while scanning assembly: /home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/openjpeg-libsl.dll (Could not load file or assembly '/home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/openjpeg-libsl.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)&lt;br /&gt;
&lt;br /&gt;
ERROR: There was an error while scanning assembly: /home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/sqlite3.dll (Could not load file or assembly '/home/caseyj/jc/it/v/virtual-worlds/second-life/servers/opensim/src/opensim-svn-minim/bin/sqlite3.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)&lt;br /&gt;
&lt;br /&gt;
===Errors about modules not found and RegionBanListItem could not be loaded===&lt;br /&gt;
&lt;br /&gt;
This is caused if you upgrade from trunk through svn and copy new files in the same directory.&lt;br /&gt;
To solve these errors during the startup of opensim.exe remove the following files from your bin folder:&lt;br /&gt;
&lt;br /&gt;
OpenSIm.DataStore.MSSQL.dll&lt;br /&gt;
&lt;br /&gt;
OpenSIm.DataStore.MSSQL.dll.mdm&lt;br /&gt;
&lt;br /&gt;
==OpenSim in the Wild==&lt;br /&gt;
===Are there test servers running OpenSim I can connect to?===&lt;br /&gt;
Yes.  Check out our [[Grid List]]! There are often many private servers up for testing. Hang out on the IRC channel (Freenode #opensim), and troll for URI's.&lt;br /&gt;
=== Can I teleport from the Linden Lab Second Life grid to my Sim? (updated!)===&lt;br /&gt;
Yes and No, Since the new public beta, launched on july 31th 2008 by Linden Lab, it is now possible to connect opensim servers/regions with the Second life grid, however this is not intended for regular users. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NOTE:&amp;lt;/font&amp;gt; currently it &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;ONLY&amp;lt;/font&amp;gt; works with the preview/beta grid of second life, not the main grid.)&amp;lt;br&amp;gt;&amp;lt;Br&amp;gt;&lt;br /&gt;
It's in an early development stage and thus geared towards developers of virtual world/techniques, and is all but easy to setup. &amp;lt;br&amp;gt;Furthermore, when an avatar is hopping from an SL region to an Opensim region, the avatar will be &amp;quot;ruthed&amp;quot;, meaning it will be the default Secondlife avatar. &amp;lt;br&amp;gt;NO assets (incl, shapes, skins, clothing etc) are tranfered during teleport, hence you wont have access to them, on the other grid. The beta test, is currently focussing on Teleportation between grids mainly. In the future, it should be possible to teleport WITH asset tranfers. But that wont be happening any time soon. &amp;lt;br&amp;gt;&amp;lt;Br&amp;gt;If you want to try it out, read this page for more info on how to get started (with all the risks involved, don't say i didn't warn you):&amp;lt;br&amp;gt;[http://blog.secondlife.com/2008/07/31/open-grid-public-beta-begins-today/ http://blog.secondlife.com/2008/07/31/open-grid-public-beta-begins-today/]&amp;lt;Br&amp;gt;&amp;lt;Br&amp;gt;&lt;br /&gt;
For normal operation, stick to the regular versions of opensim.&lt;br /&gt;
&lt;br /&gt;
==MySQL==&lt;br /&gt;
===How do I isolate and delete a user's Trash items in a MySQL grid database?===&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NOTE:&amp;lt;/font&amp;gt; BACK UP YOUR DATABASE!&lt;br /&gt;
&lt;br /&gt;
'''1.''' Locate the avatars UUID you wish to find the trash items of, in the '''users''' table&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;0.9em&amp;quot;&amp;gt;This query will locate a specified users UUID: (replace User/Test with username/lastname)&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT `UUID` FROM `users` WHERE `username` LIKE 'User' AND `lastname` LIKE 'Test' LIMIT 0 , 30;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''2.''' Use the avatars UUID to search the field_name '''AgentID''' in the '''inventoryFolders''' table, using '''Trash''' as the '''folderName''' to isolate the users Trash '''folderID'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;0.9em&amp;quot;&amp;gt;This query will locate the users Trash folder entry: (replace 00000000-0000-0000-0000-000000000000 with UUID of user)&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT `folderID` FROM `inventoryfolders` WHERE `agentID` LIKE '00000000-0000-0000-0000-000000000000' AND `folderName` LIKE 'Trash'&lt;br /&gt;
LIMIT 0 , 30;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''3.''' Use the '''folderID''' UUID obtained in the last query to find all of the trash items in the '''inventoryitems''' table, you can then delete them once you have isolated them.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;0.9em&amp;quot;&amp;gt;This query will locate the trash items of the avatar in question: (replace 00000000-0000-0000-0000-000000000000 with Trash folder UUID obtained in the last query)&amp;lt;/font&amp;gt; &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT * FROM `inventoryitems` WHERE `parentFolderID` LIKE '00000000-0000-0000-0000-000000000000' LIMIT 0 , 9999;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NOTE:&amp;lt;/font&amp;gt;''' These steps will not remove the associated assets from the assets table, just the items in the inventory '''inventoryitems''' table.&lt;br /&gt;
&lt;br /&gt;
===How do I isolate and resolve duplicate inventory folder entries in a MySQL grid database?===&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NOTE:&amp;lt;/font&amp;gt; BACK UP YOUR DATABASE!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1.''' It's first a good idea to search for the affected avatars UUID in the '''inventoryFolders''' table to see the duplicate entries. When you see this, you'll see the problem of duplicate entries. The key here will be to find out which is being used.&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''2.''' Upload a file inworld and name it something unique. This will isolate the UUID of your root folder that is being used (even though there are dups only one is being used)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3.''' Search the '''inventoryitems''' table for your uniquely named item and locate it's '''parentFolderID''' &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;0.9em&amp;quot;&amp;gt;This query will isolate the '''parentFolderID''' based on your search for the unique item (replace '''unique_name''' with your unique item name)&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT `parentFolderID` FROM `inventoryitems` WHERE `inventoryName` LIKE 'unique_name' LIMIT 0 , 30;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Check the '''inventoryfolders''' table against the '''parentFolderID''' UUID obtained in the last search. That is your root folder that is being used.. you can delete all duplicate entries that do not match that parentFolderID. In the end, you should only have one of each type (Trash, etc)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;0.9em&amp;quot;&amp;gt;This query will return all values that are NOT the parentID obtained in the last search. (replace 00000000-0000-0000-0000-000000000000 with the parentID located in step 3)&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT * FROM `inventoryfolders` WHERE `folderID` NOT LIKE '00000000-0000-0000-0000-000000000000' LIMIT 0 , 30;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==In World Questions==&lt;br /&gt;
=== Does in world scripting work yet? ===&lt;br /&gt;
Not fully implemented, but there is a lot of work going on here.  Please see [[ScriptEngines]], [[LSL Status]] and [[OSSL Status]] for the latest info.&lt;br /&gt;
&lt;br /&gt;
===Why do I walk through objects?===&lt;br /&gt;
Basicphysics doesn't support collisions between objects (just between you and the ground).  There is active work on other physics engines for OpenSim, the one that does most of the job and is most stable is the ODE (Open Dynamics Engine), which can be configured for use in OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
===Can I customize my avatar?===&lt;br /&gt;
Yes.  In order to do this:&lt;br /&gt;
* Click the Inventory Button&lt;br /&gt;
* Create -&amp;gt; New Clothes -&amp;gt; Shirt, Pants, etc&lt;br /&gt;
* Create -&amp;gt; New Body Parts -&amp;gt; Hair, Shape, etc&lt;br /&gt;
* Edit those from your inventory&lt;br /&gt;
* Wear them&lt;br /&gt;
&lt;br /&gt;
Your avatar doesn't always face a nice direction for doing this, so you'll need to use the camera operations to see your face for some of the modifications.  This is a known issue, will be fixed in the future. Also, you'll need to rewear you parts once you first join the environment.  Right now default appearance is always &amp;quot;Ruth&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Why do I look like I gas cloud right after I did the the previous steps?===&lt;br /&gt;
Second Life eliminated Ruth from their client. The Ruth we see in OpenSim is our own attempt of a Ioga teacher and not truly Second Life's Ruth. When you create a shirt, pants, skin and shape and wear them without changing any parameters, the Second Life Viewer understands you are not Ruth. Since Ruth is no more, you become a cloud of gas. To fix it, either change a parameter of one of them before wearing all 4, or, if you already are a gas cloud, right click one of these items in your inventory and click edit. That should bring up the edit appearance menus. Just move any sliders and voilá.&lt;br /&gt;
&lt;br /&gt;
===Why don't my terrain settings and prims stay through restarts?===&lt;br /&gt;
You haven't set it up to use a database.  See [[OpenSim_Database_support|OpenSim Database support]] for info on how to set it up to use a database. (SqLite is the easiest of these to set up and should probably be used by anyone unfamiliar with any of the options).&lt;br /&gt;
&lt;br /&gt;
===I used XEngine, but my recent update caused DotNetEngine to come on again===&lt;br /&gt;
There were some changes and you will need to change or create the line DefaultScriptEngine = &amp;quot;XEngine&amp;quot; in the startup section to get XEngine back. See [[ScriptEngines]]&lt;br /&gt;
&lt;br /&gt;
===Why doesn't my world map update when I edit the terrain?===&lt;br /&gt;
There are three approaches depending on just how adventurous you want to be.  From the least to the most adventurous:&lt;br /&gt;
* Wait two days.  You will need to restart your sim at the end of the two days to get the updates.&lt;br /&gt;
* Exit the .xml file for the region.  Change the value in the &amp;quot;lastmap_refresh&amp;quot; attribute to &amp;quot;0&amp;quot;.  You will need to restart the sim.&lt;br /&gt;
* Not for the faint of heart!  Edit the &amp;quot;WorldMapModule.cs&amp;quot; file and change the &amp;quot;LazySaveGeneratedMaptile&amp;quot; method to change the &amp;quot;RefreshSeconds&amp;quot; value to something less than two days.  Be sure to read the comments and understand why things are the way they are.&lt;br /&gt;
&lt;br /&gt;
Once your terrain stabilizes, this won't be much of a problem, but it is nice to see the updates while you're furiously developing something.&lt;br /&gt;
&lt;br /&gt;
===Why are my knees bent when I stand idle?===&lt;br /&gt;
This seems to be a result of the ODE Physics Engine on 64 bit systems.  A fix is to edit OpenSim.ini and change the following line:&lt;br /&gt;
* av_capsule_standup_tensor_linux = 550000&lt;br /&gt;
to&lt;br /&gt;
* av_capsule_standup_tensor_linux = 1700000&lt;br /&gt;
&lt;br /&gt;
Note that this line of code is under the [ODEPhysicsSettings] section of the OpenSim.ini file.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
=== After the shiny new grid is running, what is next? ===&lt;br /&gt;
* Make sure one can stop/restart UGA &amp;amp;S (sims). Check out any ordering issues of stop/restart UGA w/o stop/restart sim(s).&lt;br /&gt;
* Make sure one can add/delete both a region and a user from the database.&lt;br /&gt;
* Make sure it runs overnight and check it each morning by logging into 1 or 2 key sims.&lt;br /&gt;
* '&amp;lt;tt&amp;gt;tail -f userserver.log&amp;lt;/tt&amp;gt;' and watch/understand the login process.&lt;br /&gt;
* Make sure when you logoff your system, you can log back on and get control of the UGAS consoles.&lt;br /&gt;
&lt;br /&gt;
==Region Statistics on a Web Page==&lt;br /&gt;
===Information about your standalone region.===&lt;br /&gt;
Region statistics such as region name, avatar name, avatar position&amp;lt;x,y,z&amp;gt;, number of prims, and a lot of other information can be obtained on a web page by:&lt;br /&gt;
* Adding the following to the bottom of the [[Technical Reference/terms/OpenSim.ini | OpenSim.ini ]] file&lt;br /&gt;
  [WebStats]&lt;br /&gt;
  enabled=true&lt;br /&gt;
* Using a web browser and typing in the &amp;quot;Login URI&amp;quot; + &amp;quot;/SStats/&amp;quot; of your standalone server.  &lt;br /&gt;
  For example- &amp;lt;nowiki&amp;gt;http://127.0.0.1:9000/SStats/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The resulting web page is continually updated using AJAX, so there is no need to refresh the page to obtain current information. One possible use for this web page information would be to see who is logged on to the region in real time - without actually logging in.&amp;lt;br&amp;gt;&lt;br /&gt;
This web page provides region information similar to the kind generated by using various server console commands to obtain region statistics. See [[Technical_Reference/Server_Commands | Server_Commands]]&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== You guys like April 1st, eh?  Looks like the joke is on us... ===&lt;br /&gt;
Yes, every year we've had a piece of non destructive code in the unstable, unreleased, upstream subversion tree.  The source tree that is only designed for testers and developers.  In each case it has shown something that is possible in OpenSim that most people might not have realized.  In 2008 this was an avatar created entirely from a Region Module (no user), in 2009 it was making all users a giant (and I mean giant) stick bug avatar.  There will be more in the future, don't worry.  The developers seem to have a sense of humor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Development_Team</id>
		<title>Development Team</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Development_Team"/>
				<updated>2009-04-02T13:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Additional Developers/Testers/Contributors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Active OpenSim Core Developers ==&lt;br /&gt;
These people have commit access to our central SVN server and are [http://www.ohloh.net/projects/4753/contributors regular contributors] to the codebase.&lt;br /&gt;
&lt;br /&gt;
(please add in as much info as you like for your name)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Photo &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MW |MW ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darren&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSG:Wright Juran&amp;lt;br/&amp;gt;TN:Darren Guard&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://tribalmedia.se/ Tribal Media AB]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Everything&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:lbsa71|lbsa71]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Stefan Andersson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tribal Skytower&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSG:Stefan Andersson&amp;lt;br/&amp;gt;TN:Stefan Andersson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://tribalmedia.se/ Tribal Media AB]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Integration&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Adam Frisby|Adam Frisby]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Frisby&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Zaius&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;DeepThink Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Terrain, Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MingChen|MingChen]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike/Michael Ortman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ming Chen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6 (-5 in Summer)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;DeepThink Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Estate/Parcel Support/Modules/Keeping things all neat and tidy.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt; &lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:SeanDague|sdague]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sean Dague&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Neas Bade&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Database, Linux, Testing, Misc&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Tedd|Tedd]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Hansen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Maa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Hansen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming/Scripting/Architecture&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ckrinke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charles&amp;amp;nbsp;Krinke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charlesk&amp;amp;nbsp;Bing&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Reliability/Grid servers/ll-functions&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:chi11ken|chi11ken]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeff Ames&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Chillken Proto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.genkii.com Genkii]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:adjohn|adjohn]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Johnson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Zeuz Zenovka&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.genkii.com Genkii]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:joha1|joha1]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Johan Berntsson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Joppi Brandenburg&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Performance, packet handling/libSL&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Teravus|Teravus]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Teravus&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Teravus Ousley&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;W3z&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics &amp;amp; Admin tools, A working sim.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:justincc|justincc]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Justin Clark-Casey&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Lulworth Beaumont&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Justin Clark-Casey (osgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Black Dress Technology&amp;lt;br/&amp;gt;[http://justincc.wordpress.com justincc's OpenSim blog]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, performance &amp;amp; reliability, inventory (avatar and object), assets, scenes, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:DrScofield|drscofld]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dirk Husemann&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dr Scofield&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;reliability, networking protocols, voice, inventory, assets, remote control, and pretty much everything else :-)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:dahlia|dahlia]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;T. Hoff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dahlia Trimble&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 / -7&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;prim collision geometry, more later :)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mikem|mikem]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;patches, scripting improvements, LSL compiler&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Melanie_T|Melanie_T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Melanie&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Melanie Milland&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scripting, Prims/Scene, Life, The Universe, and Everything&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:HomerHorwitz|homerh]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Homer Horwitz&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Homer Horwitz&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;rev. engineering, &amp;quot;now, that's funny&amp;quot; problems, but still interested in all parts of it&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Diva|Diva]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Crista Lopes&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Diva Canto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Crista Lopes / Diva Canto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;University of California, Irvine&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Everything, except databases&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:nlin|nlin]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;N Lin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Standard Drucker&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics, scripting, more to come&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:arthursv|arthursv]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Arthur Valadares&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Arthur Valadares&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-3&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Unit testing, database plugins, bug fixes, general &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retired OpenSim core developers ==&lt;br /&gt;
&lt;br /&gt;
These people are core developers who have transcended our mortal plane (i.e. they are no longer active).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Photo &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:babblefrog|babblefrog]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian McBee&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dogen Coldstream&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Babblefrog Ballistic (osgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Disorganized&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:danx0r|danx0r]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dan Miller&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Albert Pascal&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;squiggle.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PHEEZIKS; everything&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tleiades&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tleiades&amp;amp;nbsp;Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid servers/Database&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Darok|Darok]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darok Kaminski&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics engines (especially BulletX)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth / Gwen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Nelson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Ellison&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Nelson (on everywhere but SL)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;BST (UTC+1)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Litesim Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid servers, sim border crossing, avatar animations&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:dalien|dalien]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dalien Talbot&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dalien Talbot&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mostly TCP-based&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Small fixes; rev.eng./prototyping; nightlies; git-keeper &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Alondria]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Alondria LeFay&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Alondria LeFay (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Implementation of LSL functions and other scripting tidbits.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Developers/Testers/Contributors ==&lt;br /&gt;
These people have contributed bug reports, patches or other contributions to OpenSim.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nebadon|Nebadon]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Cerquoni&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nebadon Izumi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nebadon Izumi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-7 Arizona&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Oni Kenkon Creations&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jtclark48|jclark4]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jay Clark&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jay Clarke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics, Grid Host, AI, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:AdamStevenson|BigFootAg]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Stevenson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adamus Petrov&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Texas A&amp;amp;M University&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AI, Skynet, Evolving Systems, Biology&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jeff1564|Jeff1564]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Potter Taurog&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rock_Vacirca&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Colin Withers&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rock Vacirca&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://rock-vacirca.blogspot.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, building, scripting, maintaining an opensim blog.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;simsim&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;caocao&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing whole functions of OpenSim system,working with OpenSim-Engine,reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Vicero Lambert|Vicero Lambert]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ldvoipeng&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;idoru&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Magi|Magi]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andy Agnew&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Magi Merlin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Spun Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;3D Web Integration, Database stuff and playing with the odds and ends box.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;john_&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;John&amp;amp;nbsp;Moyer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;VAJohn&amp;amp;nbsp;GeekSquad or&amp;amp;nbsp;Matthew&amp;amp;nbsp;Kendal&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Best&amp;amp;nbsp;Buy/Geek&amp;amp;nbsp;Squad&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tester&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:ClarkZone|ClarkZone]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Admin(@ClarkZone)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Childs&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Admin (ClarkZone)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Http://clarkzone.dyndns.org&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tester and Grid Host&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:aiaustin|aiaustin]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai Austin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai&amp;amp;nbsp;Austin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai&amp;amp;nbsp;AIAI&amp;amp;nbsp;(AIAI Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AIAI,&amp;amp;nbsp;University&amp;amp;nbsp;of&amp;amp;nbsp;Edinburgh&amp;lt;br&amp;gt;http://www.aiai.ed.ac.uk/~ai/&amp;lt;br&amp;gt;http://vue.ed.ac.uk/openvue/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Windows Vista tests&amp;lt;br&amp;gt;Content testing&amp;lt;br&amp;gt;Use of multiple VWs&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marc Manders&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marc Manders&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;marcmanders@gmail.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;creative features&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:balthazar|balthazar]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Trevor Brooks&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Balthazar Sin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Terrains, testing and some small coding tasks&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jimbo2120|jimbo2120]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Osias&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Illuminous Beltran&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, AI, Skynet, coding and testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Sakai|Sakai]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Steve S&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sakai Openlife (OpenlifeGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.openlifegrid.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Hardware, Testing, Contribution&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ZeroPoint&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Guilderoy&amp;amp;nbsp;Dench&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming/Database&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;MaltosSosa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa (Central Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Central Grid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid Operator, Central Grid Project Manager. Anything we can offer, just ask.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:DerekTang|DerekTang]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Tang&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Timeless&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Tang (ChineseGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://ChineseGrid.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Running a public WINDOWS sim for testing, Docs, Helping Chinese users to enjoy OpenSim; building Chinese OpenSim communities. In construction...&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:TayB|TayB]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Earl B&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Taylor Boyau&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ViziGrid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid Host,Networking,Contributions &amp;amp; Testing.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:JamieDav|JamieDav]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamie David&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamie David&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+7&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Forum&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Sim, Avitar, Functionality&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Krtaylor|Krtaylor]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kurt Taylor&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kurt Stringer &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Networking, Monitoring, Scripting, Inventory, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nink|Nink]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Peter Finn&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nink Noonan&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Disruptive Influence.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Bruce|Bruce]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bruce Meerson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bruce Meerson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;HiPiHi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Watching.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Darb|DarbD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian B. Quinn&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darb Dabney&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;regions&amp;lt;br /&amp;gt;near Marin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PST/SLT (-7 or -8)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;County of Marin, California&amp;lt;br /&amp;gt; http://blog.simgis.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;LiDAR-based sculpties, real-world terrain, &amp;lt;br /&amp;gt;pursuit of civic paraverses &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[CharlieO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dan&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charlie Omega&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mild coding/tweaking/simple feature adds, Stress testing/break stuff, Testing limits of existing code. Making sure [[LSL Status]] is up to date&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;oobscure&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Opensource Obscure&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.opensim.it&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Running a public Linux sim for testing, Docs, Helping italian users, Building opensim communities, Watching&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;pitman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike Pitman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rez Tone&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scientific visualization schemes, virt world product design, persistant workspaces, virt world based big biz&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;cmu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Christopher Mumme&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Snook Destiny&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.cmu-develop.de/ and research group &amp;quot;Collaboration Systems and CSCW&amp;quot; at Clausthal University of Technology&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing OpenSim, working with OpenSim-Engine, reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Silpol]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andriy Tymchenko&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andy Tir&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;EET (+2/3)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; http://silpol.blogspot.com/ (also visible at Nokia)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;highly uncoordinated mess with elements of palace games, under-table diplomacy, rebellion, coup d'état and mutiny. optionally pirate&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Grumly|Grumly]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Forest Klaar&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grumly TheBear&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.NET MCAD Dev/Arch/Trainer http://www.devoteam.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Trying to get into OpenSim code for now. Particularly interrested in data persistence. blog (Hello, Avatar!): http://lslblog.free.fr&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[daTwitch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;James G. Stallings II&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br&amp;gt;Lazarus Longstaff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Hiro Protagonist (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;House Husband&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSGrid Region owner, OSGrid Operator,&amp;lt;BR&amp;gt;Forum Admin, sometime wiki editor&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;gryc&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Ueusp&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Uriza&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Uriza(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PHP scripting, web interfaces, interconnectivity, cross-platformedness&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Phrearch|Phrearch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeroen van Veen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Phrearch Miles&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Phrearch Miles(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Amsterdam/Paris&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;WiXTD, Wikidoc and Moo&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Burnman|Burnman]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Allen Wilkins&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Burnman Bedlam&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sid Green (United Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Boston, USA&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;United Grid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, testing, and more testing! Getting familiar with the source, interested in all aspects of the project.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:krisbfunk|krisbfunk]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kris Bulman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;krisbfunk Vought&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Krisbfunk Nocturnal(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PE, Canada (-4)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Edactive Technologies&amp;lt;br /&amp;gt;NocturnalEye Productions&amp;lt;br /&amp;gt;UPEI&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Currently: Testing, bug reports, wiki updating, building on OSGrid&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[User:HashBox|HashBox]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Sibariel Darkstone&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Sibariel Darkstone (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;New Zealand (+12)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Testing, bug reports, and updating the wiki.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Kinoc|Kinoc]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kino Coursey&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxxon Jaxxon&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxxon Kinoc (OSgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxtron Laboratories &amp;lt;br /&amp;gt; http://www.daxtron.com&amp;lt;br /&amp;gt; University of North Texas&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AI, Semantic web, Ontologies, Natural Laanguage Processing, Cyc, Bots, NPC &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:trapuh|trapuh]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Pedro Ribeiro&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Vaiten Forder&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;University Student, Escola Superior de Educação de Viseu, Portugal &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, eventual bug reports and wiki. Music, web/digital arts and php+sql.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:SonicViz|SonicViz]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Paul Cohen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Komuso Tokugawa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Http://sonicviz.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Audio/Music, Interactive Music, Control Protocols, Interfaces, VisualFX, Procedural animation/Generative systems + testing and general dev&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mokele|mokele]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scott Norman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mokelembembe Mokeev&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 (Southern California)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Developer (PHP and MySQL)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Interested in seeing running on PowerPC Macs which it is. So, when I can, I'll compile and test on PowerPC Mac (PowerBook G4) and submit reports and then update the wiki if need on installing on Mac. Also have a Ubuntu 7.10 server that  I can do testing on too.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:devalnor|devalnor]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Devalnor&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;M. Watkin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1 (Belgium)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Small Patch code, bug reports, and updating the wiki.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Ezekiel|Ezekiel]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ezekiel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ezekiel Zabelin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1 &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.yosims.com &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Concepts, business aspects of virtual worlds - web developer (PHP, MySQL, Javascript, LSL) &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Buggmaster|Buggmaster]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike D&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bug Master&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.adultmetaverse.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Data/Web PHP/PERL/MySQL&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nixnerd|nixnerd]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dangerously Moody&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.integratedtechnologies.eu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cross Platform Testing, Feedback, Bug Reporting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MoHax|mohax]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mo Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mo Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5 Eastern&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, Feedback, Content Contributions, Bug Reporting, Documenting, Development&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Webmage|webmage]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;webmage&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Leyla Masala&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Mage&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, terrain&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:NLStitch|NLStitch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marijn Oosterveld&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Stitch Seale&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NYA&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT +1 Amsterdam&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Twingate Systems (http://www.twingate.nl)&amp;lt;br&amp;gt;HanzeHogeschool Groningen, Netherlands&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming, Photography, AI&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Ideia Boa|Ideia Boa]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Joao Lopes&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ideia Boa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ideia Boa or Boa Ideia in some grids&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GTM+1 Stockholm/Sweden&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;WorldSimTERRA - Virtual World that speaks Portuguese too&amp;lt;br /&amp;gt;http://www.worldsimterra.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing and more testing! Updating the original wiki and translating the OpenSim Wiki into Portuguese and reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Lulurun|lulurun]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;liu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;3Di Inc, Japan &amp;lt;br /&amp;gt;http://www.3di.jp&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;patches, openid, server performance, UGAI&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Carlosroundel|Carlosrounde]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Carlosroundel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Carlos Roundel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cyberlandia Italy&amp;lt;br /&amp;gt;http://www.cyberlandia.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;grid, programmer, database, tester&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mikebert|Mikebert]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Strunck&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mikebert Miles&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mikebert M34&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OpenSIM Wiki, Germany&amp;lt;br /&amp;gt;http://www.opensim.de&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;German Wiki, Translater, Server Performance (Linux/Windows), Tester, Feedback, Bug Reporting, Server-Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Fly-man-|Fly-Man-]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Laurence&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Fly Man&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, OpenSimSearch, OpenSimProfile, OpenWiredux&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Taoki&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mircea Kitsune / Taoki Vixen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mircea Kitsune (OSGrid) / Mircea Lobo (LL grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT +2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Usually testing and bug reporting but I also make smaller patches where I know what to do.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Patnad|Patnad]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patrick&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patnad Babii&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patnad Babii (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT -5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bug testing and reporting, I code C# but haven't touched OpenSim Project.. Yet!&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Hallow Palmer|Hallow Palmer]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Markus&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Hallow Palmer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid4Us&amp;lt;br /&amp;gt;http://www.grid4us.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Server Performance (Windows), Tester, Feedback, Business concepts,Bug Reporting, Server-Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:^DarkMan|^DarkMan]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian Adair&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patrick Ouachita&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian Adair | Patrick Meta&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6 CST&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;RealMetaLife | B&amp;amp;H Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:tlaukkan|Tommi Laukkanen]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tommi Laukkanen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tommi Laukkanen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+2 GMT&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.bubblecloud.org&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Protocols ([http://www.bubblecloud.org MXP]), NHibernate, Scrip API, Map Generation, Bug Fixes, Grid Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:bikcmp|bikcmp]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jason&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;EST&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Blue Software&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;God power, reporting and fixing bugs, and overall performance.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mystical|Mystical]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kevin Tweedy&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mystical Demina&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mystical Demina&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Extreme Reality Grid&amp;lt;br /&amp;gt;http://www.XRGrid.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Windows Communication Framework, Windows Workflow,Entity Framework, MSSQL&amp;lt;br/&amp;gt;Enhancements,Commerce, Content,DotNetNuke based portal, development services&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Godfrey|Godfrey]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeff Lee&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Warin Cascabel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5 (EST5EDT)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, minor bugfixes. Scripting, building, animating&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamenai&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Christopher Händler&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamenai Luik&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamenai Luik&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Playneko Grid | XIMDEX Jamenai&amp;lt;br /&amp;gt;http://www.playneko.de&amp;lt;br&amp;gt;http://www.ximdex.de&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Server Performance (Linux/Windows),Bug Reporting, Server-Hosting, Grid-Owner, Scripting (PHP, Perl, JavaScript, LSL)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:Main]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Development_Team</id>
		<title>Development Team</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Development_Team"/>
				<updated>2009-04-02T13:01:12Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Active OpenSim Core Developers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Active OpenSim Core Developers ==&lt;br /&gt;
These people have commit access to our central SVN server and are [http://www.ohloh.net/projects/4753/contributors regular contributors] to the codebase.&lt;br /&gt;
&lt;br /&gt;
(please add in as much info as you like for your name)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Photo &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MW |MW ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darren&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSG:Wright Juran&amp;lt;br/&amp;gt;TN:Darren Guard&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://tribalmedia.se/ Tribal Media AB]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Everything&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:lbsa71|lbsa71]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Stefan Andersson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tribal Skytower&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSG:Stefan Andersson&amp;lt;br/&amp;gt;TN:Stefan Andersson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://tribalmedia.se/ Tribal Media AB]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Integration&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Adam Frisby|Adam Frisby]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Frisby&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Zaius&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;DeepThink Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Terrain, Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MingChen|MingChen]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike/Michael Ortman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ming Chen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6 (-5 in Summer)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;DeepThink Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Estate/Parcel Support/Modules/Keeping things all neat and tidy.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt; &lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:SeanDague|sdague]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sean Dague&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Neas Bade&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Database, Linux, Testing, Misc&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Tedd|Tedd]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Hansen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Maa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Hansen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming/Scripting/Architecture&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ckrinke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charles&amp;amp;nbsp;Krinke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charlesk&amp;amp;nbsp;Bing&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Reliability/Grid servers/ll-functions&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:chi11ken|chi11ken]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeff Ames&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Chillken Proto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.genkii.com Genkii]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:adjohn|adjohn]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Johnson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Zeuz Zenovka&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.genkii.com Genkii]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:joha1|joha1]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Johan Berntsson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Joppi Brandenburg&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Performance, packet handling/libSL&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Teravus|Teravus]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Teravus&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Teravus Ousley&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;W3z&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics &amp;amp; Admin tools, A working sim.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:justincc|justincc]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Justin Clark-Casey&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Lulworth Beaumont&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Justin Clark-Casey (osgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Black Dress Technology&amp;lt;br/&amp;gt;[http://justincc.wordpress.com justincc's OpenSim blog]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, performance &amp;amp; reliability, inventory (avatar and object), assets, scenes, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:DrScofield|drscofld]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dirk Husemann&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dr Scofield&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;reliability, networking protocols, voice, inventory, assets, remote control, and pretty much everything else :-)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:dahlia|dahlia]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;T. Hoff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dahlia Trimble&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 / -7&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;prim collision geometry, more later :)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mikem|mikem]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;patches, scripting improvements, LSL compiler&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Melanie_T|Melanie_T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Melanie&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Melanie Milland&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scripting, Prims/Scene, Life, The Universe, and Everything&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:HomerHorwitz|homerh]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Homer Horwitz&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Homer Horwitz&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;rev. engineering, &amp;quot;now, that's funny&amp;quot; problems, but still interested in all parts of it&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Diva|Diva]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Crista Lopes&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Diva Canto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Crista Lopes / Diva Canto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;University of California, Irvine&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Everything, except databases&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:nlin|nlin]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;N Lin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Standard Drucker&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics, scripting, more to come&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:arthursv|arthursv]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Arthur Valadares&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Arthur Valadares&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-3&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Unit testing, database plugins, bug fixes, general &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retired OpenSim core developers ==&lt;br /&gt;
&lt;br /&gt;
These people are core developers who have transcended our mortal plane (i.e. they are no longer active).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Photo &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:babblefrog|babblefrog]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian McBee&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dogen Coldstream&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Babblefrog Ballistic (osgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Disorganized&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:danx0r|danx0r]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dan Miller&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Albert Pascal&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;squiggle.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PHEEZIKS; everything&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tleiades&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tleiades&amp;amp;nbsp;Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid servers/Database&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Darok|Darok]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darok Kaminski&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics engines (especially BulletX)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth / Gwen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Nelson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Ellison&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Nelson (on everywhere but SL)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;BST (UTC+1)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Litesim Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid servers, sim border crossing, avatar animations&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:dalien|dalien]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dalien Talbot&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dalien Talbot&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mostly TCP-based&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Small fixes; rev.eng./prototyping; nightlies; git-keeper &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Alondria]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Alondria LeFay&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Alondria LeFay (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Implementation of LSL functions and other scripting tidbits.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Developers/Testers/Contributors ==&lt;br /&gt;
These people have contributed bug reports, patches or other contributions to OpenSim.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nebadon|Nebadon]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Cerquoni&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nebadon Izumi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nebadon Izumi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-7 Arizona&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Oni Kenkon Creations&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jtclark48|jclark4]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jay Clark&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jay Clarke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics, Grid Host, AI, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:AdamStevenson|BigFootAg]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Stevenson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adamus Petrov&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Texas A&amp;amp;M University&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AI, Skynet, Evolving Systems, Biology&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jeff1564|Jeff1564]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Potter Taurog&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rock_Vacirca&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Colin Withers&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rock Vacirca&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://rock-vacirca.blogspot.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, building, scripting, maintaining an opensim blog.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;simsim&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;caocao&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing whole functions of OpenSim system,working with OpenSim-Engine,reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Vicero Lambert|Vicero Lambert]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ldvoipeng&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;idoru&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Magi|Magi]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andy Agnew&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Magi Merlin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Spun Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;3D Web Integration, Database stuff and playing with the odds and ends box.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;john_&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;John&amp;amp;nbsp;Moyer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;VAJohn&amp;amp;nbsp;GeekSquad or&amp;amp;nbsp;Matthew&amp;amp;nbsp;Kendal&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Best&amp;amp;nbsp;Buy/Geek&amp;amp;nbsp;Squad&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tester&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:ClarkZone|ClarkZone]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Admin(@ClarkZone)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Childs&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Admin (ClarkZone)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Http://clarkzone.dyndns.org&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tester and Grid Host&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:aiaustin|aiaustin]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai Austin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai&amp;amp;nbsp;Austin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai&amp;amp;nbsp;AIAI&amp;amp;nbsp;(AIAI Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AIAI,&amp;amp;nbsp;University&amp;amp;nbsp;of&amp;amp;nbsp;Edinburgh&amp;lt;br&amp;gt;http://www.aiai.ed.ac.uk/~ai/&amp;lt;br&amp;gt;http://vue.ed.ac.uk/openvue/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Windows Vista tests&amp;lt;br&amp;gt;Content testing&amp;lt;br&amp;gt;Use of multiple VWs&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marc Manders&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marc Manders&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;marcmanders@gmail.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;creative features&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:balthazar|balthazar]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Trevor Brooks&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Balthazar Sin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Terrains, testing and some small coding tasks&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jimbo2120|jimbo2120]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Osias&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Illuminous Beltran&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, AI, Skynet, coding and testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Sakai|Sakai]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Steve S&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sakai Openlife (OpenlifeGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.openlifegrid.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Hardware, Testing, Contribution&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ZeroPoint&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Guilderoy&amp;amp;nbsp;Dench&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming/Database&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;MaltosSosa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa (Central Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Central Grid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid Operator, Central Grid Project Manager. Anything we can offer, just ask.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:DerekTang|DerekTang]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Tang&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Timeless&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Tang (ChineseGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://ChineseGrid.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Running a public WINDOWS sim for testing, Docs, Helping Chinese users to enjoy OpenSim; building Chinese OpenSim communities. In construction...&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:TayB|TayB]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Earl B&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Taylor Boyau&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ViziGrid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid Host,Networking,Contributions &amp;amp; Testing.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:JamieDav|JamieDav]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamie David&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamie David&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+7&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Forum&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Sim, Avitar, Functionality&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Krtaylor|Krtaylor]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kurt Taylor&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kurt Stringer &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Networking, Monitoring, Scripting, Inventory, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nink|Nink]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Peter Finn&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nink Noonan&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Disruptive Influence.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Bruce|Bruce]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bruce Meerson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bruce Meerson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;HiPiHi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Watching.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Darb|DarbD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian B. Quinn&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darb Dabney&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;regions&amp;lt;br /&amp;gt;near Marin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PST/SLT (-7 or -8)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;County of Marin, California&amp;lt;br /&amp;gt; http://blog.simgis.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;LiDAR-based sculpties, real-world terrain, &amp;lt;br /&amp;gt;pursuit of civic paraverses &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[CharlieO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dan&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charlie Omega&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mild coding/tweaking/simple feature adds, Stress testing/break stuff, Testing limits of existing code. Making sure [[LSL Status]] is up to date&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;oobscure&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Opensource Obscure&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.opensim.it&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Running a public Linux sim for testing, Docs, Helping italian users, Building opensim communities, Watching&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;pitman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike Pitman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rez Tone&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scientific visualization schemes, virt world product design, persistant workspaces, virt world based big biz&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;cmu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Christopher Mumme&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Snook Destiny&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.cmu-develop.de/ and research group &amp;quot;Collaboration Systems and CSCW&amp;quot; at Clausthal University of Technology&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing OpenSim, working with OpenSim-Engine, reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Silpol]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andriy Tymchenko&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andy Tir&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;EET (+2/3)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; http://silpol.blogspot.com/ (also visible at Nokia)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;highly uncoordinated mess with elements of palace games, under-table diplomacy, rebellion, coup d'état and mutiny. optionally pirate&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Grumly|Grumly]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Forest Klaar&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grumly TheBear&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.NET MCAD Dev/Arch/Trainer http://www.devoteam.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Trying to get into OpenSim code for now. Particularly interrested in data persistence. blog (Hello, Avatar!): http://lslblog.free.fr&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[daTwitch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;James G. Stallings II&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br&amp;gt;Lazarus Longstaff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Hiro Protagonist (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;House Husband&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSGrid Region owner, OSGrid Operator,&amp;lt;BR&amp;gt;Forum Admin, sometime wiki editor&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;gryc&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Ueusp&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Uriza&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Uriza(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PHP scripting, web interfaces, interconnectivity, cross-platformedness&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Phrearch|Phrearch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeroen van Veen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Phrearch Miles&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Phrearch Miles(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Amsterdam/Paris&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;WiXTD, Wikidoc and Moo&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Burnman|Burnman]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Allen Wilkins&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Burnman Bedlam&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sid Green (United Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Boston, USA&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;United Grid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, testing, and more testing! Getting familiar with the source, interested in all aspects of the project.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:krisbfunk|krisbfunk]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kris Bulman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;krisbfunk Vought&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Krisbfunk Nocturnal(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PE, Canada (-4)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Edactive Technologies&amp;lt;br /&amp;gt;NocturnalEye Productions&amp;lt;br /&amp;gt;UPEI&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Currently: Testing, bug reports, wiki updating, building on OSGrid&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[User:HashBox|HashBox]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Sibariel Darkstone&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Sibariel Darkstone (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;New Zealand (+12)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Testing, bug reports, and updating the wiki.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Kinoc|Kinoc]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kino Coursey&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxxon Jaxxon&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxxon Kinoc (OSgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxtron Laboratories &amp;lt;br /&amp;gt; http://www.daxtron.com&amp;lt;br /&amp;gt; University of North Texas&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AI, Semantic web, Ontologies, Natural Laanguage Processing, Cyc, Bots, NPC &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:trapuh|trapuh]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Pedro Ribeiro&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Vaiten Forder&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;University Student, Escola Superior de Educação de Viseu, Portugal &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, eventual bug reports and wiki. Music, web/digital arts and php+sql.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:SonicViz|SonicViz]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Paul Cohen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Komuso Tokugawa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Http://sonicviz.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Audio/Music, Interactive Music, Control Protocols, Interfaces, VisualFX, Procedural animation/Generative systems + testing and general dev&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mokele|mokele]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scott Norman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mokelembembe Mokeev&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 (Southern California)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Developer (PHP and MySQL)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Interested in seeing running on PowerPC Macs which it is. So, when I can, I'll compile and test on PowerPC Mac (PowerBook G4) and submit reports and then update the wiki if need on installing on Mac. Also have a Ubuntu 7.10 server that  I can do testing on too.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:devalnor|devalnor]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Devalnor&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;M. Watkin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1 (Belgium)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Small Patch code, bug reports, and updating the wiki.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Ezekiel|Ezekiel]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ezekiel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ezekiel Zabelin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1 &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.yosims.com &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Concepts, business aspects of virtual worlds - web developer (PHP, MySQL, Javascript, LSL) &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Buggmaster|Buggmaster]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike D&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bug Master&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.adultmetaverse.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Data/Web PHP/PERL/MySQL&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nixnerd|nixnerd]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dangerously Moody&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.integratedtechnologies.eu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cross Platform Testing, Feedback, Bug Reporting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MoHax|mohax]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mo Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mo Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5 Eastern&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, Feedback, Content Contributions, Bug Reporting, Documenting, Development&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Webmage|webmage]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;webmage&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Leyla Masala&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Mage&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, terrain&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:NLStitch|NLStitch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marijn Oosterveld&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Stitch Seale&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NYA&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT +1 Amsterdam&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Twingate Systems (http://www.twingate.nl)&amp;lt;br&amp;gt;HanzeHogeschool Groningen, Netherlands&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming, Photography, AI&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Ideia Boa|Ideia Boa]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Joao Lopes&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ideia Boa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ideia Boa or Boa Ideia in some grids&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GTM+1 Stockholm/Sweden&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;WorldSimTERRA - Virtual World that speaks Portuguese too&amp;lt;br /&amp;gt;http://www.worldsimterra.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing and more testing! Updating the original wiki and translating the OpenSim Wiki into Portuguese and reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Lulurun|lulurun]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;liu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;3Di Inc, Japan &amp;lt;br /&amp;gt;http://www.3di.jp&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;patches, openid, server performance, UGAI&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Carlosroundel|Carlosrounde]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Carlosroundel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Carlos Roundel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cyberlandia Italy&amp;lt;br /&amp;gt;http://www.cyberlandia.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;grid, programmer, database, tester&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mikebert|Mikebert]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Strunck&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mikebert Miles&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mikebert M34&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OpenSIM Wiki, Germany&amp;lt;br /&amp;gt;http://www.opensim.de&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;German Wiki, Translater, Server Performance (Linux/Windows), Tester, Feedback, Bug Reporting, Server-Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Fly-man-|Fly-Man-]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Laurence&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Fly Man&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, OpenSimSearch, OpenSimProfile, OpenWiredux&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Taoki&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mircea Kitsune / Taoki Vixen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mircea Kitsune (OSGrid) / Mircea Lobo (LL grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT +2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Usually testing and bug reporting but I also make smaller patches where I know what to do.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Patnad|Patnad]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patrick&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patnad Babii&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patnad Babii (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT -5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bug testing and reporting, I code C# but haven't touched OpenSim Project.. Yet!&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Hallow Palmer|Hallow Palmer]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Markus&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Hallow Palmer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid4Us&amp;lt;br /&amp;gt;http://www.grid4us.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Server Performance (Windows), Tester, Feedback, Business concepts,Bug Reporting, Server-Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:^DarkMan|^DarkMan]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian Adair&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patrick Ouachita&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian Adair | Patrick Meta&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6 CST&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;RealMetaLife | B&amp;amp;H Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:tlaukkan|Tommi Laukkanen]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tommi Laukkanen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tommi Laukkanen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+2 GMT&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.bubblecloud.org&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Protocols ([http://www.bubblecloud.org MXP]), NHibernate, Scrip API, Map Generation, Bug Fixes, Grid Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:bikcmp|bikcmp]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jason&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;EST&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Blue Software&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;God power, reporting and fixing bugs, and overall performance.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:arthursv|arthursv]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Arthur Valadares&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Arthur Valadares&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-3&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Unit testing, database plugins, bug fixes, general &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mystical|Mystical]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kevin Tweedy&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mystical Demina&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mystical Demina&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Extreme Reality Grid&amp;lt;br /&amp;gt;http://www.XRGrid.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Windows Communication Framework, Windows Workflow,Entity Framework, MSSQL&amp;lt;br/&amp;gt;Enhancements,Commerce, Content,DotNetNuke based portal, development services&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Godfrey|Godfrey]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeff Lee&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Warin Cascabel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5 (EST5EDT)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, minor bugfixes. Scripting, building, animating&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamenai&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Christopher Händler&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamenai Luik&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamenai Luik&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Playneko Grid | XIMDEX Jamenai&amp;lt;br /&amp;gt;http://www.playneko.de&amp;lt;br&amp;gt;http://www.ximdex.de&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Server Performance (Linux/Windows),Bug Reporting, Server-Hosting, Grid-Owner, Scripting (PHP, Perl, JavaScript, LSL)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:Main]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Development_Team</id>
		<title>Development Team</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Development_Team"/>
				<updated>2009-02-20T15:54:29Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Additional Developers/Testers/Contributors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Active OpenSim Core Developers ==&lt;br /&gt;
These people have commit access to our central SVN server and are [http://www.ohloh.net/projects/4753/contributors regular contributors] to the codebase.&lt;br /&gt;
&lt;br /&gt;
(please add in as much info as you like for your name)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Photo &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MW |MW ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darren&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSG:Wright Juran&amp;lt;br/&amp;gt;TN:Darren Guard&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://tribalmedia.se/ Tribal Media AB]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Everything&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:lbsa71|lbsa71]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Stefan Andersson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tribal Skytower&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSG:Stefan Andersson&amp;lt;br/&amp;gt;TN:Stefan Andersson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://tribalmedia.se/ Tribal Media AB]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Integration&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Adam Frisby|Adam Frisby]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Frisby&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Zaius&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;DeepThink Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Terrain, Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MingChen|MingChen]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike/Michael Ortman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ming Chen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6 (-5 in Summer)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;DeepThink Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Estate/Parcel Support/Modules/Keeping things all neat and tidy.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt; &lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:SeanDague|sdague]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sean Dague&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Neas Bade&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Database, Linux, Testing, Misc&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Tedd|Tedd]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Hansen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Maa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tedd Hansen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming/Scripting/Architecture&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:dalien|dalien]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dalien Talbot&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dalien Talbot&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mostly TCP-based&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Small fixes; rev.eng./prototyping; nightlies; git-keeper &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ckrinke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charles&amp;amp;nbsp;Krinke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charlesk&amp;amp;nbsp;Bing&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Reliability/Grid servers/ll-functions&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:chi11ken|chi11ken]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeff Ames&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Chillken Proto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.genkii.com Genkii]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:adjohn|adjohn]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Johnson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Zeuz Zenovka&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.genkii.com Genkii]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:joha1|joha1]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Johan Berntsson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Joppi Brandenburg&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Performance, packet handling/libSL&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Teravus|Teravus]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Teravus&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Teravus Ousley&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;W3z&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics &amp;amp; Admin tools, A working sim.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:justincc|justincc]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Justin Clark-Casey&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Lulworth Beaumont&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Justin Clark-Casey (osgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Black Dress Technology&amp;lt;br/&amp;gt;[http://justincc.wordpress.com justincc's OpenSim blog]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, performance &amp;amp; reliability, inventory (avatar and object), assets, scenes, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Alondria]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Alondria LeFay&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Alondria LeFay (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Implementation of LSL functions and other scripting tidbits.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:DrScofield|drscofld]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dirk Husemann&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dr Scofield&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;reliability, networking protocols, voice, inventory, assets, remote control, and pretty much everything else :-)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:dahlia|dahlia]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;T. Hoff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dahlia Trimble&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 / -7&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;prim collision geometry, more later :)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mikem|mikem]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;patches, scripting improvements, LSL compiler&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Melanie_T|Melanie_T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Melanie&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Melanie Milland&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Xumeo Inc.&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scripting, Prims/Scene, Life, The Universe, and Everything&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Homer Horwitz|Homer_Horwitz]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Homer Horwitz&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Homer Horwitz&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Independent&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;map/TP, rev. engineering, &amp;quot;now, that's funny&amp;quot; problems, but still interested in all parts of it&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Diva|Diva]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Crista Lopes&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Diva Canto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Crista Lopes / Diva Canto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;University of California, Irvine&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Everything, except databases&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:nlin|nlin]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;N Lin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Standard Drucker&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[http://www.3di.jp/en/ 3Di Inc, Japan]&amp;lt;br/&amp;gt;http://www.3di.jp/en/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics, scripting, more to come&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retired OpenSim core developers ==&lt;br /&gt;
&lt;br /&gt;
These people are core developers who have transcended our mortal plane (i.e. they are no longer active).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Photo &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:babblefrog|babblefrog]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian McBee&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dogen Coldstream&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Babblefrog Ballistic (osgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Disorganized&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:danx0r|danx0r]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dan Miller&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Albert Pascal&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;squiggle.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PHEEZIKS; everything&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tleiades&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tleiades&amp;amp;nbsp;Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid servers/Database&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Darok|Darok]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darok Kaminski&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics engines (especially BulletX)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td /&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth / Gwen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Nelson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Ellison&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gareth Nelson (on everywhere but SL)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;BST (UTC+1)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Litesim Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid servers, sim border crossing, avatar animations&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Developers/Testers/Contributors ==&lt;br /&gt;
These people have contributed bug reports, patches or other contributions to OpenSim.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;IRC Nick &amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;SL Avatar&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Other Grid&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Time Zone&amp;lt;br&amp;gt;(UTC)&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Org&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Areas of Interest&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nebadon|Nebadon]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Cerquoni&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nebadon Izumi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nebadon Izumi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-7 Arizona&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Oni Kenkon Creations&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jtclark48|jclark4]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jay Clark&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jay Clarke&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Physics, Grid Host, AI, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:AdamStevenson|BigFootAg]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adam Stevenson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Adamus Petrov&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Texas A&amp;amp;M University&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AI, Skynet, Evolving Systems, Biology&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jeff1564|Jeff1564]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Potter Taurog&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rock_Vacirca&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Colin Withers&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rock Vacirca&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://rock-vacirca.blogspot.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, building, scripting, maintaining an opensim blog.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;simsim&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;caocao&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing whole functions of OpenSim system,working with OpenSim-Engine,reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Vicero Lambert|Vicero Lambert]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ldvoipeng&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;idoru&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Magi|Magi]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andy Agnew&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Magi Merlin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Spun Pty Ltd&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;3D Web Integration, Database stuff and playing with the odds and ends box.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;john_&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;John&amp;amp;nbsp;Moyer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;VAJohn&amp;amp;nbsp;GeekSquad or&amp;amp;nbsp;Matthew&amp;amp;nbsp;Kendal&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Best&amp;amp;nbsp;Buy/Geek&amp;amp;nbsp;Squad&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tester&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:ClarkZone|ClarkZone]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Admin(@ClarkZone)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Childs&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Troy Admin (ClarkZone)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Http://clarkzone.dyndns.org&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tester and Grid Host&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:aiaustin|aiaustin]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai Austin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai&amp;amp;nbsp;Austin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ai&amp;amp;nbsp;AIAI&amp;amp;nbsp;(AIAI Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AIAI,&amp;amp;nbsp;University&amp;amp;nbsp;of&amp;amp;nbsp;Edinburgh&amp;lt;br&amp;gt;http://www.aiai.ed.ac.uk/~ai/&amp;lt;br&amp;gt;http://vue.ed.ac.uk/openvue/&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Windows Vista tests&amp;lt;br&amp;gt;Content testing&amp;lt;br&amp;gt;Use of multiple VWs&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marc Manders&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marc Manders&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;marcmanders@gmail.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;creative features&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:balthazar|balthazar]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Trevor Brooks&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Balthazar Sin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Terrains, testing and some small coding tasks&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:jimbo2120|jimbo2120]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Osias&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Illuminous Beltran&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, AI, Skynet, coding and testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Sakai|Sakai]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Steve S&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sakai Openlife (OpenlifeGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.openlifegrid.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Hardware, Testing, Contribution&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ZeroPoint&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Guilderoy&amp;amp;nbsp;Dench&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming/Database&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;MaltosSosa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Maltos Sosa (Central Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Central Grid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid Operator, Central Grid Project Manager. Anything we can offer, just ask.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:DerekTang|DerekTang]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Tang&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Timeless&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Derek Tang (ChineseGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://ChineseGrid.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Running a public WINDOWS sim for testing, Docs, Helping Chinese users to enjoy OpenSim; building Chinese OpenSim communities. In construction...&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:TayB|TayB]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Earl B&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Taylor Boyau&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-10&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ViziGrid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid Host,Networking,Contributions &amp;amp; Testing.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:JamieDav|JamieDav]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamie David&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jamie David&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+7&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Forum&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Sim, Avitar, Functionality&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Krtaylor|Krtaylor]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kurt Taylor&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kurt Stringer &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Networking, Monitoring, Scripting, Inventory, Testing&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nink|Nink]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Peter Finn&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Nink Noonan&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Disruptive Influence.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Bruce|Bruce]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bruce Meerson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bruce Meerson&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;HiPiHi&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Watching.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Darb|DarbD]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian B. Quinn&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Darb Dabney&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;regions&amp;lt;br /&amp;gt;near Marin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PST/SLT (-7 or -8)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;County of Marin, California&amp;lt;br /&amp;gt; http://blog.simgis.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;LiDAR-based sculpties, real-world terrain, &amp;lt;br /&amp;gt;pursuit of civic paraverses &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[CharlieO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dan&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Charlie Omega&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mild coding/tweaking/simple feature adds, Stress testing/break stuff, Testing limits of existing code. Making sure [[LSL Status]] is up to date&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;oobscure&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Opensource Obscure&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.opensim.it&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Running a public Linux sim for testing, Docs, Helping italian users, Building opensim communities, Watching&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;pitman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike Pitman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Rez Tone&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scientific visualization schemes, virt world product design, persistant workspaces, virt world based big biz&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;cmu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Christopher Mumme&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Snook Destiny&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.cmu-develop.de/ and research group &amp;quot;Collaboration Systems and CSCW&amp;quot; at Clausthal University of Technology&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing OpenSim, working with OpenSim-Engine, reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Silpol]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andriy Tymchenko&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Andy Tir&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;EET (+2/3)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; http://silpol.blogspot.com/ (also visible at Nokia)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;highly uncoordinated mess with elements of palace games, under-table diplomacy, rebellion, coup d'état and mutiny. optionally pirate&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Grumly|Grumly]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Forest Klaar&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grumly TheBear&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.NET MCAD Dev/Arch/Trainer http://www.devoteam.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Trying to get into OpenSim code for now. Particularly interrested in data persistence. blog (Hello, Avatar!): http://lslblog.free.fr&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[daTwitch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;James G. Stallings II&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br&amp;gt;Lazarus Longstaff&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Hiro Protagonist (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;House Husband&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OSGrid Region owner, OSGrid Operator,&amp;lt;BR&amp;gt;Forum Admin, sometime wiki editor&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;gryc&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Ueusp&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Uriza&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Gryc Uriza(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PHP scripting, web interfaces, interconnectivity, cross-platformedness&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Phrearch|Phrearch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jeroen van Veen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Phrearch Miles&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Phrearch Miles(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Amsterdam/Paris&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;WiXTD, Wikidoc and Moo&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Burnman|Burnman]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Allen Wilkins&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Burnman Bedlam&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Sid Green (United Grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Boston, USA&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;United Grid&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, testing, and more testing! Getting familiar with the source, interested in all aspects of the project.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:krisbfunk|krisbfunk]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kris Bulman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;krisbfunk Vought&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Krisbfunk Nocturnal(OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;PE, Canada (-4)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Edactive Technologies&amp;lt;br /&amp;gt;NocturnalEye Productions&amp;lt;br /&amp;gt;UPEI&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Currently: Testing, bug reports, wiki updating, building on OSGrid&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[User:HashBox|HashBox]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Sibariel Darkstone&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Sibariel Darkstone (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;New Zealand (+12)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Testing, bug reports, and updating the wiki.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Kinoc|Kinoc]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Kino Coursey&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxxon Jaxxon&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxxon Kinoc (OSgrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Daxtron Laboratories &amp;lt;br /&amp;gt; http://www.daxtron.com&amp;lt;br /&amp;gt; University of North Texas&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;AI, Semantic web, Ontologies, Natural Laanguage Processing, Cyc, Bots, NPC &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:trapuh|trapuh]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Pedro Ribeiro&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Vaiten Forder&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;University Student, Escola Superior de Educação de Viseu, Portugal &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, eventual bug reports and wiki. Music, web/digital arts and php+sql.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:SonicViz|SonicViz]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Paul Cohen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Komuso Tokugawa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Http://sonicviz.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Audio/Music, Interactive Music, Control Protocols, Interfaces, VisualFX, Procedural animation/Generative systems + testing and general dev&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mokele|mokele]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Scott Norman&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mokelembembe Mokeev&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 (Southern California)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Developer (PHP and MySQL)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Interested in seeing running on PowerPC Macs which it is. So, when I can, I'll compile and test on PowerPC Mac (PowerBook G4) and submit reports and then update the wiki if need on installing on Mac. Also have a Ubuntu 7.10 server that  I can do testing on too.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:devalnor|devalnor]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Devalnor&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;M. Watkin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1 (Belgium)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Small Patch code, bug reports, and updating the wiki.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Ezekiel|Ezekiel]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ezekiel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ezekiel Zabelin&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1 &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.yosims.com &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Concepts, business aspects of virtual worlds - web developer (PHP, MySQL, Javascript, LSL) &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Buggmaster|Buggmaster]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mike D&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bug Master&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-8 &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.adultmetaverse.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid, Data/Web PHP/PERL/MySQL&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Nixnerd|nixnerd]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Dangerously Moody&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;None&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.integratedtechnologies.eu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cross Platform Testing, Feedback, Bug Reporting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:MoHax|mohax]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mo Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mo Hax&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-5 Eastern&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, Feedback, Content Contributions, Bug Reporting, Documenting, Development&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Webmage|webmage]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;webmage&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Leyla Masala&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Web Mage&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, terrain&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:NLStitch|NLStitch]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Marijn Oosterveld&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Stitch Seale&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NYA&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT +1 Amsterdam&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Twingate Systems (http://www.twingate.nl)&amp;lt;br&amp;gt;HanzeHogeschool Groningen, Netherlands&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Programming, Photography, AI&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Ideia Boa|Ideia Boa]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Joao Lopes&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ideia Boa&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Ideia Boa or Boa Ideia in some grids&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GTM+1 Stockholm/Sweden&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;WorldSimTERRA - Virtual World that speaks Portuguese too&amp;lt;br /&amp;gt;http://www.worldsimterra.com&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing and more testing! Updating the original wiki and translating the OpenSim Wiki into Portuguese and reporting on OpenSim&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Lulurun|lulurun]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;liu&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+9&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;3Di Inc, Japan &amp;lt;br /&amp;gt;http://www.3di.jp&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;patches, openid, server performance, UGAI&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Carlosroundel|Carlosrounde]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Carlosroundel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Carlos Roundel&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cyberlandia Italy&amp;lt;br /&amp;gt;http://www.cyberlandia.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;grid, programmer, database, tester&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Mikebert|Mikebert]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Michael Strunck&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mikebert Miles&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mikebert M34&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;OpenSIM Wiki, Germany&amp;lt;br /&amp;gt;http://www.opensim.de&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;German Wiki, Translater, Server Performance (Linux/Windows), Tester, Feedback, Bug Reporting, Server-Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Fly-man-|Fly-Man-]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Laurence&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Fly Man&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Testing, OpenSimSearch, OpenSimProfile, OpenWiredux&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Taoki&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mircea Kitsune / Taoki Vixen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Mircea Kitsune (OSGrid) / Mircea Lobo (LL grid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT +2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Usually testing and bug reporting but I also make smaller patches where I know what to do.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Patnad|Patnad]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patrick&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patnad Babii&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patnad Babii (OSGrid)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;GMT -5&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Bug testing and reporting, I code C# but haven't touched OpenSim Project.. Yet!&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:Hallow Palmer|Hallow Palmer]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Markus&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Hallow Palmer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Grid4Us&amp;lt;br /&amp;gt;http://www.grid4us.net&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Server Performance (Windows), Tester, Feedback, Business concepts,Bug Reporting, Server-Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:^DarkMan|^DarkMan]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian Adair&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Patrick Ouachita&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Brian Adair | Patrick Meta&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-6 CST&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;RealMetaLife | B&amp;amp;H Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Building, Scripting, Testing, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:tlaukkan|Tommi Laukkanen]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tommi Laukkanen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tommi Laukkanen&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;+2 GMT&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;http://www.bubblecloud.org&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Protocols ([http://www.bubblecloud.org MXP]), NHibernate, Scrip API, Map Generation, Bug Fixes, Grid Hosting&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:bikcmp|bikcmp]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Jason&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;EST&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Blue Software&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;God power, reporting and fixing bugs, and overall performance.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[User:arthursv|arthursv]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Arthur Valadares&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Arthur Valadares&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;NONE&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;-3&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;IBM&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Unit testing, database plugins, bug fixes, general &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:Main]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Automated_Testing</id>
		<title>Automated Testing</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Automated_Testing"/>
				<updated>2008-10-22T16:28:45Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Running */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As OpenSim matures, we are extremely interested in adding more automated verification into the OpenSim source tree.  Test exist not only to prevent bugs from creeping in, but also to provide fair warning that the behavior of the system has changed, and tests may need updating.&lt;br /&gt;
&lt;br /&gt;
In OpenSim today we use NUnit tests.  Our conventions are:&lt;br /&gt;
# Tests should '''not''' exist inside runtime assemblies, as this makes nunit a production requirement&lt;br /&gt;
# Tests should be in .Tests.dll assemblies.  For instance, the tests for OpenSim.Data.SQLite.dll should be in the OpenSim.Data.SQLite.Tests.dll assembly.  This allows for easy removal of test assemblies in products.&lt;br /&gt;
# Tests should be as close to the code as possible, but not intermingled.  So the tests for OpenSim/Data/SQLite should be in OpenSim/Data/SQLite/Tests/.  Through the use of the '''Exclude''' keyword in prebuild.xml you can ensure that directory is part of OpenSim.Data.SQLite.Tests.dll and not OpenSim.Data.SQLite.dll.&lt;br /&gt;
# Tests should be able to run safely in a production environment.  That means that care must be taken not to damage data on the machine that it is being run.&lt;br /&gt;
&lt;br /&gt;
= Writing New Tests =&lt;br /&gt;
Writing a new unit test is pretty easy, and very helpful in increasing the stability of opensim by nailing down bugs.  I'm going to present an example here of SQLite Asset testing to show how simple such a test case is to write.  The actual in tree SQLite Asset tests are a little different because the code was factored out so that it was easily applied to any database driver, so don't be concerned with the fact that what you see here isn't in the tree.&lt;br /&gt;
&lt;br /&gt;
== NUnit Conventions ==&lt;br /&gt;
An NUnit test suite:&lt;br /&gt;
* is a class with a default constructor (takes no arguments)&lt;br /&gt;
* has public methods that are tests&lt;br /&gt;
* uses annotations to determine what are tests&lt;br /&gt;
* runs it's tests in '''alphabetical order by method name'''&lt;br /&gt;
&lt;br /&gt;
An NUnit test method:&lt;br /&gt;
* must be public&lt;br /&gt;
* must return void&lt;br /&gt;
* must take no arguments&lt;br /&gt;
* is successful if no exception or assert is thrown while running it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The run order is important if you want to have early tests that setup some complicated state (like creating objects), and have later tests remove or update that state.  For that reason I find it very helpful to name all test methods '''Txxx_somename''' where '''xxx''' is a number between 000 and 999.  That guaruntees no surprises in run order.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tests should never rely on the result of another test. If you need the environment set up in a certain way, you can use the SetUp and TearDown method attributes. Only one SetUp method can exist; if more than one is defined, the assembly will compile successfully, but its tests will not run. The SetUp method is run once before every test case, and the TearDown method is run once after each test case, regardless of whether the test passed or failed.&lt;br /&gt;
&lt;br /&gt;
== An Example Test - SQLite Assets ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using NUnit.Framework;&lt;br /&gt;
using NUnit.Framework.SyntaxHelpers;&lt;br /&gt;
using OpenSim.Framework;&lt;br /&gt;
using OpenSim.Data.Tests;&lt;br /&gt;
using OpenSim.Data.SQLite;&lt;br /&gt;
using OpenSim.Region.Environment.Scenes;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
&lt;br /&gt;
namespace OpenSim.Data.SQLite.Tests&lt;br /&gt;
{&lt;br /&gt;
    [TestFixture]&lt;br /&gt;
    public class SQLiteAssetTest&lt;br /&gt;
    {&lt;br /&gt;
        public string file;&lt;br /&gt;
        public string connect;&lt;br /&gt;
        public AssetDataBase db;&lt;br /&gt;
        public UUID uuid1;&lt;br /&gt;
        public UUID uuid2;&lt;br /&gt;
        public UUID uuid3;&lt;br /&gt;
        public string name1;&lt;br /&gt;
        public string name2;&lt;br /&gt;
        public string name3;&lt;br /&gt;
        public byte[] asset1;&lt;br /&gt;
        &lt;br /&gt;
        [TestFixtureSetUp]&lt;br /&gt;
        public void Init()&lt;br /&gt;
        {&lt;br /&gt;
            uuid1 = UUID.Random();&lt;br /&gt;
            uuid2 = UUID.Random();&lt;br /&gt;
            uuid3 = UUID.Random();&lt;br /&gt;
            name1 = &amp;quot;asset one&amp;quot;;&lt;br /&gt;
            name2 = &amp;quot;asset two&amp;quot;;&lt;br /&gt;
            name3 = &amp;quot;asset three&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            asset1 = new byte[100];&lt;br /&gt;
            asset1.Initialize();&lt;br /&gt;
            file = Path.GetTempFileName() + &amp;quot;.db&amp;quot;;&lt;br /&gt;
            connect = &amp;quot;URI=file:&amp;quot; + file + &amp;quot;,version=3&amp;quot;;&lt;br /&gt;
            db = new SQLiteAssetData();&lt;br /&gt;
            db.Initialise(connect);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [TestFixtureTearDown]&lt;br /&gt;
        public void Cleanup()&lt;br /&gt;
        {&lt;br /&gt;
            db.Dispose();&lt;br /&gt;
            System.IO.File.Delete(file);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T001_LoadEmpty()&lt;br /&gt;
        {&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid1), Is.False);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid2), Is.False);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid3), Is.False);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T010_StoreSimpleAsset()&lt;br /&gt;
        {&lt;br /&gt;
            AssetBase a1 = new AssetBase(uuid1, name1);&lt;br /&gt;
            AssetBase a2 = new AssetBase(uuid2, name2);&lt;br /&gt;
            AssetBase a3 = new AssetBase(uuid3, name3);&lt;br /&gt;
            a1.Data = asset1;&lt;br /&gt;
            a2.Data = asset1;&lt;br /&gt;
            a3.Data = asset1;&lt;br /&gt;
            &lt;br /&gt;
            db.CreateAsset(a1);&lt;br /&gt;
            db.CreateAsset(a2);&lt;br /&gt;
            db.CreateAsset(a3);&lt;br /&gt;
&lt;br /&gt;
            AssetBase a1a = db.FetchAsset(uuid1);&lt;br /&gt;
            Assert.That(a1a.ID, Is.EqualTo(uuid1));&lt;br /&gt;
            Assert.That(a1a.Name, Is.EqualTo(name1));&lt;br /&gt;
&lt;br /&gt;
            AssetBase a2a = db.FetchAsset(uuid2);&lt;br /&gt;
            Assert.That(a2a.ID, Is.EqualTo(uuid2));&lt;br /&gt;
            Assert.That(a2a.Name, Is.EqualTo(name2));&lt;br /&gt;
&lt;br /&gt;
            AssetBase a3a = db.FetchAsset(uuid3);&lt;br /&gt;
            Assert.That(a3a.ID, Is.EqualTo(uuid3));&lt;br /&gt;
            Assert.That(a3a.Name, Is.EqualTo(name3));&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T011_ExistsSimpleAsset()&lt;br /&gt;
        {&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid1), Is.True);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid2), Is.True);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid3), Is.True);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see 4 of the important annotations here:&lt;br /&gt;
* TestFixture - this class is a test suite&lt;br /&gt;
* TestFixtureSetup - this code is always run before any of the tests are executed&lt;br /&gt;
* TestFixtureTearDown - this code is always run after the tests are done executing, even if they fail.&lt;br /&gt;
* Test - this method is a test&lt;br /&gt;
&lt;br /&gt;
=== Setup / Teardown ===&lt;br /&gt;
In the case of testing something like the database layer, we have to actually attempt to store / retrieve things from a database.  Following from rule #4 of good tests, we want to make sure not to touch the production databases to run our tests, so during startup we generate a temporary file name which is guaranteed not to be an existing file on the system, and use that as our database file name.  By running db.Initialize() the OpenSim migration code will correctly populate that database with the latest schema.&lt;br /&gt;
&lt;br /&gt;
Once we are done with the tests we want to make sure we aren't leaving garbage temp files on the user's system.  So we remove that file we created.&lt;br /&gt;
&lt;br /&gt;
During setup we also create a set of state variables, such as 3 uuids, 3 strings, and a data block.  You could have always just stuck these inline, but variables are there for a reason, so use them.&lt;br /&gt;
&lt;br /&gt;
=== Asserts ===&lt;br /&gt;
You will see scattered through the code '''Assert.That(...)'''.  These will throw an exception if the condition is not valid.  This format of assertions is called the [http://www.nunit.org/index.php?p=constraintModel&amp;amp;r=2.4 Contraint Model] in NUnit, and provides a large number of tests with the flavor of:&lt;br /&gt;
* Assert.That(foo, Is.Null)&lt;br /&gt;
* Assert.That(foo, Is.Not.Null)&lt;br /&gt;
* Assert.That(foo, Is.True)&lt;br /&gt;
* Assert.That(foo, Is.EqualTo(bar))&lt;br /&gt;
* Assert.That(foo, Text.Matches( &amp;quot;*bar*&amp;quot; ))&lt;br /&gt;
&lt;br /&gt;
Of note, Is.EqualTo uses the Equals function of foo, so this can only be used on objects that are IComparable.  Most of the OpenSim base objects are not, so you'll have to compare fields manually in tests.&lt;br /&gt;
&lt;br /&gt;
For the complete set of conditions you can use see [http://www.nunit.org/index.php?p=constraintModel&amp;amp;r=2.4 the Contraint Model NUnit documentation].  While there is another syntax for tests, the Constraint Model is preferred as it is far more human readable.&lt;br /&gt;
&lt;br /&gt;
=== Simple Negative Tests ===&lt;br /&gt;
Test T001 is an example of a simple negative test.  We assume a new database will not have any of those assets in them.  While the value of this test may look low, it does provide a baseline in ensuring that the database connection is there, that these return false correctly, and that no other exception is thrown.  Negative tests are a good way to force bounds conditions and ensure that not only does it  ''return what you expect'' it also ''doesn't return what you don't expect''.  Thought of another way, it ensures your code is somewhat defensive in nature, not coughing on bad or unexpected data.&lt;br /&gt;
&lt;br /&gt;
=== Simple Positive Tests ===&lt;br /&gt;
T010 is an example of a simple positive test.  In it we create and store 3 assets (ensuring no exceptions), then load those 3 assets back from the database and ensure the fields are correct.  Because AssetBase is not IComparible we just check the ID and Name fields with equals tests.  If any of the Asserts fail, the whole test fails.&lt;br /&gt;
=== Stateful Tests ===&lt;br /&gt;
T011 is an example of a stateful test, because it requires the state created by T010 (i.e. the creation of those 3 objects).  In order to test any kind of complicated scenario you will find that you need to use stateful tests to build up various amounts of state (testing along the way), then manipulating and possibly tearing it down.  Without doing this you can't do truly deep testing of function in any complex environment.  This example isn't very stateful (I tried to pick an easy example), but it should give you some ideas.&lt;br /&gt;
=== Speculative Tests ===&lt;br /&gt;
Speculative tests are tests that might or might not apply in a given situation.  MySQL testing in the OpenSim tree is done by speculative testing, the tests will only run if there is a properly configured database, otherwise they will not be run.  If you execute '''Assert.Ignore()''' in a '''Test''' the test will end and be ignored.  If you run '''Assert.Ignore()''' in the '''TestFixtureSetup''' all tests in the test fixture will be skipped and ignored.&lt;br /&gt;
&lt;br /&gt;
Speculative testing lets you create tests that require certain preconditions to be met which you can't guarantee on all platforms/configuration, and are an important part of deep testing.&lt;br /&gt;
&lt;br /&gt;
== Good / Bad Test practices ==&lt;br /&gt;
Creating good tests is an art, not a science.  Tests are useful by how many bugs they find or how many bugs they avoid.  Things you should think about in creating good tests is:&lt;br /&gt;
* throwing edge cases, like 0, &amp;quot;&amp;quot;, or Null at parameters.  This ensures that people functions are hardened against incomplete data.  Many of our crashes come from the lack of this hardening showing up at just the wrong time.&lt;br /&gt;
* use stateful testing to build up complex scenarios.  This is more useful than just cursory get / set calls.&lt;br /&gt;
&lt;br /&gt;
== Adding Tests to the Tree ==&lt;br /&gt;
As we said previously all tests for assembly OpenSim.Foo (in directory OpenSim/Foo) should:&lt;br /&gt;
* be in assembly OpenSim.Foo.Tests.dll&lt;br /&gt;
* not be in the OpenSim.Foo.dll assembly&lt;br /&gt;
* be in OpenSim/Foo/Tests directory&lt;br /&gt;
&lt;br /&gt;
Also, if you have created a new test assembly you must add references to it in both ''.nant/local.include'' and ''.nant/bamboo.build'' to ensure that the assembly is added to the automated bamboo runs as well as the nant test target.&lt;br /&gt;
&lt;br /&gt;
= Executing Tests =&lt;br /&gt;
== Bamboo ==&lt;br /&gt;
On every commit to opensim all the tests are run on a [http://opensimulator.org:8085 Bamboo build server on opensimulator.org].  The process takes about 5 minutes to build, test, and report the results back out on #opensim-dev via the osmantis bot.&lt;br /&gt;
&lt;br /&gt;
== Nant ==&lt;br /&gt;
You can manually run all the tests for OpenSim on your system by running '''nant test''' as a nant target.  This will run all the tests that are in the tree, though some speculative tests might be ignored if your platform does not have the right features or configuration to run these tests.&lt;br /&gt;
&lt;br /&gt;
== NUnit Console ==&lt;br /&gt;
If you only want to run tests for one assembly you can do that using the NUnit Console.  On Linux just run '''nunit-console2 OpenSim.Foo.Tests.dll''' and it will run only the tests for OpenSim.Foo.Tests.dll.  If you are only making changes to 1 dll and just want a quick sanity check, this is the fastest way to do that.&lt;br /&gt;
&lt;br /&gt;
= Learning More =&lt;br /&gt;
You should definitely read the documentation at the [http://www.nunit.org/index.php?p=documentation NUnit homepage] if you want to know more about testing.  It's a very good reference for all the APIs in NUnit that you can use for creating tests.&lt;br /&gt;
&lt;br /&gt;
= Code Coverage =&lt;br /&gt;
&lt;br /&gt;
A prototype has been included using monocov, which has a profile built-in in mono. Instructions for using monocov can be found on the Mono homepage, in [http://www.mono-project.com/Code_Coverage Code Coverage] section. Unfortunately nunit2 and nant do not support code coverage with monocov (only some other proprietary code coverages), so there is no &amp;lt;monocov&amp;gt; tag. The solution was to implement it using many nunit-console and on &amp;lt;exec&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
ATTENTION: Code coverage only works with mono 1.2.x , any other version will most likely not work. Code coverage development is being put on hold for now until it supports newer mono versions.&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
Download [http://primates.ximian.com/~lupus/monocov-0.2.tar.gz monocov] and [http://prdownloads.sourceforge.net/nunit/NUnit-2.4.8-net-2.0.zip?download nunit-console] if your nunit-console does not work. To test if it works (my Ubuntu's Hardy version did not), just run one of the tests with nunit-console.&lt;br /&gt;
&lt;br /&gt;
Install monocov (./configure, ./make install, there could be some minor conflicts, I had to add to the compiling line -I/usr/include/mono-1.0/) and make sure the working nunit-console.exe is in /usr/lib/nunit/nunit-console.exe. Now just run nant test-cov and it will generate .cov files and HTML directories in the cov directory. The .cov files can be seen by running monocov on them, and have the same information as the HTML directories.&lt;br /&gt;
&lt;br /&gt;
= Testing Todo =&lt;br /&gt;
&lt;br /&gt;
== Coverage ==&lt;br /&gt;
A prototype has been done and documented. Now we must keep a look if monocov will evolve to support newer mono versions.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Automated_Testing</id>
		<title>Automated Testing</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Automated_Testing"/>
				<updated>2008-10-22T16:16:50Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: /* Coverage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As OpenSim matures, we are extremely interested in adding more automated verification into the OpenSim source tree.  Test exist not only to prevent bugs from creeping in, but also to provide fair warning that the behavior of the system has changed, and tests may need updating.&lt;br /&gt;
&lt;br /&gt;
In OpenSim today we use NUnit tests.  Our conventions are:&lt;br /&gt;
# Tests should '''not''' exist inside runtime assemblies, as this makes nunit a production requirement&lt;br /&gt;
# Tests should be in .Tests.dll assemblies.  For instance, the tests for OpenSim.Data.SQLite.dll should be in the OpenSim.Data.SQLite.Tests.dll assembly.  This allows for easy removal of test assemblies in products.&lt;br /&gt;
# Tests should be as close to the code as possible, but not intermingled.  So the tests for OpenSim/Data/SQLite should be in OpenSim/Data/SQLite/Tests/.  Through the use of the '''Exclude''' keyword in prebuild.xml you can ensure that directory is part of OpenSim.Data.SQLite.Tests.dll and not OpenSim.Data.SQLite.dll.&lt;br /&gt;
# Tests should be able to run safely in a production environment.  That means that care must be taken not to damage data on the machine that it is being run.&lt;br /&gt;
&lt;br /&gt;
= Writing New Tests =&lt;br /&gt;
Writing a new unit test is pretty easy, and very helpful in increasing the stability of opensim by nailing down bugs.  I'm going to present an example here of SQLite Asset testing to show how simple such a test case is to write.  The actual in tree SQLite Asset tests are a little different because the code was factored out so that it was easily applied to any database driver, so don't be concerned with the fact that what you see here isn't in the tree.&lt;br /&gt;
&lt;br /&gt;
== NUnit Conventions ==&lt;br /&gt;
An NUnit test suite:&lt;br /&gt;
* is a class with a default constructor (takes no arguments)&lt;br /&gt;
* has public methods that are tests&lt;br /&gt;
* uses annotations to determine what are tests&lt;br /&gt;
* runs it's tests in '''alphabetical order by method name'''&lt;br /&gt;
&lt;br /&gt;
An NUnit test method:&lt;br /&gt;
* must be public&lt;br /&gt;
* must return void&lt;br /&gt;
* must take no arguments&lt;br /&gt;
* is successful if no exception or assert is thrown while running it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The run order is important if you want to have early tests that setup some complicated state (like creating objects), and have later tests remove or update that state.  For that reason I find it very helpful to name all test methods '''Txxx_somename''' where '''xxx''' is a number between 000 and 999.  That guaruntees no surprises in run order.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tests should never rely on the result of another test. If you need the environment set up in a certain way, you can use the SetUp and TearDown method attributes. Only one SetUp method can exist; if more than one is defined, the assembly will compile successfully, but its tests will not run. The SetUp method is run once before every test case, and the TearDown method is run once after each test case, regardless of whether the test passed or failed.&lt;br /&gt;
&lt;br /&gt;
== An Example Test - SQLite Assets ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using NUnit.Framework;&lt;br /&gt;
using NUnit.Framework.SyntaxHelpers;&lt;br /&gt;
using OpenSim.Framework;&lt;br /&gt;
using OpenSim.Data.Tests;&lt;br /&gt;
using OpenSim.Data.SQLite;&lt;br /&gt;
using OpenSim.Region.Environment.Scenes;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
&lt;br /&gt;
namespace OpenSim.Data.SQLite.Tests&lt;br /&gt;
{&lt;br /&gt;
    [TestFixture]&lt;br /&gt;
    public class SQLiteAssetTest&lt;br /&gt;
    {&lt;br /&gt;
        public string file;&lt;br /&gt;
        public string connect;&lt;br /&gt;
        public AssetDataBase db;&lt;br /&gt;
        public UUID uuid1;&lt;br /&gt;
        public UUID uuid2;&lt;br /&gt;
        public UUID uuid3;&lt;br /&gt;
        public string name1;&lt;br /&gt;
        public string name2;&lt;br /&gt;
        public string name3;&lt;br /&gt;
        public byte[] asset1;&lt;br /&gt;
        &lt;br /&gt;
        [TestFixtureSetUp]&lt;br /&gt;
        public void Init()&lt;br /&gt;
        {&lt;br /&gt;
            uuid1 = UUID.Random();&lt;br /&gt;
            uuid2 = UUID.Random();&lt;br /&gt;
            uuid3 = UUID.Random();&lt;br /&gt;
            name1 = &amp;quot;asset one&amp;quot;;&lt;br /&gt;
            name2 = &amp;quot;asset two&amp;quot;;&lt;br /&gt;
            name3 = &amp;quot;asset three&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            asset1 = new byte[100];&lt;br /&gt;
            asset1.Initialize();&lt;br /&gt;
            file = Path.GetTempFileName() + &amp;quot;.db&amp;quot;;&lt;br /&gt;
            connect = &amp;quot;URI=file:&amp;quot; + file + &amp;quot;,version=3&amp;quot;;&lt;br /&gt;
            db = new SQLiteAssetData();&lt;br /&gt;
            db.Initialise(connect);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [TestFixtureTearDown]&lt;br /&gt;
        public void Cleanup()&lt;br /&gt;
        {&lt;br /&gt;
            db.Dispose();&lt;br /&gt;
            System.IO.File.Delete(file);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T001_LoadEmpty()&lt;br /&gt;
        {&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid1), Is.False);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid2), Is.False);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid3), Is.False);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T010_StoreSimpleAsset()&lt;br /&gt;
        {&lt;br /&gt;
            AssetBase a1 = new AssetBase(uuid1, name1);&lt;br /&gt;
            AssetBase a2 = new AssetBase(uuid2, name2);&lt;br /&gt;
            AssetBase a3 = new AssetBase(uuid3, name3);&lt;br /&gt;
            a1.Data = asset1;&lt;br /&gt;
            a2.Data = asset1;&lt;br /&gt;
            a3.Data = asset1;&lt;br /&gt;
            &lt;br /&gt;
            db.CreateAsset(a1);&lt;br /&gt;
            db.CreateAsset(a2);&lt;br /&gt;
            db.CreateAsset(a3);&lt;br /&gt;
&lt;br /&gt;
            AssetBase a1a = db.FetchAsset(uuid1);&lt;br /&gt;
            Assert.That(a1a.ID, Is.EqualTo(uuid1));&lt;br /&gt;
            Assert.That(a1a.Name, Is.EqualTo(name1));&lt;br /&gt;
&lt;br /&gt;
            AssetBase a2a = db.FetchAsset(uuid2);&lt;br /&gt;
            Assert.That(a2a.ID, Is.EqualTo(uuid2));&lt;br /&gt;
            Assert.That(a2a.Name, Is.EqualTo(name2));&lt;br /&gt;
&lt;br /&gt;
            AssetBase a3a = db.FetchAsset(uuid3);&lt;br /&gt;
            Assert.That(a3a.ID, Is.EqualTo(uuid3));&lt;br /&gt;
            Assert.That(a3a.Name, Is.EqualTo(name3));&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T011_ExistsSimpleAsset()&lt;br /&gt;
        {&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid1), Is.True);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid2), Is.True);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid3), Is.True);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see 4 of the important annotations here:&lt;br /&gt;
* TestFixture - this class is a test suite&lt;br /&gt;
* TestFixtureSetup - this code is always run before any of the tests are executed&lt;br /&gt;
* TestFixtureTearDown - this code is always run after the tests are done executing, even if they fail.&lt;br /&gt;
* Test - this method is a test&lt;br /&gt;
&lt;br /&gt;
=== Setup / Teardown ===&lt;br /&gt;
In the case of testing something like the database layer, we have to actually attempt to store / retrieve things from a database.  Following from rule #4 of good tests, we want to make sure not to touch the production databases to run our tests, so during startup we generate a temporary file name which is guaranteed not to be an existing file on the system, and use that as our database file name.  By running db.Initialize() the OpenSim migration code will correctly populate that database with the latest schema.&lt;br /&gt;
&lt;br /&gt;
Once we are done with the tests we want to make sure we aren't leaving garbage temp files on the user's system.  So we remove that file we created.&lt;br /&gt;
&lt;br /&gt;
During setup we also create a set of state variables, such as 3 uuids, 3 strings, and a data block.  You could have always just stuck these inline, but variables are there for a reason, so use them.&lt;br /&gt;
&lt;br /&gt;
=== Asserts ===&lt;br /&gt;
You will see scattered through the code '''Assert.That(...)'''.  These will throw an exception if the condition is not valid.  This format of assertions is called the [http://www.nunit.org/index.php?p=constraintModel&amp;amp;r=2.4 Contraint Model] in NUnit, and provides a large number of tests with the flavor of:&lt;br /&gt;
* Assert.That(foo, Is.Null)&lt;br /&gt;
* Assert.That(foo, Is.Not.Null)&lt;br /&gt;
* Assert.That(foo, Is.True)&lt;br /&gt;
* Assert.That(foo, Is.EqualTo(bar))&lt;br /&gt;
* Assert.That(foo, Text.Matches( &amp;quot;*bar*&amp;quot; ))&lt;br /&gt;
&lt;br /&gt;
Of note, Is.EqualTo uses the Equals function of foo, so this can only be used on objects that are IComparable.  Most of the OpenSim base objects are not, so you'll have to compare fields manually in tests.&lt;br /&gt;
&lt;br /&gt;
For the complete set of conditions you can use see [http://www.nunit.org/index.php?p=constraintModel&amp;amp;r=2.4 the Contraint Model NUnit documentation].  While there is another syntax for tests, the Constraint Model is preferred as it is far more human readable.&lt;br /&gt;
&lt;br /&gt;
=== Simple Negative Tests ===&lt;br /&gt;
Test T001 is an example of a simple negative test.  We assume a new database will not have any of those assets in them.  While the value of this test may look low, it does provide a baseline in ensuring that the database connection is there, that these return false correctly, and that no other exception is thrown.  Negative tests are a good way to force bounds conditions and ensure that not only does it  ''return what you expect'' it also ''doesn't return what you don't expect''.  Thought of another way, it ensures your code is somewhat defensive in nature, not coughing on bad or unexpected data.&lt;br /&gt;
&lt;br /&gt;
=== Simple Positive Tests ===&lt;br /&gt;
T010 is an example of a simple positive test.  In it we create and store 3 assets (ensuring no exceptions), then load those 3 assets back from the database and ensure the fields are correct.  Because AssetBase is not IComparible we just check the ID and Name fields with equals tests.  If any of the Asserts fail, the whole test fails.&lt;br /&gt;
=== Stateful Tests ===&lt;br /&gt;
T011 is an example of a stateful test, because it requires the state created by T010 (i.e. the creation of those 3 objects).  In order to test any kind of complicated scenario you will find that you need to use stateful tests to build up various amounts of state (testing along the way), then manipulating and possibly tearing it down.  Without doing this you can't do truly deep testing of function in any complex environment.  This example isn't very stateful (I tried to pick an easy example), but it should give you some ideas.&lt;br /&gt;
=== Speculative Tests ===&lt;br /&gt;
Speculative tests are tests that might or might not apply in a given situation.  MySQL testing in the OpenSim tree is done by speculative testing, the tests will only run if there is a properly configured database, otherwise they will not be run.  If you execute '''Assert.Ignore()''' in a '''Test''' the test will end and be ignored.  If you run '''Assert.Ignore()''' in the '''TestFixtureSetup''' all tests in the test fixture will be skipped and ignored.&lt;br /&gt;
&lt;br /&gt;
Speculative testing lets you create tests that require certain preconditions to be met which you can't guarantee on all platforms/configuration, and are an important part of deep testing.&lt;br /&gt;
&lt;br /&gt;
== Good / Bad Test practices ==&lt;br /&gt;
Creating good tests is an art, not a science.  Tests are useful by how many bugs they find or how many bugs they avoid.  Things you should think about in creating good tests is:&lt;br /&gt;
* throwing edge cases, like 0, &amp;quot;&amp;quot;, or Null at parameters.  This ensures that people functions are hardened against incomplete data.  Many of our crashes come from the lack of this hardening showing up at just the wrong time.&lt;br /&gt;
* use stateful testing to build up complex scenarios.  This is more useful than just cursory get / set calls.&lt;br /&gt;
&lt;br /&gt;
== Adding Tests to the Tree ==&lt;br /&gt;
As we said previously all tests for assembly OpenSim.Foo (in directory OpenSim/Foo) should:&lt;br /&gt;
* be in assembly OpenSim.Foo.Tests.dll&lt;br /&gt;
* not be in the OpenSim.Foo.dll assembly&lt;br /&gt;
* be in OpenSim/Foo/Tests directory&lt;br /&gt;
&lt;br /&gt;
Also, if you have created a new test assembly you must add references to it in both ''.nant/local.include'' and ''.nant/bamboo.build'' to ensure that the assembly is added to the automated bamboo runs as well as the nant test target.&lt;br /&gt;
&lt;br /&gt;
= Executing Tests =&lt;br /&gt;
== Bamboo ==&lt;br /&gt;
On every commit to opensim all the tests are run on a [http://opensimulator.org:8085 Bamboo build server on opensimulator.org].  The process takes about 5 minutes to build, test, and report the results back out on #opensim-dev via the osmantis bot.&lt;br /&gt;
&lt;br /&gt;
== Nant ==&lt;br /&gt;
You can manually run all the tests for OpenSim on your system by running '''nant test''' as a nant target.  This will run all the tests that are in the tree, though some speculative tests might be ignored if your platform does not have the right features or configuration to run these tests.&lt;br /&gt;
&lt;br /&gt;
== NUnit Console ==&lt;br /&gt;
If you only want to run tests for one assembly you can do that using the NUnit Console.  On Linux just run '''nunit-console2 OpenSim.Foo.Tests.dll''' and it will run only the tests for OpenSim.Foo.Tests.dll.  If you are only making changes to 1 dll and just want a quick sanity check, this is the fastest way to do that.&lt;br /&gt;
&lt;br /&gt;
= Learning More =&lt;br /&gt;
You should definitely read the documentation at the [http://www.nunit.org/index.php?p=documentation NUnit homepage] if you want to know more about testing.  It's a very good reference for all the APIs in NUnit that you can use for creating tests.&lt;br /&gt;
&lt;br /&gt;
= Code Coverage =&lt;br /&gt;
&lt;br /&gt;
A prototype has been included using monocov, which has a profile built-in in mono. Instructions for using monocov can be found on the Mono homepage, in [http://www.mono-project.com/Code_Coverage Code Coverage] section. Unfortunately nunit2 and nant do not support code coverage with monocov (only some other proprietary code coverages), so there is no &amp;lt;monocov&amp;gt; tag. The solution was to implement it using many nunit-console and on &amp;lt;exec&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
ATTENTION: Code coverage only works with mono 1.2.x , any other version will most likely not work. Code coverage development is being put on hold for now until it supports newer mono versions.&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
Download [http://primates.ximian.com/~lupus/monocov-0.2.tar.gz monocov] and [http://prdownloads.sourceforge.net/nunit/NUnit-2.4.8-net-2.0.zip?download nunit-console] if your nunit-console does not work. To test if it works (my Ubuntu's Hardy version did not), just run one of the tests with nunit-console.&lt;br /&gt;
&lt;br /&gt;
Install monocov (./configure, ./make install, there could be some minor conflicts, I had to add to the compiling line -I/usr/include/mono-1.0/) and make sure the working nunit-console is in /usr/bin. Now just run nant test-cov and it will generate .cov files and HTML directories in the cov directory. The .cov files can be seen by running monocov on them, and have the same information as the HTML directories.&lt;br /&gt;
&lt;br /&gt;
= Testing Todo =&lt;br /&gt;
&lt;br /&gt;
== Coverage ==&lt;br /&gt;
A prototype has been done and documented. Now we must keep a look if monocov will evolve to support newer mono versions.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Automated_Testing</id>
		<title>Automated Testing</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Automated_Testing"/>
				<updated>2008-10-22T16:11:19Z</updated>
		
		<summary type="html">&lt;p&gt;Arthursv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As OpenSim matures, we are extremely interested in adding more automated verification into the OpenSim source tree.  Test exist not only to prevent bugs from creeping in, but also to provide fair warning that the behavior of the system has changed, and tests may need updating.&lt;br /&gt;
&lt;br /&gt;
In OpenSim today we use NUnit tests.  Our conventions are:&lt;br /&gt;
# Tests should '''not''' exist inside runtime assemblies, as this makes nunit a production requirement&lt;br /&gt;
# Tests should be in .Tests.dll assemblies.  For instance, the tests for OpenSim.Data.SQLite.dll should be in the OpenSim.Data.SQLite.Tests.dll assembly.  This allows for easy removal of test assemblies in products.&lt;br /&gt;
# Tests should be as close to the code as possible, but not intermingled.  So the tests for OpenSim/Data/SQLite should be in OpenSim/Data/SQLite/Tests/.  Through the use of the '''Exclude''' keyword in prebuild.xml you can ensure that directory is part of OpenSim.Data.SQLite.Tests.dll and not OpenSim.Data.SQLite.dll.&lt;br /&gt;
# Tests should be able to run safely in a production environment.  That means that care must be taken not to damage data on the machine that it is being run.&lt;br /&gt;
&lt;br /&gt;
= Writing New Tests =&lt;br /&gt;
Writing a new unit test is pretty easy, and very helpful in increasing the stability of opensim by nailing down bugs.  I'm going to present an example here of SQLite Asset testing to show how simple such a test case is to write.  The actual in tree SQLite Asset tests are a little different because the code was factored out so that it was easily applied to any database driver, so don't be concerned with the fact that what you see here isn't in the tree.&lt;br /&gt;
&lt;br /&gt;
== NUnit Conventions ==&lt;br /&gt;
An NUnit test suite:&lt;br /&gt;
* is a class with a default constructor (takes no arguments)&lt;br /&gt;
* has public methods that are tests&lt;br /&gt;
* uses annotations to determine what are tests&lt;br /&gt;
* runs it's tests in '''alphabetical order by method name'''&lt;br /&gt;
&lt;br /&gt;
An NUnit test method:&lt;br /&gt;
* must be public&lt;br /&gt;
* must return void&lt;br /&gt;
* must take no arguments&lt;br /&gt;
* is successful if no exception or assert is thrown while running it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The run order is important if you want to have early tests that setup some complicated state (like creating objects), and have later tests remove or update that state.  For that reason I find it very helpful to name all test methods '''Txxx_somename''' where '''xxx''' is a number between 000 and 999.  That guaruntees no surprises in run order.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tests should never rely on the result of another test. If you need the environment set up in a certain way, you can use the SetUp and TearDown method attributes. Only one SetUp method can exist; if more than one is defined, the assembly will compile successfully, but its tests will not run. The SetUp method is run once before every test case, and the TearDown method is run once after each test case, regardless of whether the test passed or failed.&lt;br /&gt;
&lt;br /&gt;
== An Example Test - SQLite Assets ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using NUnit.Framework;&lt;br /&gt;
using NUnit.Framework.SyntaxHelpers;&lt;br /&gt;
using OpenSim.Framework;&lt;br /&gt;
using OpenSim.Data.Tests;&lt;br /&gt;
using OpenSim.Data.SQLite;&lt;br /&gt;
using OpenSim.Region.Environment.Scenes;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
&lt;br /&gt;
namespace OpenSim.Data.SQLite.Tests&lt;br /&gt;
{&lt;br /&gt;
    [TestFixture]&lt;br /&gt;
    public class SQLiteAssetTest&lt;br /&gt;
    {&lt;br /&gt;
        public string file;&lt;br /&gt;
        public string connect;&lt;br /&gt;
        public AssetDataBase db;&lt;br /&gt;
        public UUID uuid1;&lt;br /&gt;
        public UUID uuid2;&lt;br /&gt;
        public UUID uuid3;&lt;br /&gt;
        public string name1;&lt;br /&gt;
        public string name2;&lt;br /&gt;
        public string name3;&lt;br /&gt;
        public byte[] asset1;&lt;br /&gt;
        &lt;br /&gt;
        [TestFixtureSetUp]&lt;br /&gt;
        public void Init()&lt;br /&gt;
        {&lt;br /&gt;
            uuid1 = UUID.Random();&lt;br /&gt;
            uuid2 = UUID.Random();&lt;br /&gt;
            uuid3 = UUID.Random();&lt;br /&gt;
            name1 = &amp;quot;asset one&amp;quot;;&lt;br /&gt;
            name2 = &amp;quot;asset two&amp;quot;;&lt;br /&gt;
            name3 = &amp;quot;asset three&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            asset1 = new byte[100];&lt;br /&gt;
            asset1.Initialize();&lt;br /&gt;
            file = Path.GetTempFileName() + &amp;quot;.db&amp;quot;;&lt;br /&gt;
            connect = &amp;quot;URI=file:&amp;quot; + file + &amp;quot;,version=3&amp;quot;;&lt;br /&gt;
            db = new SQLiteAssetData();&lt;br /&gt;
            db.Initialise(connect);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [TestFixtureTearDown]&lt;br /&gt;
        public void Cleanup()&lt;br /&gt;
        {&lt;br /&gt;
            db.Dispose();&lt;br /&gt;
            System.IO.File.Delete(file);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T001_LoadEmpty()&lt;br /&gt;
        {&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid1), Is.False);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid2), Is.False);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid3), Is.False);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T010_StoreSimpleAsset()&lt;br /&gt;
        {&lt;br /&gt;
            AssetBase a1 = new AssetBase(uuid1, name1);&lt;br /&gt;
            AssetBase a2 = new AssetBase(uuid2, name2);&lt;br /&gt;
            AssetBase a3 = new AssetBase(uuid3, name3);&lt;br /&gt;
            a1.Data = asset1;&lt;br /&gt;
            a2.Data = asset1;&lt;br /&gt;
            a3.Data = asset1;&lt;br /&gt;
            &lt;br /&gt;
            db.CreateAsset(a1);&lt;br /&gt;
            db.CreateAsset(a2);&lt;br /&gt;
            db.CreateAsset(a3);&lt;br /&gt;
&lt;br /&gt;
            AssetBase a1a = db.FetchAsset(uuid1);&lt;br /&gt;
            Assert.That(a1a.ID, Is.EqualTo(uuid1));&lt;br /&gt;
            Assert.That(a1a.Name, Is.EqualTo(name1));&lt;br /&gt;
&lt;br /&gt;
            AssetBase a2a = db.FetchAsset(uuid2);&lt;br /&gt;
            Assert.That(a2a.ID, Is.EqualTo(uuid2));&lt;br /&gt;
            Assert.That(a2a.Name, Is.EqualTo(name2));&lt;br /&gt;
&lt;br /&gt;
            AssetBase a3a = db.FetchAsset(uuid3);&lt;br /&gt;
            Assert.That(a3a.ID, Is.EqualTo(uuid3));&lt;br /&gt;
            Assert.That(a3a.Name, Is.EqualTo(name3));&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        [Test]&lt;br /&gt;
        public void T011_ExistsSimpleAsset()&lt;br /&gt;
        {&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid1), Is.True);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid2), Is.True);&lt;br /&gt;
            Assert.That(db.ExistsAsset(uuid3), Is.True);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see 4 of the important annotations here:&lt;br /&gt;
* TestFixture - this class is a test suite&lt;br /&gt;
* TestFixtureSetup - this code is always run before any of the tests are executed&lt;br /&gt;
* TestFixtureTearDown - this code is always run after the tests are done executing, even if they fail.&lt;br /&gt;
* Test - this method is a test&lt;br /&gt;
&lt;br /&gt;
=== Setup / Teardown ===&lt;br /&gt;
In the case of testing something like the database layer, we have to actually attempt to store / retrieve things from a database.  Following from rule #4 of good tests, we want to make sure not to touch the production databases to run our tests, so during startup we generate a temporary file name which is guaranteed not to be an existing file on the system, and use that as our database file name.  By running db.Initialize() the OpenSim migration code will correctly populate that database with the latest schema.&lt;br /&gt;
&lt;br /&gt;
Once we are done with the tests we want to make sure we aren't leaving garbage temp files on the user's system.  So we remove that file we created.&lt;br /&gt;
&lt;br /&gt;
During setup we also create a set of state variables, such as 3 uuids, 3 strings, and a data block.  You could have always just stuck these inline, but variables are there for a reason, so use them.&lt;br /&gt;
&lt;br /&gt;
=== Asserts ===&lt;br /&gt;
You will see scattered through the code '''Assert.That(...)'''.  These will throw an exception if the condition is not valid.  This format of assertions is called the [http://www.nunit.org/index.php?p=constraintModel&amp;amp;r=2.4 Contraint Model] in NUnit, and provides a large number of tests with the flavor of:&lt;br /&gt;
* Assert.That(foo, Is.Null)&lt;br /&gt;
* Assert.That(foo, Is.Not.Null)&lt;br /&gt;
* Assert.That(foo, Is.True)&lt;br /&gt;
* Assert.That(foo, Is.EqualTo(bar))&lt;br /&gt;
* Assert.That(foo, Text.Matches( &amp;quot;*bar*&amp;quot; ))&lt;br /&gt;
&lt;br /&gt;
Of note, Is.EqualTo uses the Equals function of foo, so this can only be used on objects that are IComparable.  Most of the OpenSim base objects are not, so you'll have to compare fields manually in tests.&lt;br /&gt;
&lt;br /&gt;
For the complete set of conditions you can use see [http://www.nunit.org/index.php?p=constraintModel&amp;amp;r=2.4 the Contraint Model NUnit documentation].  While there is another syntax for tests, the Constraint Model is preferred as it is far more human readable.&lt;br /&gt;
&lt;br /&gt;
=== Simple Negative Tests ===&lt;br /&gt;
Test T001 is an example of a simple negative test.  We assume a new database will not have any of those assets in them.  While the value of this test may look low, it does provide a baseline in ensuring that the database connection is there, that these return false correctly, and that no other exception is thrown.  Negative tests are a good way to force bounds conditions and ensure that not only does it  ''return what you expect'' it also ''doesn't return what you don't expect''.  Thought of another way, it ensures your code is somewhat defensive in nature, not coughing on bad or unexpected data.&lt;br /&gt;
&lt;br /&gt;
=== Simple Positive Tests ===&lt;br /&gt;
T010 is an example of a simple positive test.  In it we create and store 3 assets (ensuring no exceptions), then load those 3 assets back from the database and ensure the fields are correct.  Because AssetBase is not IComparible we just check the ID and Name fields with equals tests.  If any of the Asserts fail, the whole test fails.&lt;br /&gt;
=== Stateful Tests ===&lt;br /&gt;
T011 is an example of a stateful test, because it requires the state created by T010 (i.e. the creation of those 3 objects).  In order to test any kind of complicated scenario you will find that you need to use stateful tests to build up various amounts of state (testing along the way), then manipulating and possibly tearing it down.  Without doing this you can't do truly deep testing of function in any complex environment.  This example isn't very stateful (I tried to pick an easy example), but it should give you some ideas.&lt;br /&gt;
=== Speculative Tests ===&lt;br /&gt;
Speculative tests are tests that might or might not apply in a given situation.  MySQL testing in the OpenSim tree is done by speculative testing, the tests will only run if there is a properly configured database, otherwise they will not be run.  If you execute '''Assert.Ignore()''' in a '''Test''' the test will end and be ignored.  If you run '''Assert.Ignore()''' in the '''TestFixtureSetup''' all tests in the test fixture will be skipped and ignored.&lt;br /&gt;
&lt;br /&gt;
Speculative testing lets you create tests that require certain preconditions to be met which you can't guarantee on all platforms/configuration, and are an important part of deep testing.&lt;br /&gt;
&lt;br /&gt;
== Good / Bad Test practices ==&lt;br /&gt;
Creating good tests is an art, not a science.  Tests are useful by how many bugs they find or how many bugs they avoid.  Things you should think about in creating good tests is:&lt;br /&gt;
* throwing edge cases, like 0, &amp;quot;&amp;quot;, or Null at parameters.  This ensures that people functions are hardened against incomplete data.  Many of our crashes come from the lack of this hardening showing up at just the wrong time.&lt;br /&gt;
* use stateful testing to build up complex scenarios.  This is more useful than just cursory get / set calls.&lt;br /&gt;
&lt;br /&gt;
== Adding Tests to the Tree ==&lt;br /&gt;
As we said previously all tests for assembly OpenSim.Foo (in directory OpenSim/Foo) should:&lt;br /&gt;
* be in assembly OpenSim.Foo.Tests.dll&lt;br /&gt;
* not be in the OpenSim.Foo.dll assembly&lt;br /&gt;
* be in OpenSim/Foo/Tests directory&lt;br /&gt;
&lt;br /&gt;
Also, if you have created a new test assembly you must add references to it in both ''.nant/local.include'' and ''.nant/bamboo.build'' to ensure that the assembly is added to the automated bamboo runs as well as the nant test target.&lt;br /&gt;
&lt;br /&gt;
= Executing Tests =&lt;br /&gt;
== Bamboo ==&lt;br /&gt;
On every commit to opensim all the tests are run on a [http://opensimulator.org:8085 Bamboo build server on opensimulator.org].  The process takes about 5 minutes to build, test, and report the results back out on #opensim-dev via the osmantis bot.&lt;br /&gt;
&lt;br /&gt;
== Nant ==&lt;br /&gt;
You can manually run all the tests for OpenSim on your system by running '''nant test''' as a nant target.  This will run all the tests that are in the tree, though some speculative tests might be ignored if your platform does not have the right features or configuration to run these tests.&lt;br /&gt;
&lt;br /&gt;
== NUnit Console ==&lt;br /&gt;
If you only want to run tests for one assembly you can do that using the NUnit Console.  On Linux just run '''nunit-console2 OpenSim.Foo.Tests.dll''' and it will run only the tests for OpenSim.Foo.Tests.dll.  If you are only making changes to 1 dll and just want a quick sanity check, this is the fastest way to do that.&lt;br /&gt;
&lt;br /&gt;
= Learning More =&lt;br /&gt;
You should definitely read the documentation at the [http://www.nunit.org/index.php?p=documentation NUnit homepage] if you want to know more about testing.  It's a very good reference for all the APIs in NUnit that you can use for creating tests.&lt;br /&gt;
&lt;br /&gt;
= Code Coverage =&lt;br /&gt;
&lt;br /&gt;
A prototype has been included using monocov, which has a profile built-in in mono. Instructions for using monocov can be found on the Mono homepage, in [http://www.mono-project.com/Code_Coverage Code Coverage] section. Unfortunately nunit2 and nant do not support code coverage with monocov (only some other proprietary code coverages), so there is no &amp;lt;monocov&amp;gt; tag. The solution was to implement it using many nunit-console and on &amp;lt;exec&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
ATTENTION: Code coverage only works with mono 1.2.x , any other version will most likely not work. Code coverage development is being put on hold for now until it supports newer mono versions.&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
Download [http://primates.ximian.com/~lupus/monocov-0.2.tar.gz monocov] and [http://prdownloads.sourceforge.net/nunit/NUnit-2.4.8-net-2.0.zip?download nunit-console] if your nunit-console does not work. To test if it works (my Ubuntu's Hardy version did not), just run one of the tests with nunit-console.&lt;br /&gt;
&lt;br /&gt;
Install monocov (./configure, ./make install, there could be some minor conflicts, I had to add to the compiling line -I/usr/include/mono-1.0/) and make sure the working nunit-console is in /usr/bin. Now just run nant test-cov and it will generate .cov files and HTML directories in the cov directory. The .cov files can be seen by running monocov on them, and have the same information as the HTML directories.&lt;br /&gt;
&lt;br /&gt;
= Testing Todo =&lt;br /&gt;
&lt;br /&gt;
== Coverage ==&lt;br /&gt;
At some point in the future we need to integrate test coverage into the bamboo reports so we can easily see how poorly covered our code is, and look for hotspots where we should focus.  We're still at such an early stage that this is probably overkill to get setup for now.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Arthursv</name></author>	</entry>

	</feed>