Blog de Daniel Zegarra Rotating Header Image

mayo, 2010:

Televisión Bolivariana de Venezuela

Me puse ha escuchar un poco de televisión venezolana y todo parecía muy normal hasta que empezó la tanda comercial y con ella todo ese sistema de lavado de cerebro que ha montado Chavez para convertir a los ciudadanos en súbditos.

Hay que reconocer que Chavez no es tonto, parecerá tonto por su manera de comportarse cuando se siente amenazado o cuando quiere atacar a alguien y no puede controlar ese montón de odio que tiene dentro, pero no lo es o al menos, el equipo de trabajo detrás suyo hace un trabajo tan genial que lo salvan.

Tan solo hay que ver no mas de 30 minutos de television venezolana. Si bien el mensaje de fondo es “viva Venezuela” y “debemos estar orgullosos de nuestro país” todos estos mensajes están fuertemente ligados al nombre de Chavez, como si no se pudiera separar la identidad venezolana y todas las cosas buenas de Venezuela de él. Los comerciales en el canal que publico mas abajo son casi en su totalidad nacionalistas, muy bien hechos la verdad, algunas son frases del presidente comentando sobre cosas que son imperialistas y envenedadas (a la vez que suena una musiquita de fondo con un tema cultural como si de un erudito se tratase) y hay que memorizarlas como si de leyes se tratarsen.

En los noticieron encuentras algunas inferencias incorrectas, por ejemplo:

La narradora dice:

El presidente Chavez se reunión con la delegación italiana para firmar unos acuerdos de cooperación. En la reunión el canciller italiano expreso su apoyo a la revolución bolivariana, etc etc y enfatizo que el actual potencial venezolano no se hubiera logrado sin esta revolución, etc, etc.

Y entonces se calla la narradora y se escucha lo que dice el canciller a través de su traductora y se oye algo como:

Venezuela es un solido proveedor energético y estamos entusiasmados de este tratado, etc, etc.

(Las citas no son exactas, las escribi como las recuerdo)

Si te fijas, que el canciller diga que Venezuela es un buen proveedor energético no quiere decir que sea gracias al nuevo gobierno bolivariano (el petróleo ya estaba ahí mucho tiempo antes) y menos que esto no haya podido lograrse sin la revolución.

Esto es parecido a lo que pasaba en el gobierno de Fujimori. Habian proyectos sociales (el vaso de leche es uno de los mas conocidos) que la verdad que si eran buenos y ayudaban a mucha gente, el gobierno siempre intentaba dar la impresion de hacer todo bien, de preocuparse por sus ciudadanos, si tomaban el congreso era por que no podian mejorar el pais con los politicos actuales (y no porque no querian tener supervisores que descubrieran sus fechorias), compraban los canales para que muestren solo lo que el gobierno deseaba y no informara de los delitos que se cometian en estos circulos. Si alguien se armaba de valentia e intentaba llegar al pueblo, la prensa, la principal herramienta de comunicacion masiva le daria hipocritamente la espalda.

Eso si, Fujimori y Valdimiro eran mas solapas, no como Chavez que nacionaliza los canales que no van con su punto de vista sin ningun miedo a las represalias del pueblo.

Supongo que al principio uno se da cuenta de estas cosas, pero con el tiempo se te hace costumbre y cuando te encuentres con un canal de televisión en el que no aparecen los colores de la bandera por mas de 10 segundos sentirás que algo raro tiene, talvez es imperialista, talvez esta ENVENENADA!!!

Aquí les dejo una transmisión en vivo de un canal de la República Bolivariana de Venezuela:

Y que diablos significa Bolivariana???, viene de Bolivar si, pero, acaso esa palabra existe?? Según Wikipedia ese tipo de república no existe (talvez en la Wikipedia venezolana si aparezca).

Realmente nunca vuelvo a Perú si algún presidente (posiblemente Humala) cambia de nombre al país por República TupacAmarista de Perú (o algo similar).

Ojo: El que un presidente tenga a muchas personas apoyandolo no quiere decir que sea correcto, Fujimori aun tiene miles de seguidores necios que consideran que el fin justifico los medios. Al final, pienso que cada pueblo se merece al gobernante que elige.  En Peru estuvimos a punto de elegir a Humala en las elecciones pasadas, eso nos dice algo: el Peru casi se merece a Humala como presidente.

Screencasts de Mathematica

Este es un post rapido. He aqui la galeria de screencasts sobre esta fantastica herramienta para docentes y estudiantes de matematica. Lamentablemente no es un software libre, cuesta, pero aun al alcance de las universidades.

Estuve atendiendo a un screencast de introduccion al software y es realmente genial, perfecto para crear documentos o ejemplos interactivos en clase. Estos documentos (llamadas notas) se pueden guardar, compartir y visualizar (con el player que si es gratuito) por cualquiera.

El screencast introductorio no toma mas de media hora y te aseguro que cualquier docente de matematica (y puede que alumnos tambien aunque con menor enfasis) querra poner sus manos encima de esto.

Dejo la direccion del screencast introductorio: Enlace.

Transfiriendo valores NaN entre Zend AMF y Flex

Hay una discrepancia entre AS3 y PHP aun no solucionada por Zend AMF que puede llevar a un error no esperado cuando se trabajan con valores numericos. El problema consiste en que para PHP una variable es nula si null, sin embargo para AS3 el valor nulo de una variable depende de su tipo. Especificamente para las variables de tipo Number este valor es NaN.

Cuando Zend AMF devuelve una clase con variables nulas AS3 lo recibe asi, pero para AS3 las variables Number no pueden ser null y para salir de este problema convierte el null en 0 (cero). Y es asi como terminas teniendo variables con valores en cero en lugar del esperado NaN.

La manera mas facil de arreglarlo es hacerle un puente al problema utilizando setters para recibir el valor entregado por el servidor, validarlo y decidir si es un aceptarlo o no.

Se puede entender mejor viendo el siguiente ejemplo:

package DTO{
	[RemoteClass(alias="claseDTO")]
	[Bindable]
	public class claseDTO{
		/**
		 * Solo se tiene acceso a esta variable a travez de su getter/setter
		 */
		private var _numero:Number;

		/*
		 * Definiendo el getter/setter para la variable privada _numero.
		 * Recordar que Number es una subclase de Object.
		 */
		public function get numero():Object{
			return _numero;
		}
		public function set numero(val:Object):void{
			//Si el valor dado es un numero
			if(val is Number)
				_numero = val as Number;
		}

	}
}

Los comentarios son bienvenidos.

El agua llega a Toruń

Decidirse entre Zend AMF, AMFPHP, WebORB, …

Para mi, decidir que framework usar para conectar una aplicacion Flex/Flash con un servidor PHP es todo un dilema debido a que mi eleccion influrira mucho en mi calendario de trabajo. Supongo a muchos les  pasara que se familiarizan con un pequeño grupo de lenguajes y/o  frameworks y lo utiliza en todo proyecto que crea conveniente. Asi era yo con AMFPHP, el primer gateway AMF que conoci alla cuando Flash 8 era el ultimo lanzamiento de Macromedia.

En si tenemos tres o cuatro candidatos potenciales y estos son: Zend AMF, AMFPHP y WebORB. A continuacion comento las caracteristicas de cada uno.

AMFPHP es creo, sin lugar a dudas, la mejor alternativa si deseas conectar tu aplicacion Flex o Flash con un servidor PHP (y este a su vez con la BD) y no deseas tener que pasar por una larga curva de aprendizaje. AMFPHP es ligero, incluye una gestion de roles bastante simple, no es necesaria su instalacion, soporta mapeo de clases (VOs) y por ultimo, incluye un navegador de servicios para que puedas probar los mismos rapidamente. Ademas, soporta AMF0 y AMF3 (por si usas AS2 o AS3) de forma transparente. Ademas, viene preparado para comsumir Web services. Entre sus desventajas estaba la falta de soporte. La persona detras del proyecto lo abandono dejandolo en una version beta (y sin la nueva documentacion completa) durante un par de años  pero recientemente su desarrollo acaba de ser retomado y gracias a ello, se acaba de lanzar, por fin, la version 1.9 oficial.

El siguente es Zend AMF, desarrollado por Zend (la empresa detras de PHP) es el mas apoyado de todas las alternativas debido a que tiene la venia de Adobe y, obviamente, es desarrollado por Zend. A pesar de esto, carece de caracteristicas que AMFPHP o WebORB ya ofrecen (como seguridad integrada y un navegador de servicios) obligandote a implementarlas tu mismo o, lo que es mas facil, a vivir sin ellas. Pero su gran ventaja es que al ser una parte de Zend Framework (aunque se puede descargar de manera independiente) se acopla perfectamente a su arsenal de herramientas lo que es muy util, creeme. Hoy acabo de enterarme que el problema de la lenta serializacion de datos que Zend AMF tenia en versiones anteriores acaba de ser solucionada de manera oficial en la version 1.10.4.

El tercero es WebORB. Si tuviera que definirlo en una sola palabra esa seria “Completo”. Tiene tantas caracteristicas que impresiona. Un administrador de servicios decente junto con opciones pensadas para ahorrarle al desarrollador la necesidad de escribir codigo, incluye su propio administrador de acceso a servicios y metodos ademas de un administrador centralizado para el mapeo de clases. Sin lugar a dudas es el que ofrece mas opciones a simple vista. El problema de WebORB es justo eso, ofrece tantas opciones que pueden confundir al novato, darle una sensacion de demasiada complejidad.

Escribo este post porque hace poco he pasado de AMFPHP a Zend AMF. Me costo hacer la mudanza debido a que tenia muchas clases que recibian matrices asociativas como parametros (AMFPHP mapeaba los objetos de Flash en arrays asociativos y Zend AMF lo hace como objetos) y basaba casi toda la implementacion de seguridad en el metodo beforeFilter de cada clase/servicio.