I have another blog: http://teddmaa.blogspot.com/
It is used for blogging about Second Life stuff, specifically the development I’m doing for OpenSim server.
I’m writing a program (a) that reads a program (b) and creates a program (c) that will run inside a program (d) as a module.
a = My program
b = Second Life LSO ByteCode (compiled LSL script)
c = .dll-file (.Net Assembly)
d = OpenSim (Second Life server, a virtual world simulator)
I must admit that sometimes I’m not sure if I’m writing a program to create the code to execute a function, or if I’m writing a program and executing the function myself… ;) It has to be close to lucid programming (Definition for Lucid Dream).
This module I’m creating is a standard .Net .dll-file when it is done. But it is not very standard. There are two main problems. I have to be able to run over 10.000 simultaneous scripts. And I have to be able to move a running .dll-file to another server at any point in time.
10.000 simultaneous executions is not possible using the normal threading model, not even using the normal stack and linear execution model.
Moving a running assembly from one computer to another also poses a problem, as this is simply not how a program works.
In addition comes the fact that .Net can not unload a loaded assembly (unless in an AppDomain, which has much the same limitation in count as threads), but scripts in this world will be created and deleted constantly.
Fun project… :)