Archive for June, 2004

Simplemente: Mono 1.0

Wednesday, June 30th, 2004

Pues.. eso ;-) , son las 10 de la mañana y dos cosas me han alegrado el día ;-)

And when they said I’m telling lies you believed me

Thursday, June 24th, 2004

Jugando un poco con el sistema de plugins de mbloggy (para ir probando el wrapper) me diverti un rato jugando y leyendo lo que hace Reflections y Collections, muy bueno!.

Ahora cada plugin lo guardo como un simple .dll y lo uso en el wrapper. Por ejemplo, si queremos usar un método pues simplemente:

using System;
using System.Reflection;
using System.Collections;
 
class FooLoader 
{
	static void Main (string [] args)
	{
            Assembly a = Assembly.LoadFrom (args[0]);
            Type t= a.GetType("Foo");
 
            MethodInfo my_method = t.GetMethod("Add"); 
            object obj = Activator.CreateInstance(t); 
            object[] arguments = {3.1,3.2}; 
            my_method.Invoke(obj,arguments); 
	}
}

De esta manera le indicamos el assembly que debe cargar (dll, LoadFrom) que use el Type Foo (la clase Foo), luego le indicamos que cargue el método Add y lo guarde en my_method, creamos la instancia (para poder usarlo y manipularlo), los argumentos que recibe el método Foo y lo ejecutamos! y listo!.

Ahora, si nuestro método regresa un valor pues lo mejor va a ser guardarlo, podemos usar

object myVal = my_method.Invoke(obj,arguments);

Y lo puede guardar, le indico que es object, pero si sabemos que tipo de dato debe regresar (como en los plugins de mbloggy que uso una Interface pues no hay bronca).

O bien, darle propiedades al valor que va a regresar (la recomendada cuando tienen un return).

object retVal = my_method.Invoke(obj,
     BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod,
     null,
     arguments,
     null); 
 
Console.WriteLine(retVal);

Y listo!

¿Cuál es la clase Foo?

using System;
 
class Foo 
{
    public double Add(double h1, double h2) 
    {
        return (h1 + h2);
    }
 
}

Y listo, compilamos

$ mcs Foo.cs /t:library
$ mcs FooLoader.cs
$ mono FooLoader.exe Foo.dll
6,3

Le paso el argumento del nombre del archivo, pero si ya sabemos el nombre dle archivo pues se lo indicamos a LoadFrom(”archivo.dll”) y listo!, ¿fácil no?.

Dance me to your beauty with a burning violin…

Monday, June 21st, 2004

Pocas cosas han pasado, estaba enfermo (moco) y por andar de terco en ir a entrenar, pues tomala.. que me vuelvo a enfermar de la garganta, lo bueno es que tengo la medicina para esos problemas :-) , una pastillita que te deja muerto por unos instantes y al día siguiente andas como nuevo.

De DebianMono, pues no tardé en anunciar que ya teniamos los paquetes de Mono Beta 2 y va slaiendo Mono Beta 3, pero por fin no nos causo tanta bronca y al día siguiente se nos anunció que ya te podíamos volver a mandar paquetes a Debian/Unstable ya que la cola estaba limpia ^_^.

De los paquetes que mantengo pues bien ;-) , libapache-mod-mono lo ibamos a subir pero decidí que no, tiene un bug muy ‘castrante’ mod-mono-server y solo soporta un webapplication :-( . He mandado mi ITP (Intent to Package) de libapache-mod-mono y de prj2make-sharp (pasar proyectos de VS.NET a Makefiles) y han sido aprobados. Aparte pienso ponerme a crear el paquete maestro: donmanolo que llevo un año prometiendo.

Aparte de que he arreglado unos bugs medio ‘castrosos’ (anda de moda la palabra) de Jaws, especialmente esos de nl2br_jaws y Textilize.. puff.. pero ya quedaron :-) .

Bueno, regresando al tema de Debian, pues ahora voy a empezar el ‘papeleo’ para mi próxima meta: Debian Developer… y bueno, de eso es todo..

Ahora me ha dado por escuchar mp3 viejos.. sí sí.. ya saben, música de los 2000 no me gusta, de los 90.. algunas. Así que me he puesto a escuchar toda la discografía del buen Leonard Cohen.

Dance me to your beauty with a burning violin
Dance me through the panic 'til I'm gathered safely in
Lift me like an olive branch and be my homeward dove
Dance me to the end of love
Dance me to the end of love

Aún si estas palabras no dicen lo que hay que hacer..

Friday, June 11th, 2004

Bueno, pues muchas cosas han pasado en los últimos días, fui a Chalco a hacer una parte del Servicio Social, hemos liberado Mono Beta2 para Debian (aquí), mucho código y moco.

Ando haciendo el servicio social y se me ocurrió tomar un proyecto que queda cerca de mi casa (8 minutos, en Mixcoac), el proyecto es crear manual para poder implementar un Modelo Educativo. ¿A qué fui a Chalco?, pues hay una escuela en Chalco que tiene la caracteristica de tener un Modelo Educativo muy ‘peculiar’:

Es una escuela privada que cobra 200 pesos por familia, es decir que si una familia tiene 3 hijos, pues son 200 por los tres hijos, tiene hasta secundaria, pero si un chamaco tiene que entrar a la secundaria y sus padres no han cursado la secundaria, entonces también tienen que cursarla (obviamente, no junto al chamaco). Pero como 200 pesos es mucho para algunas familias (donde la gente que tiene el mayor salario es de $3000 pesos mensuales) entonces las familias pueden trabajar para la escuela haciendo uniformes, pintando bancas, etc.

A mi me dejó buena impresión la escuela, y la idea que tienen es la que muchos mexicanso deberían de tener (yo no me incluyo, en mi casa no me han enseñado a quedarme esperando a que el gobierno haga algo, sino a sobrevivir), entocnes las aportaciones que hacen es de ‘gente’ adinerada, o Microsoft, Compaq, Televisa, etc. Esas son ganas de salir adelante y no de andar esperando a que el gobierno haga algo.

Algo muy curioso es lo que les enseñan en las escuelas, son herramientas para que puedan sobrevivir, no los enseñan a esperar a que sus padres los alimenten (igual, como a muchos mexicanos), sino salir a cazar la comida, con habilidades, les enseñan computación, cuando van en Quinto de primaria manejan a MUY BUEN nivel Excell, PowerPoint y otras cosas, aparte que les enseñan arte desde el kinder, cada mes les cambian un cuadro y la música, no podía creerlo y una niña de cuarto de primaria pudo reconocer de quien era la música (era de Bach, pero no le dijeron), al igual que cuadros (como de Salvador Dali).

Bueno, entonces parte del servicio social es hacer un manual para que ese tipo de modelo se pueda copiar a otras zonas, como Santa Fe (muy jodida, aunque hay mucha gente ignorante que cree que Santa Fe es la Ibero, el Tec, Microsoft, etc).

Digo, realmente la escuela me apantalló, que aunque ya ibamos cansados por las dos horas de tráfico, manifestaciones (que quieren que el gobierno los mantenga). Excelente!.

Sobre otras cosas, estabamos en un rato de ocio en el canal de #debian-mono platicando sobre política y NAFTA (ahí si me emocioné, mi padre ha estado metido en NAFTA los últimos 20 años) y hay muchas cosas que encontré en común con Italia, pero me dijeron algo (surgió el tema de un gobernador, y pues yo aventé a nuestro HHH Peje): “No entiendo como los mexicanos no entienden de sus herrores y de los herrores de otros”.. todo cuando salió Chavez del cual Peje es un fan from hell. La gente es medio ‘lela’ y no se da cuenta, pero en fin.. esperemos que no, vean la historia de Venezuela y como Chavez llegó y van a entender al Peje.

Y bueno, del famoso ‘viaje’ a Chalco me enfermé bien gacho, que no voy a poder ir a Guanajuato mañana, sino hasta la próxima semana :-( .

Pero en fin, el código del día es el soporte de Plugins para mbloggy, precisamente para ‘estandarizar’ los Posts (blogger, livejournal, metaweblog.. todos hacen lo que quieren y dan los datos como se les da la gana).

    public class PostStruct 
    {
 
        public class Struct 
        {
            public int post_id;
            public string title;
            public string body;
            public bool auto_publish;
            public DateTime posted_time;
            public int cat_id;
        }
 
        [XmlArrayItem ("Struct")]
        private ArrayList postsList = new ArrayList ();
 
        public PostStruct() {}
 
        public ArrayList array 
        {
            get {  return postsList; }
        }
 
    }

Recuerden: No al Peje, hasta solo ve con buenos ojos a uno, que por ‘relaciones’ en la familia se le conoce desde la Universidad y siempre ha sido responsable… suspenso :-) .

..La ironía de la física enemiga de la sinceridad

Tuesday, June 8th, 2004

Hoy tuve que ir a Tlalpan (no es mi rumbo y me quede del otro lado de la ciudad), hace mucho no maldecia tanto a los automovilistas y a la ciudad :-) , una hora y quince para llegar (y ni llegué a donde pensaaba, me regresé de todo el tráfico), así que se me ocurrió una idea, ¿cambalache de ciudad, ciudadanos o mejor.. gobernador?.

Así que lanzo la propuesta para cualquier ciudadano o incluso extranjero:

* Se renta, alquila, regala Gobernador
* Se renta, alquila, regala Ciudad
* Se renta, alquila, regala Ciudadanos

¡¿Alguien?!

Por cierto, ésta ‘fabulosa’ idea me surgió en el tráfico, así que se podría decir que es como un ’seppuku’ (o harakiri como unos lo conocen)