A raíz de encontrarme con unos comentarios de entrada muy acertados sobre Jodorowsky, en http://charlatanes.blogspot.com, me doy a la tarea de tratar de contribuir de manera positiva a las criticas que se le hacen ahí al ya mencionado señor.
Tengo 26 años y conocí a Jodorowsky alrededor de cuatro años atrás, a través de una serie de entrevistas que Olallo Rubio le realizo a este viejito, me intereso su “trabajo” y comencé a ver sus películas y a buscar material sobre él. Solo como dato complementario, quiero decir que he visto las películas de “El Topo”, “La Montaña Sagrada” y “Santa Sangre” ,lo he oído hablar en tres de varias entrevistas que le han hecho. Además de que lo he leído en “El maestro y las magas”, empecé a leer “Manual de Psicomagia”, pero no he terminado.
Con lo anterior no quiero congraciarme con usted diciendo que sé mucho sobre su trabajo y mucho menos dar a entender que domino cualquier cosa que sus libros enseñen o puedan enseñar. Mi intensión es más bien explicar como es que sé de este señor y con que bases hablo de él.
Antes de continuar mire el siguiente anuncio de una campaña publicitaria:
Si consideras que leer este anuncio fue una perdida de tiempo, fue inútil, es ridículo y no crees que te pueda aportar algo. DETENTE !!! . No leas más, por que si es cierto que este anuncio no dice nada, es poco fiable, inútil , entonces es cierto que Jodorowsky es la ruta mas corta a perder el tiempo irremediablemente, y no es más que un viejito que se quedo en el viaje.
¿Cómo es que menos es más? ¿Cómo amar a una persona mientras le hago daño? ¿Cómo puede ser que un camino a la verdad es la mentira? Esto simplemente es la contradicción. Mientras lees las siguientes líneas ten siempre presente esto.
Definitivamente a este señor lo podemos llamar charlatán, no explicada nada, no demuestra nada, no hace nada, no contesta nuestra preguntas y finalmente tal vez no sabe de nada. Y definitivamente es un hombre sencillo por no decir simple, para esto no hay mas que escucharlo cuando según el esta “leyendo” el Tarot, cuando dice un chiste o cuando habla de su ultimo libro. ¿Que es lo que mas le gusta a Jodorowsky? de sus mismas palabras…. acariciar las nalgas de mi esposa… ¿No es esta acaso la respuesta que esperaríamos de un hombre simple?. Un sabio no contestaría eso, un hombre letrado no contestaría eso…. esperaríamos una respuesta mas profunda mas acorde con lo que quiere representar…¿no?.
Creo que una manera mas positiva de entender a este viejito, es recordando que el señor antes de ser otra cosa es y fue un mimo, simplemente un mimo, acostumbrado a hacer como si realmente hiciera…. Hacer como si estuviera encerrado en la cárcel, hacer como si saliera de una caja, hacer como si nadara en el mar y sacara una piedra del agua; ya mas en la actualidad a hacer como si hiciera películas y a hacer como que cura…. pero la “mentiraespectáculo” del mimo no esta en lo que el hace, por que el realmente no hace nada (real). El espectáculo del mimo esta en nosotros, al imaginar la caja, al imaginar el agua , al ver la piedra. ¿Qué tan fuerte es esta experiencia? Si la imaginas o no la imaginas es decisión tuya, si la piedra estaba ahí, o no estaba es decisión tuya. Es decisión solo tuya y nadie puede explicarte como lo ve y a nadie le puedes explicar como lo viste. ¿Había realmente algo ahí?, la respuesta es simplemente NO. ¿Quién trajo la piedra que saco el mimo del agua?, la piedra la trajiste tú. Y si yo tenia la cárcel que lo atrapo, la caja de la que salio, la piedra que saco del agua. ¿Qué me esta diciendo?, la respuesta directa es NADA (nada que no conozcas o sepas de antemano), y si el no me da nada, ¿Que caso tiene verlo? ¿Qué pasa si el “mimomentiroso” saca algo que no traías, que no conocías? ¿Cómo lo voy a distinguir? La respuesta es, no lo vas a distinguir, simplemente no lo podrás imaginar.
¿Debemos creer en lo que nos dice?, NO. Por que no dice nada, la mentira del mimo no muestra nada y lo que sea que muestre, si es que no lo conocemos no lo veremos. De esta manera lo que nos dice el charlatán, no nos aportara NADA.
¿Qué es entonces lo que nos aporta? Una pregunta.
Si algo ha hecho Jodorowsky durante su vida es buscar el camino de la sabiduría, si la ha alcanzado o no, no lo sabremos y no nos interesa. ¿Cómo un hombre que es capaz de inventar tantas cosas al hacer como si leyera el tarot, puede ser un sabio? Lo que nos muestra su trabajo es un camino. ¿Es correcto o incorrecto?, ¿Quien se atrevería a contestar tajantemente esta pregunta?
Sunday, January 24, 2010
Monday, October 19, 2009
ILog y OpenRules
Gracias a una pregunta del foro de la comunidad java México http://www.comunidadjava.org/, me pareció importante crear una entrada sobre ILog y OpenRules.
Para empezar con el pie derecho vamos a plantear algunas preguntas:: ¿Se va a poner de moda openRules y/o ILog? según yo Sí! . ¿La moda sera planteada como una panacea? Sí, y los vendedores tocaran tu puerta. ¿Todos debemos usar un motor de reglas de negocio? No, pero buena parte podria (mas no deberia). ¿Puedo entrarle a ILog/OpenRules? Sí, hay que trabajar duro en el diseño pero todos podemos.
¿Es muy caro? Depende, openRules es openSource y es relativamente barato, ILog puede llegar a ser muy caro dependiendo de los módulos que te interesen.
Primero hay que dejar claro que los motores de reglas de negocio ILog y OpenRules son muy distintos pero con una filosofía similar, OpenRules solo trabaja con "Tablas de decisión" y un conjunto reducido de opciones, mientras que ILog es mas completo. A pesar de esto OpenRules es una herramienta sencilla, practica y poderosa, para descargar en ella la responsabilidad de manejar nuestras reglas de negocio.
¿Como que puedo hacer con OpenRules? Tablas de decisión, déjame mostrarte como es esto.
Los pasos que vamos a seguir son:
Supongamos que nuestro experto de negocio nos pasa una tabla en Excel donde están las reglas que quiere que el sistema valide, cosas del tipo:
Este tipo de reglas y como muchas otras cosas son del tipo condición -> acción; causa -> efecto. Típicamente las reglas que genera el experto de negocio son fácilmente expresables como varias tablas de Excel, una vez que tenemos la regla expresada de esa manera, un desarrollador debe tomar esas reglas y afinarlas , para determinar posibles contradicciones y reglas múltiples.
Cada condición de la regla se evalúa usando expresión Java como la que usaríamos en un "IF" cualquiera . Está expresión se evalúa para cada uno de los posibles valores de la condición (los valores de la columna). Donde la expresión tenga un valor TRUE, la regla hace "match". Las condiciones de la tabla se leen de izquierda a derecha y de arriba hacia abajo. En la imagen que muestro a continuación vemos cinco columnas (C1,C2,C3,C4 y C5) de condiciones cada una con una variable asignada, Cliente, Monto, Sucursal, Producto y Frontera.

Después se le asigna un nombre como si fuera un método normal Java , en este caso recorteMontosInformal (atención a la firma del método!!!). Al terminar este proceso, vamos a diferenciar las columnas de la tabla como condiciones y acciones; estas condiciones y acciones quedan asociadas a métodos y/o otros atributos de clase (Ver imagen, lineas 49,50,51...). Por ejemplo en el caso presentado celda E50 tenemos "xSolicitud.getProducto().equals(producto)" donde:
Obviamente lo que sucede es que el nombre de la regla/tabla (void recorteMontosInformal(Solicitud xSolicitud) es asociado por el openRules a un fragmento Java generado por el en base a los datos de la tabla de Excel.
Traduciendo la primera regla de la tabla a palabras mas entendibles tendríamos (rango de celdas B53-I53) los clientes de tipo A con un monto de factura de 1800 de cualquier sucursal (por eso la celda en blanco) que compraron en la frontera deben.... (y es aquí cuando bienen las acciones (columnas de la G-I)...) mantener su monto en 1800 (solo muestro el valor para fines ilustrativos, pero la celda bien se puedo haber quedado en blanco, pues no hubo cambio de valor como en filas posteriores) y pagar una comisión de 90 pesos con su respectivo IVA.
La información para validar la regla estaba ya en el objeto xSolicitud que se paso como "parámetro" a la tabla y las acciones afectan a este objeto con código Java como el señalado por la flecha en la imagen anterior. Dejénme mostrar el detalle.

Para usar openRules en tus proyectos Java solo tienes que incluir unas pocas librerías (2 Mb) y generar tu archivo JAR, WAR o EAR. Lo que le da a OpenRules una firma de librerías muy reducida y lo hace muy flexible.
Además el código para "ejecutar" la tabla es también muy sencillo.
package basic_types;
import com.openrules.ruleengine.OpenRulesEngine;
public class TestOpenRules
{
public void process(Solicitud xSolicitud)
{
String fileName =
"file:/workspace/HelloJava/rules/main/123.xls";
String methodName = "obtenerVerificaciones";
OpenRulesEngine engine = new OpenRulesEngine(fileName);
Object[] objects = new Object[] { xSolicitud };
engine.run(methodName,objects);
}
}

Para este caso elegi "Eclipse Galileo" para hacer la implementación , aunque quiero dejar claro que no tengo ninguna inclinación particular por Eclipse, ni lo recomiendo, simplemente es la herramienta que me sirvio para este ejemplo, cualquier otra herramienta puede ser igual o mejor que Eclipse.
¿Que mas se puede hacer a partir de aquí? Crear un WebServices , crear un applet , JSP, Portlets ? Lo que tu quieras la imaginación es el limite. :D...
La siguiente entrega ??? Afghanistan, JavaFx, El arte de la guerra y MTG... no lo sé...
Para empezar con el pie derecho vamos a plantear algunas preguntas:: ¿Se va a poner de moda openRules y/o ILog? según yo Sí! . ¿La moda sera planteada como una panacea? Sí, y los vendedores tocaran tu puerta. ¿Todos debemos usar un motor de reglas de negocio? No, pero buena parte podria (mas no deberia). ¿Puedo entrarle a ILog/OpenRules? Sí, hay que trabajar duro en el diseño pero todos podemos.
¿Es muy caro? Depende, openRules es openSource y es relativamente barato, ILog puede llegar a ser muy caro dependiendo de los módulos que te interesen.
Primero hay que dejar claro que los motores de reglas de negocio ILog y OpenRules son muy distintos pero con una filosofía similar, OpenRules solo trabaja con "Tablas de decisión" y un conjunto reducido de opciones, mientras que ILog es mas completo. A pesar de esto OpenRules es una herramienta sencilla, practica y poderosa, para descargar en ella la responsabilidad de manejar nuestras reglas de negocio.
¿Como que puedo hacer con OpenRules? Tablas de decisión, déjame mostrarte como es esto.
Los pasos que vamos a seguir son:
- Entender nuestra regla de negocio y expresarla como una tabla en Excel.
- Reordenar nuestra regla de negocio como una serie de condiciones que nos llevan
a una serie de acciones. Dentro del mismo Excel!. - Leer y ejecutar la regla desde ese mismo Excel con la ayuda de OpenRules.
Supongamos que nuestro experto de negocio nos pasa una tabla en Excel donde están las reglas que quiere que el sistema valide, cosas del tipo:
- Todos los clientes con cuatro o mas productos de la categoría A son acreedores a un descuento.
- Cuando los productos de la categoría A y B para las sucursales 1,2,3 8 y 9, son usados para calcular el bono del vendedor se debe tomar la tasa especial del 4% para calcular su comisión.
- Si los clientes hacen reservaciones en un Hotel de la cadena Hilton, se debe generar un bono por el 5% del monto total a facturar, valido en toda la cadena de hoteles con vigencia de tres meses, en destinos nacionales.
Este tipo de reglas y como muchas otras cosas son del tipo condición -> acción; causa -> efecto. Típicamente las reglas que genera el experto de negocio son fácilmente expresables como varias tablas de Excel, una vez que tenemos la regla expresada de esa manera, un desarrollador debe tomar esas reglas y afinarlas , para determinar posibles contradicciones y reglas múltiples.
Cada condición de la regla se evalúa usando expresión Java como la que usaríamos en un "IF" cualquiera . Está expresión se evalúa para cada uno de los posibles valores de la condición (los valores de la columna). Donde la expresión tenga un valor TRUE, la regla hace "match". Las condiciones de la tabla se leen de izquierda a derecha y de arriba hacia abajo. En la imagen que muestro a continuación vemos cinco columnas (C1,C2,C3,C4 y C5) de condiciones cada una con una variable asignada, Cliente, Monto, Sucursal, Producto y Frontera.
Después se le asigna un nombre como si fuera un método normal Java , en este caso recorteMontosInformal (atención a la firma del método!!!). Al terminar este proceso, vamos a diferenciar las columnas de la tabla como condiciones y acciones; estas condiciones y acciones quedan asociadas a métodos y/o otros atributos de clase (Ver imagen, lineas 49,50,51...). Por ejemplo en el caso presentado celda E50 tenemos "xSolicitud.getProducto().equals(producto)" donde:
- xSolicitud: Es el parametro de entrada de la tabla. El parametro del método!
- getProducto(): Es el nombre de un método en el objeto xSolicitud, un simple método get
- equals(producto): Es aquí donde se ejecuta la regla, donde producto, son los valores de la columna uno a la vez para evaluar la condición.
Obviamente lo que sucede es que el nombre de la regla/tabla (void recorteMontosInformal(Solicitud xSolicitud) es asociado por el openRules a un fragmento Java generado por el en base a los datos de la tabla de Excel.
Traduciendo la primera regla de la tabla a palabras mas entendibles tendríamos (rango de celdas B53-I53) los clientes de tipo A con un monto de factura de 1800 de cualquier sucursal (por eso la celda en blanco) que compraron en la frontera deben.... (y es aquí cuando bienen las acciones (columnas de la G-I)...) mantener su monto en 1800 (solo muestro el valor para fines ilustrativos, pero la celda bien se puedo haber quedado en blanco, pues no hubo cambio de valor como en filas posteriores) y pagar una comisión de 90 pesos con su respectivo IVA.
La información para validar la regla estaba ya en el objeto xSolicitud que se paso como "parámetro" a la tabla y las acciones afectan a este objeto con código Java como el señalado por la flecha en la imagen anterior. Dejénme mostrar el detalle.
Para usar openRules en tus proyectos Java solo tienes que incluir unas pocas librerías (2 Mb) y generar tu archivo JAR, WAR o EAR. Lo que le da a OpenRules una firma de librerías muy reducida y lo hace muy flexible.
Además el código para "ejecutar" la tabla es también muy sencillo.
package basic_types;
import com.openrules.ruleengine.OpenRulesEngine;
public class TestOpenRules
{
public void process(Solicitud xSolicitud)
{
String fileName =
"file:/workspace/HelloJava/rules/main/123.xls";
String methodName = "obtenerVerificaciones";
OpenRulesEngine engine = new OpenRulesEngine(fileName);
Object[] objects = new Object[] { xSolicitud };
engine.run(methodName,objects);
}
}
Para este caso elegi "Eclipse Galileo" para hacer la implementación , aunque quiero dejar claro que no tengo ninguna inclinación particular por Eclipse, ni lo recomiendo, simplemente es la herramienta que me sirvio para este ejemplo, cualquier otra herramienta puede ser igual o mejor que Eclipse.
¿Que mas se puede hacer a partir de aquí? Crear un WebServices , crear un applet , JSP, Portlets ? Lo que tu quieras la imaginación es el limite. :D...
La siguiente entrega ??? Afghanistan, JavaFx, El arte de la guerra y MTG... no lo sé...
Subscribe to:
Posts (Atom)
About Me
Cada dos semanas...
-
►
16
(1)
- ► 28 February (1)
-
►
08
(5)
- ► 12 October (1)
- ► 28 September (1)
- ► 14 September (1)
