viernes, 2 de octubre de 2009

Pink Floyd en El Majahual.





Creditos de: wilbertharaujo


Buenisimo... !!!!

lunes, 20 de julio de 2009

Json en Java

En el post anterior me referia a xml y el manejo que castor-xml nos proporciona para simplificar las cosas, dentro del mismo post esta el siguiente comentario:

DrMartin dijo....
"He escuchado que la nueva era de la información promete que el sustituto de XML sea JSON, he usado JSON hace poco y me parece que en efecto promete ser mas eficiente, pero sobre todo más ameno al programador ya que con solo ver su notación se sabe sobre que versa el flujo de datos."
Efectivamente Json es la manera en que los componentes de la capa de presentación de las aplicaciones web se estan comunicando con los servidores, se ha convertido en un estandar e incluso los componentes javascript que antes tenian dicha interacción atravez de xml ahora dan soporte para Json, el soporte de librerias (frameworks) como JQuery es extremadamente bueno.

Con todo esto la duda que tuve es como generar Json de manera eficiente desde Java, pues bueno en http://json.org/ esta la respuesta, revisando algunas de las librerias que en dicho sitio se presentan inmediatamente me llamo la atención GSon que promete ser "A Java library to convert JSON to Java objects and vice-versa", revisando un poco me pareción muy intuitivo (demasiado) su uso, un método muy sencillo en donde se encapsula la escritura de Json:

public static String Object2Json(Object obj){
return new Gson().toJson(obj);
}

y la lectura de un Json así:

@SuppressWarnings("unchecked")
public static Object Json2Object(String json, Class clazz){
return new Gson().fromJson(json, clazz);
}

Por supuesto que si queremos utilizar colecciones dentro de nuestros objetos debemos darle un manejo mucho mas especializado tal como se describe en la documentación de Gson, los métodos que he colocado funcionarán para POJOs (aunque yo lo probe con unos mapas y en la escritura todo bien, el problema fue en la lectura pero por el manejo que se debe de dar para las colecciones).

Otra libreria que me parecio interesante aunque no cumple toda la funcionalidad que Gson es FlexJson, su uso tambien es muy sencillo, para escribir un Json no se necesita mas que:

public static String Object2Json(Object obj){
return new JSONSerializer().exclude("*.class").serialize(obj);
}

o si necesitamos un Json con estructura para ExtJs:

public static String Object2JsonExtJs(Object obj,String alias){
return new JSONSerializer().exclude("*.class").serialize(alias, obj);
}

Esta libreria da soporte para anotaciones y su documentación es bastante completa.

Existen muchas otras librerias pero estas dos me parecieron (al menos para mis futuras necesidades) las más utiles.

miércoles, 17 de junio de 2009

Java: Castor y XML - Mappings

Para continuar con lo prometido de Castor – XML

Como les comente, si lo que queremos es un xml con cierta complejidad, no bastará con utilizar los mentodos que coloque en el post anterior, pues dichos metodos solo nos sirven para un POJO (DTO, JavaBean........W como lo quieran llamar).

Para poder “convertir” una clase o un conjunto de clases “relacionadas” debemos maperlas dentro de un archivo que luego deberá ser cargado en el contexto de ejecución de castor, para esto explico brebemente las herramientas que las personas del proyecto java-castor nos proporcionan:

Mapping: esta clase permite cargar archivos y/u objetos (Reader) para realizar el java binding con castor, es decir, los mapeos que generemos deben ser cargados en una instancia de este objeto.

Marshaller: siver para realizar el paso de objetos a un xml

Unmarshaller: es el analogo a Marshaller, pasa un xml a objeto

XMLContext: esta clase es basicamente un Factory de objetos con algunas otras utilidades, posee metodos para crear objetos Marshaller, Unmarshaller y Mapping, esta clase es la que se recomienda utilizar para la creación de estos objetos, tambien en este objeto podemos precargar los mappeos (Objetos Mapping), realmente este objeto simplifica de manera significativa el parseo.

La clase que utilizaremos:

public class XMLDataBinding {

private XMLContext ctx;

public XMLDataBinding(){
this.ctx = new XMLContext();
}

public Object readXML(Reader xml, Class clazz) throws MarshalException, ValidationException, SAXException, IOException{
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setClass(clazz);
return unmarshaller.unmarshal(new InputSource(xml));
}

public static Object xml2Object(Reader xml, Class clazz) throws MarshalException, ValidationException{
return Unmarshaller.unmarshal(clazz, xml);
}

public String writeXML(Object object) throws MarshalException, ValidationException, IOException{
StringWriter writer = new StringWriter();
Marshaller marshaller = context.createMarshaller();
marshaller.setWriter(writer);
marshaller.marshal(object);
return writer.getBuffer().toString();
}

public static String object2XML(Object object) throws MarshalException, ValidationException{
StringWriter writer = new StringWriter();
Marshaller.marshal(object, writer);
return writer.getBuffer().toString();
}

public void addMappingToContext(Reader mappingFile) throws MappingException{
Mapping mapping = this.ctx.createMapping();
mapping.loadMapping(new InputSource(mappingFile));
this.ctx.addMapping(mapping);
}

public void addMappingToContext(InputStream mappingFile) throws MappingException{
Mapping mapping = this.ctx.createMapping();
mapping.loadMapping(new InputSource(mappingFile));
this.ctx.addMapping(mapping);
log.debug("Mapping loaded: " + mappingFile);
}

public XMLContext getXMLContext(){
return this.ctx;
}

}

Las clase que utilizaremos para convertirlas a xml son relativamente sencillas (sino nos aburrimos todos), lo haremos con dos clases unicamente:


public class Persona implements Serializable {

private static final long serialVersionUID = 1L;
private String nombre;
private String apellido;
private int edad;
private ArrayList telefonos;
private Automovil automovil;

public Persona(){
}

public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public List getTelefonos() {
return telefonos;
}
public void setTelefonos(ArrayList telefonos) {
this.telefonos = telefonos;
}

public Automovil getAutomovil() {
return automovil;
}

public void setAutomovil(Automovil automovil) {
this.automovil = automovil;
}

public String getNombreCompleto(){
return this.nombre + “ ” + this.apellido;
}

}

public class Automovil implements Serializable {
private static final long serialVersionUID = 1L;
private String marca;
private String modelo;
private String placa;

public Automovil(){

}

public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public String getPlaca() {
return placa;
}
public void setPlaca(String placa) {
this.placa = placa;
}
}

El mapeo es el siguiente:

Link de descarga aquí

Deben notar que la clase principal es test.castor.xml.contenedores.Persona y esta clase en el mapeo posee un tag map-to, este tag determina el nombre del tag root del xml resultante, tambien notar que los atributos type de cada tag field determinan el tipo de objeto que será creado (que puede ser un tipo primitivo de java o uno propio) y el atributo name establece el metodo accesor que será buscado en la clase (no el nombre del atributo, notar que nombreCompleto no exite en la clase), adicionalmente si poseemos collecciones de objetos (no mapas, pues estos se manipulan diferente) hay que adicionar un tag collection que contiene el tipo de colección que manipularemos (los tipos aceptados por castor-xml se encuentran en el dtd http://castor.org/mapping.dtd), el tag bind-xml (hijo de field) determina el nombre que en el xml poseera el atributo correspondiente a la clase.

La escritura del xml seria la siguiente:

Persona persona = new Persona();
persona.setNombre("nombre");
persona.setApellido("apellido");
persona.setEdad(100);
ArrayList telefonos = new ArrayList();
telefonos.add("12345");
telefonos.add("56789");
persona.setTelefonos(telefonos);
Automovil auto = new Automovil();
auto.setMarca("marca");
auto.setModelo("modelo");
auto.setPlaca("SV123465");
persona.setAutomovil(auto);
XMLDataBinding db = new XMLDataBinding();
db.addMappingToContext("test/castor/xml/PersonaMapping.xml");
System.out.println(db.writeXML(persona));

El xml que obtenemos como resultado es el siguiente:

Link de descarga aquí

El orden de los tags en el xml obtenido corresponde al orden establecido en el mapeo, es decir, si necesitamos un orden diferente de los tags en el xml no tenemos que modificar nada mas que el mapeo de nuestras clases al igual que si queremos que cambiar el nombre a algun tag, solo hay que modificar el mapping.

La lectura de un xml podriamos hacerla con el mismo xml que hemos generado y la misma instancia del objeto XMLDataBinding:

Persona p = (Persona)db.readXML(new StringReader(xml), Persona.class);

Castor-XML posee mas herramientas para la manipulación de xml, para el caso de handlers que permiten la transformación de objetos por ejemplo, ademas el proyecto castor proporciona muchas herramientas adicionales

La referencia oficial de castor-xml la encuentran aquí y las descargas las encuentran aquí.

lunes, 11 de mayo de 2009

Muerte a la Manyula Alba!!!

El día de ayer se esperaba un día histórico para el fútbol salvadoreño, el descenso directo de Alianza F.C. a la "gloriosa" segunda división.

Lastimosamente el día no fue histórico y para variar se vio un estadio medio vació para lo que representa un equipo como ese, ademas de un equipo como Juventud Independiente realmente malo, con una delantera estelar conformada por dos extranjeros que la verdad no merecen ni ser los aguateros de un equipo profesional, si esos son los extranjeros que marcaban diferencia en ese equipo con justa razón deben de estar en segunda división, los que "dirigen" este fútbol deberían de darle oportunidad a los bichos que se revientan en los pueblos jugando en canchas realmente malas o a los que juegan en las playas, basta con ver a la selección nacional de fútbol playa que clasifico para el mundial anterior y sin mucha bulla y con humildad se fueron a reventar contra equipos que tienen mas nivel y organización, no como las niñas que juegan en la liga mayor de fútbol sumados a ese montón de "maletas" extranjeros que (como ya mencione en otro post) no creo que sepan ni amarrarse los tacos.

Ayer se vio la realidad del fútbol salvadoreño, intrascendente en ambos equipos, lo cual confirma mi teoría, da sueño ver un partido de fútbol nacional, un fútbol en el que se juega siempre para los laterales o para atrás, nada productivo.

Alianza F.C. se queda en primera división pero solo para esperar la serie en la que debe enfrentar al sub-campeon de la segunda división, personalmente creo que este equipo logrará salvar la categoría, y nos guste o no, es un equipo con una historia importante en el fútbol nacional, con varios seleccionados nacionales, solo queda esperar pero ojala jueguen la siguiente temporada en la segunda.

Si Alianza salva la categoría, habrá que empezar a pensar en quien será el de la próxima temporada, sin molestar a ninguno, o es Atlético Balboa o Nejapa, pues económicamente no les va muy bien.

Las estadísticas finales del torneo clausura salvadoreño aquí.

p.d.: tengo que reconocer que a diferencia del sitio web de L.A. Firpo F.C., los de Alianza son decentes, añado los links que encontré:

  1. lacasablanca.blogspot.com

  2. www.infiernoblanco.com

  3. www.alianzafutbolclub.com.sv

jueves, 30 de abril de 2009

El Fin De Los Tiempos....



Ultimamente se escucha mucho la fecha " 21 de Diciembre de 2012 ". Esta fecha esta marcada como el ultimo dia.
Realmente no se sabe que pasara, unos dicen que sera un rayo cosmico proveniente del centro de la galaxia; otros hablan de una catastrofe propiciada por nosotros mismos. En todo caso, la raza humana se extinguira ese dia, a excepcion de unos pocos.
Quienes han leido la biblia, saben de que Dios, es un Dios vengativo, celoso y despiadado a la hora de deshacerse de nosotros los humanos. No seria extraño que de un dia para otro, él decida otra vez destruir gran parte de la raza humana. No necesariamente debe ser el 21/12/2012, puede ser poco a poco, con una pandemia de gripe porcina, por ejemplo.
Lo que digo no me lo estoy inventando, esta escrito en la misma biblia lo que va a suceder. Sí, esa misma biblia que algunos leen fervientemente, y que otros tenemos tiradas debajo de la cama. Los versiculos que a continuacion les voy a dar a conocer explican como esta todo perfectamente planeado, para que vuelva a suceder lo mismo que cuando el arca de Noé o lo que paso en Sodoma y Gomorra.

(Lucas Cap. 17)
...
23 Y os dirán: "Vedlo aquí, vedlo allá." No vayáis, ni corráis detrás.
24 Porque, como relámpago fulgurante que brilla de un extremo a otro del cielo, así será el Hijo del hombre en su Día.


-"como relámpago fulgurante ... ", una clara alusion al rayo cosmico que mensionabamos anteriormente. luego dice:

...

26 «Como sucedió en los días de Noé, así será también en los días del Hijo del hombre.
27 Comían, bebían, tomaban mujer o marido, hasta el día en que entró Noé en el arca; vino el diluvio y los hizo perecer a todos.
28 Lo mismo, como sucedió en los días de Lot: comían, bebían, compraban, vendían, plantaban, construían;
29 pero el día que salió Lot de Sodoma, Dios hizo llover fuego y azufre del cielo y los hizo perecer a todos.
30 Lo mismo sucederá el Día en que el Hijo del hombre se manifieste.


-"...así será también en los días del Hijo del hombre..." obviamente esta en los planes de Dios destruirnos nuevamente. Y en realidad que la raza humana tiene un comportamiento bastante reprochable,por que tambien dice: "...bebían, tomaban mujer o marido...", como ahora, hay muchos hombres que toman 'mujer' o 'marido'. Es una referencia clara a tanto maricon que vemos hoy en dia, y demuestra plenamente la salazon que traen consigo...

...

34 Yo os lo digo: aquella noche estarán dos en un mismo lecho: uno será tomado y el otro dejado;
35 habrá dos mujeres moliendo juntas: una será tomada y la otra dejada.»


-"..dos en un mismo lecho..", "dos mujeres moliendo juntas" .... sin comentarios (solo me imagine a las 2 mujeres moliendo xD ).

Luego en el cap. 21 del mismo evangelio de Lucas dice:
...

11 Habrá grandes terremotos, peste y hambre en diversos lugares, habrá cosas espantosas, y grandes señales del cielo.

...


La metodo para el analisis de los versiculos, es algo perfectamente valido, y ampliamente difundido en todas las iglesias y religiones. La tecnica utilizada es la de la manipulacion de las palabras, y el objetivo principal se logra infundiendo el miedo que hace que las personas realmente crean en lo que se les esta diciendo y les entre el nerviosismo cuando recuerda el tema. Por lo tanto, se asume que las conclusiones aqui tomadas son las correctas, y deben ser aceptadas como dogmas de fé.

El fin viene,y sera pronto... mas pronto de lo que crees.-

\m/

viernes, 24 de abril de 2009

Java: Castor y XML

Ya es tiempo de abrir un poco de espacio a lo que tanto me gusta y en lo que me "gano la vida", esencialmente es programación en Websphere Message Broker y Webshpere MQ, pero tambien un poco de java (que es lo que de verdad me gusta). Hace ya varios meses mientras hacia mis últimos desarrollos para el equipo al que pertenecía me tope con la misión de hacer un XML data binding (a lo que en un principio me dijeron "parser") para Java, dicha misión no fue tan sencilla pues ya habían desarrollos enteros en los cuales se utilizaba jdom, herramienta que es bastante buena pero requiere cierto esfuerzo y paciencia para leer xmls bastante complejos, además de ser ad-hoc.

Luego de realizar un esfuerzo con xtream, componente que parece muy útil e interesante pero muy poco flexible pues los nombres y el orden de los tags (que realmente puede llegar a importar) era aleatorio, realmente no se si utilice mal el componente, ya tendré tiempo para leer mas y lo comento. El punto es que se evaluaron a mi gusto muy pocos java xml binding, pero el que tomo la delantera por flexibilidad y por la capacidad de encapsulamiento que proporciona es castor-xml (aunque tambien existe el nada despreciable betwixt)

Castor-xml se basa en dos frameworks, Unmarshaller y Marshaller (xml-java y java-xml, respectivamente), en dichos frameworks lo que se encapsula es todo lo referente a la manipulación de xml.

Un ejemplo sencillo, supongamos que tenemos una clase (en java por supuesto), y que esta clase describe a una persona y contiene nombre, apellido, edad, dui, etc........ nos debemos limitar a usar atributos "simples" (String, enteros, ...)

package com.home;
import java.io.Serializable;
@SuppressWarnings(value={"serial"})
public class Persona implements Serializable {
private String nombre;
private String apellido;
private String genero;
private int edad;
public Persona(){
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
}

La forma inmediata que castor proporciona para convertir el contenido del objeto se escribe de la siguiente forma, encapsulado en un método por su puesto:

public static String object2XML(Object object) throws MarshalException, ValidationException{
StringWriter writer = new StringWriter();
Marshaller.marshal(object, writer);
return writer.getBuffer().toString();
}

Y la forma de hacer Unmarshall es esta:

public static Object xml2Object(Reader xml, Class clazz) throws MarshalException, ValidationException{
return Unmarshaller.unmarshal(clazz, xml);
}

Utilizando el método object2XML

try{
Persona persona = new Persona();
persona.setApellido("Perez");
persona.setNombre("Juan");
persona.setEdad(33);
persona.setGenero("M");
System.out.println(XMLDataBinding.object2XML(persona));
}
catch (Exception e) {
log.error("Error!!!",e);
}
}

Nota: XMLDataBinding es la clase donde coloque los metodos que ya les mencione

Lo que tenemos como resultado es el siguiente xml:


Notar que los nombres de los campos corresponden a los nombres de los accesores de la clase persona y el tag root corresponde al nombre de la clase y ¿cuál es la razón por la que el campo edad resulta ser un atributo al convertirlo a xml?
Esta situación tiene su razón en la forma en que castor realiza el proceso de Introspección, cualquier variable miembro que sea de tipo primitivo por defecto será colocado como atributo, la forma de modificar esto es crear el archivo castor.properties en nuestro classpath y colocar la siguiente entrada:
org.exolab.castor.xml.introspector.primitive.nodetype=element
Con lo cual lograremos que todos los campos sean convertidos como elementos del xml, además por salud mental se debe de colocar la siguiente entrada a dicho archivo properties:
org.exolab.castor.xml.naming=mixed
El cual generará los tags del xml de forma más clara, de otra forma por defecto los nombres se separarán por un "-".

Convertir el xml que hemos generado a un objeto Persona sería solo cuestión de crear un StringReader con el xml y ejecutar el método xml2Object enviándole dicho reader y la clase sobre la que haremos el binding (Persona.class) y verán la magia.

En post posteriores intentaré explicar el proceso de Marshall y Unmarshall utilizando xml para mapear las clases y poder tomar completo control de la estructura de nuestros xmls ademas poder realizar la conversión de clases más complejas así como el uso de Handlers.

domingo, 12 de abril de 2009

Alianza F.C. hacia la segunda división?

Despues de pasadas 12 jornadas del "glorioso" futbol salvadoreño he notado que el equipo base de la selección nacional de futbol esta en peligo de jugar la proxima temporada en la segunda división aunque(gracias a los inutiles futbolista de L.A. Firpo) salieron del fondo de la tabla y estan en zona de repechaje, lo curioso es que este equipo es uno de esos que generan automaticamente un sentimiento en su contra, en otras palabras, anti-aliancismo, siendo los colaboradores de este blog parte de ese grupo (y el que no, me pela!!!) por lo cual muchos nos sentiriamos contentos de verlos jungando en la segunda división.

En momentos así creo que vale la pena cuestionar si es saludable que un equipo con tanta afición este en la situación que se encuentra, quiza con eso se pueda consumar el primer club de futbol en el salvador con gente que quiera invertir y hacer una institución grande y fuerte economicamente, personalmente creo que en este país necesitamos traer dirigentes del extranjero en lugar de tanto futbolista que como dijo Luis Omar Tapia: "apenas y saben amarrarse los tacos".


Hay algo que los dirigentes y las personas que rodean el ambiente futbolistico de este país pasan por alto, somos capaces de competir contra equipos mejor preparados y mucho mejor administrados, ¿Qué pasaria si tuvieramos un futbol solido en la dirigencia?, hemos asistido a dos mundiales (aunque yo ni habia nacido y solo vi videos en youtube) hemos tenido un futbolista como Mágico Gonzalez, pero aun así seguimos sin tener verdaderos clubes, nunca hemos sido una potencia en CONCACAF, pero podemos darnos el lujo de decir que hemos estado en dos mundiales.

La desgracia del alianza deberia poner a pensar a los otros equipos, deben organizarse y formarse como verdaderos clubes, dejar de pensar solo en el mascón del fin de semana, tener canteras por convicción y no por obligación, ganarse a la afición, buscar tener más seguidores, promover la asistencia a los estadios ofreciendo algo mas que el pobre nivel futbolistico de siempre...pues la verdad, ver un partido del futbol nacional da sueño!!!!


Imágen de: elgrafico.com

domingo, 5 de abril de 2009

Crísis

Sin querer entrar en aspectos políticos e intentando entender lo que creo pasará, más bien ya inicio en el país, encontré entre uno de mis libros perdidos en el tiempo lo siguiente de Albert Einstein me parece muy rescatable y mejor no pudo describir crísis y cambio.

Crísis: No pretendamos que las cosas cambien si siempre hacemos lo mismo. La crísis es la mejor bendición que puede sucederle a personas y países porque la crísis trae progresos. La creatividad nace de la angustia como el día nace de la noche oscura. Es en la crísis que nace la inventiva, los descubrimientos y las grandes estrategias.

Quien supera la crísis se supera a sí mismo sin quedar superado. Quien atribuye a la crísis sus fracasos y penurias violenta su propio talento y respeta más a los problemas que a las soluciones. La verdadera crísis es la crisis de la incompetencia. El inconveniente de las personas y los países es la pereza para encontrar las salidas y soluciones.

Sin crísis no hay desafíos, sin desafíos la vida es una rutina, una lenta agonía. Sin crísis no hay méritos. Es en la crísis donde aflora lo mejor de cada uno, porque sin crísis todo viento es caricia. Hablar de crísis es promoverla, y callar en la crísis es exaltar el conformismo. En vez de esto trabajemos duro. Acabemos de una vez con la única crísis amenazadora que es la tragedia de no querer luchar por superarla.


Albert Einstein

lunes, 16 de marzo de 2009

A EL SALVADOR NO LE ENTRO EL NERVIO...!!!


El pasado Domingo 15 de Marzo de 2009, el noble, humilde y hambriento pueblo salvadoreño, vencio el miedo de la campaña de terror infundado y la falto de etica que promovio el partido ARENA, y acudio masivamente a las urnas, a emitir su derecho constitucional de elegir a su presidente.

El pueblo, la noble aficion, la majada, la perrada, el maron, el gentillal de gente... tomo la decision de quitarle la presidencia que durante 20 largos años mantuvo el antes mensionado partido, y decidio darle alternancia al organo ejecutivo, y confirmo al sr. Mauricio Funes, como el presidente de TODOS los salvadoreños.

Los resultados al final, han sido bastante parejos (menos de 100 mil votos), pero en un pais que se dice DEMOCRATICO, "la mayoria manda"... asi que, aunq hubiese sido por un solo voto de diferencia, pero la mayoria de los ciudadanos eligio y acepto apostar por el cambio que el sr. Funes y su partido, el FMLN, han propuesto para darle esperanza a los mas desprotegidos de este pais.

Con el deseo de felicitar a todas aquellas personas que independientemente del partido por el que votaron, lo hicieron por conviccion y/o por que creyeron en las propuestas de ese partido. Pero a las personas que votaron por ARENA, y lo hicieron por que la campaña de terror los convencio, y por que practicamente "LES ENTRO EL NERVIO" a la hora de votar, espero que puedan ahora sentarse bien, o si no por lo menos de ladito, para que no les duela tanto (solo en el orto) ver a Mauricio Funes llegar a la casa presidencial.

FELICIDADES SALVADOREÑOS... Y OJALA QUE NUNCA MAS LES ENTRE EL NERVIO...!!!!!!!!!!

miércoles, 11 de marzo de 2009

Inexplicable

Trabajo en el área de Sistemas Informáticos de una "prestigiosa" empresa de mi país, estos últimos meses me he convencido que algunas personas que estudian la carrera de Ciencias de la computación no son aptas ni para probar software (de hecho, lo sospechaba desde un principio).

Una tarde escuchaba la narración de alguien con quien comparto "oficina", decía que un personero de "control de calidad" le quería registrar un error en OnTime (software para control de defectos de los aplicativos), contaba que el error consistía en que firefox ponia los números (parecidos a teléfonos) con características raras, que era una falla porque eso no debe ser, mi compañero cometió un error de inocencia, pues supongo esta ya programado par no dejar que le pongan "fallas" que no tienen sentido ni razón con respecto a los requerimientos (al menos lo que el conoce), debió dejar que ese error quedara en su registro (o en el de "calidad")

La "falla" consistía en lo siguiente:



Este cambio es realizado por un addon que se instala en firefox al momento de instalar skype, el de "calidad" siempre que encuentra un error parece tener un momento de clímax......lo curioso del caso es que esta persona es un graduado de la Universidad Centroamericana "José Simeón Cañas", empiezo a dudar sentirme muy orgulloso el graduarme de la misma universidad pues este espécimen no está en extinción, al parecer se multiplican muy rápidamente.

viernes, 13 de febrero de 2009

El Silencio lo dice todo y aveces es mejor quedarse callado!!!! XD








Nota: Estos tipos de ARENA se creen dueños de cualquier cosa en la que sale "su candidato", entiendo que los derechos de los videos censurados es propiedad de las televisoras donde fueron grabados........malditos, anti-democraticos.........no entienden el derecho a la información


Los que deseen ver (por si algún día leen esto ^^) el video de Avila en Unavisión (perdón Univision, es que lo pendejo se pega) esta en los siguientes links:


martes, 27 de enero de 2009

Sr Hankey, en la selecta....!!!!!


El equipo de investigacion de SEVERLAGOLB®, tuvo la ardua tarea de recopilar evidencia, de que la Seleccion Salvadoreña de Futbol cuenta entre sus filas con uno de los personajes mas afamados de la serie SOUTH PARK, se trataria nada mas y nada menos que de el Sr Popo Hankey.
El dato se habria inflintrado a la prensa, al ver que varios jugadores de la "selecta" practicaban un futbol que es caracteristico del Sr Hankey. Eso daba la pauta para comenzar a sospechar de un posible apoyo tecnico y tactico hacia los jugadores, por parte del controversial y polemico dibujo.
Pero hemos descubierto la verdad de la situacion, es tan impactante pero a la vez era tan evidente la tranformacion, que nos sorprende que Noticias 4 Vision no lo haya incluido en sus famosos reportajes 'Voces de ayuda'.
La evidencia fundamental que ha recopilado en grupo especializado de investigacion, en los ultimos partidos, ha llevado a concluir que los seleccionados estan sufriendo una metamorfosis. No solo futbolistica, si no tambien fisicamente. Cada dia el estilo de juego se parece mas al del sr Hankey; y ademas, los rostros, los cuerpos, y la condicion fisica de cada uno de los seleccionados, se esta transformando en seres feos, grotezcos, asquerosos, cafes, hediondos.
Como repito, era ya bastante evidente y en cierta manera sabiamos que son una M!3rd@. Era un secreto a voces....
Pero ahora, el numeroso equipo multidisciplinario de 2 personas que postean en SEVERLAGOLB®, concluye que la informacion es veridica y ratifica que los jugadores de la Seleccion Salvadoreña de Futbol, son todos unos C3R0T3S...!!!
Y a las pruebas, me remito (vero foto: Cheyo Quintanilla en una fiesta navideña)...