miércoles, diciembre 31, 2008

Otro blog que os recomiendo (si os gusta el heavy)

Resulta que mi vecino de mesa en el trabajo es también un bloguero, y yo sin saberlo, y además, aunque no lo aparente, un adicto del heavy metal (eso sí que lo sabía). Si os gusta este tipo de música pasaros por este blog: f7f.blogspot.com (nota: está en inglés).

martes, diciembre 30, 2008

Otra aplicación para iPhone: iMarcador

Pensé que ya os había hablado de ella pero he comprobado que no es así. Hace tiempo os hablé de la web diseñada para iPhone para consultar cuando vienen los próximos autobuses a una parada; pues bien, también por esa época hice otra web. Consultándola desde el iPhone veremos los marcadores en tiempo real de la Primera y Segunda división del fútbol español (bueno, de la Liga BBVA y de la liga Adelante, ¡vaya chorrada de nombres!).

lunes, diciembre 29, 2008

Peces, peceras y acuarios

The sweet fish es un nuevo blog en internet. Según promete nos explicará situaciones y anécdotas divertidas a la par que didácticas. Además se opina y se denuncian algunas injusticias (como la calidad de la red de cercanías de Renfe...). Os invito desde aquí a todos mis lectores a visitarlo.

domingo, diciembre 28, 2008

25 impresionantes juegos en Javascript

A veces me asombro de lo que son capaces de hacer algunas personas con algo que a priori parece tan limitado como es Javascript. En este enlace podeis ver 25 juegos programados con Javascript (algunos de ellos usando librerías como MooTools... y otros no).

¡Zaragoza gana la Expo 2012 de Gnomos de Jardín!

(Aviso: Está noticia fue una broma por el Día de los Inocentes.)

Hace apenas 20 minutos el alcalde de Zaragoza, Juan Alberto Belloch, ha comunicado a través de Aragón Televisión la importante noticia. Zaragoza albergará en 2012 la feria más importante de Gnomos de Jardín.
En unos días comenzarán a recoger voluntarios para una Exposición que abarcará más de 120 hectáreas, como cinco veces la Expo 2008 que ya se celebró en esta ciudad. Para ello será necesario destruir el actual Parque del Agua, donde hasta ahora se alojaba una noria que no sube el agua a ninguna parte, un campo de golf donde las pelotas son naranjas y unos rápidos donde los monitores se empeñan en volcar las balsas. Todo ellos se convertirá en un jardín gigante lleno de duendecillos de jardín que vendrán a visitar más de 3.000 millones de personas durante enero de 2012.
Las obras de destrucción del Parque del Agua se realizarán rápidamente después de la experiencia en contruir-destruir-construir adquirida trás años de entrenamiento (Plaza de la Ciudadanía...).
Se espera llegar a tiempo para la fecha, en caso contrario se comenzará a trabajar en turnos para aprovechar las 24 horas del día ya que los posibles accidentes laborales (como ocurrió en la anterior Expo) son admisible con tal de llegar a tiempo a tan importante cita.

sábado, diciembre 27, 2008

FireUnit: JavaScript Unit Testing Extension

FireUnit es una extensión de Firefox (mejor dicho, de Firebug) que nos ayuda a hacer test unitaros de javascript. Una vez instalada nos aparece una nueva pestaña en nuestro Firebug donde veremos los resultados de los test que hemos programado en el javascript de la web que estamos visualizando. 
Podemos hacer cosas como estas:


// Si el primer parámetro vale true el test es correcto, si es false es incorrecto
var nombre = null;
if(nombre){
fireunit.ok(true, "Nombre válido");
}else{
fireunit.ok(false, "El nombre tiene un valor nulo o no válido");
}

// Compara dos Strings, si son iguales el test es correcto
var password = "123";
var valPassword = "123";
fireunit.compare(
password,
valPassword,
"Password válido"
);

// Valida un String contra una expresión regular
fireunit.reCompare(
/The .* fox jumped the log./,
"The lazy brown fox jumped the log.",
"Compare a string using a RegExp."
);

// Muestra un resumen con los test correctos y fallados
fireunit.testDone();

Además también permite simular eventos javascript:

var input = document.getElementsByTagName("input")[0];
fireunit.mouseDown(input);
fireunit.click(input);
fireunit.focus(input);
fireunit.key(input, "a");

Dejándolo niquelado

El pasado martes fui a la C/Unceta 70 (Zaragoza) para enseñar a mi novia lo que en breves será la tienda de videojuegos (y más) del barrio de las Delicias: Nexus. Allí estaban los emprendedores que se han lanzado a esta aventura manos a la obra dejandolo todo "niquelado" (dos de ellos me recordaron a Manolo y Benito).
Y nada, que parece que esto está a punto... en unos días espero poder anunciaros la inaguración.

miércoles, diciembre 24, 2008

Windows Enabler

Una aplicación muy simple y a la vez muy útil que usaba hace tiempo y me gustaría compartir con vosotros es Windows Enabler. Permite poner "enabled" los botones de una aplicación de Windows que están "disabled". ¿Y para que puede ser interesante? pues por ejemplo para poder desactivar ese antivirus que ralentiza tu PC y que por culpa del de sistemas no tenemos privilegios para quitar.
Podeis descargar la aplicación aquí.

Úsalo bajo tu responsabilidad.

Campeonato de España de Mus 2009


Si os gusta el mus y quereis participar en el torneo más importante a nivel nacional todavía podeis hacerlo con un descuento del 50%; esta promoción dura hasta el 11 de Enero así que si estais interesados daros prisa. En la web teneis toda la infomación, incluidos los 80.000€ en premios.

By the way (que dirian los ingleses), la pareja que me eliminó en el campeonato de Kukuxumuxu ha ganado en Aragón con lo que se van a jugar la final a Pamplona. Ya comenté que eran buenos, muy buenos, de esos que no te dejan jugar y ellos no paran de sacar piedras. Espero que ganen ellos y así poder decir que me eliminaron los campeones de España.

martes, diciembre 23, 2008

Próximo cambio a FeedBurner

Bueno, acabo de hacer una cuenta en feedburner y pronto el RSS de este blog pasará por allí. Así podré saber si alguno de vosotros me lee desde un lector de rss en lugar de vía web. Supongo que esto puede afectar a la URL de la sindicación, la nueva va a ser:

http://feeds.feedburner.com/vsbabylon

He visto que Blogger tiene una opción para añadir esto, así que puede ser que el cambio sea transparente... mañana con tiempo lo sabré.

Editado 29/12/2008:
Como he podido comprobar estos de Google hacen bien las cosas; el paso a Feedburner es transparente y el RSS (Atom) de Blogger se redirecciona el solito a través de Feedburner por lo que no hace falta cambiar la URL de las sindicaciones.

Una de botellas

Cuando vais a un restaurante y pedís una botella de vino lo más normal es que os saquen una botella de 0,75 litros, pero estas no son las únicas que existen y los franceses les han puesto nombre. Aquí teneis una tabla explicando la capacidad, el número de botellas "normales" a las que equivale y el nombre o nombres que tiene:
  • 1.5 litros = 2 botellas -> Magnum
  • 3 litros = 4 botellas -> Doble magnum o Jéroboam en Borgoña
  • 4.5 litros = 6 botellas -> Jéroboam en Burdeos o Rehoboam en Borgoña
  • 6 litros = 8 botellas -> Imperial en Burdeos, o Mathusalem en Borgoña
  • 9 litros = 12 botellas -> Salmanazar
  • 12 litros = 16 botellas -> Baltasar
  • 15 litros = 20 botellas -> Nabucodonosor
  • 20 litros = 28 botellas -> Solomon
  • 27 litros = 36 botellas -> Primat

lunes, diciembre 22, 2008

Invocar desde Hibernate procedimientos almacenados en Oracle

En la aplicación que estoy desarrollando la persistencia se realiza con Hibernate. En general nosotros nos lo guisamos todo pero para algunas funcionalidades complejas y que requieren "comunicarse" con otra aplicación ya desarrollada me dicen el nombre del procedimiento almacenado (stored procedure) que ya existe y los parámetros que le debo pasar (en la mayoría de los casos Arrays) de forma que yo no tengo que implementar esa lógica. Cada vez que tengo alguna duda con Hibernate suelo consultar el libro Java Persistence by Hibernate, que me ha resuelto más de una y dos dudas pero en este caso no me sirvió de nada. No me decía como llamar a un PL/SQL mediante la "current session" de Hibernate, para los que tengais el mismo caso os muestro como lo he resuelto yo (quizá haya mejores formas... pero esta garantizo que funciona).

Algunos de las clases que se van a usar:

import oracle.jdbc.OracleConnection;
import oracle.jdbc.OracleTypes;
import oracle.jdbc.OracleCallableStatement;
import oracle.sql.ARRAY;
import oracle.sql.ArrayDescriptor;
Y a continuación un ejemplo de como invocariamos el procedimiento "p_calcular" que está dentro del package "pack". Este Stored Procedure tiene cuatro parámetros de entrada y devuelve un Number:

OracleCallableStatement callable = null;
try {
// conseguimos la conexion con la que llamaremos al procedimiento
OracleConnection conn = (OracleConnection) getSession().connection().getMetaData().getConnection();
// establecemos el paquete al que vamos a llamar
callable = (OracleCallableStatement) conn.prepareCall("{call pack.p_calcular (?, ?, ?, ?)}");

// declaramos el parámetro que nos devolverá el procedimiento
callable.registerOutParameter(1, OracleTypes.ARRAY, "T_REF"); // NUMERIC

// en esta variable enviaremos los parámetros de entrada
ARRAY newArray;

// declaramos los tipos de los parámetros de entrada, estos tipos tendrán que estar declarados en el Oracle
ArrayDescriptor tRef = ArrayDescriptor.createDescriptor("T_REF", conn);
ArrayDescriptor tMatricul = ArrayDescriptor.createDescriptor("T_MATRICUL", conn);

// rellenamos los parámetros de entrada con los valores que queremos pasar
Long[] param1 = new Long[] { unitId };
newArray = new ARRAY(tRef, conn, param1);
callable.setArray(1, newArray);

String[] param2 = new String[] { memberId };
newArray = new ARRAY(tMatricul, conn, param2);
callable.setArray(2, newArray);

Long[] param3 = new Long[] { Long.valueOf(userId) };
newArray = new ARRAY(tRef, conn, param3);
callable.setArray(3, newArray);

Integer[] param4 = new Integer[] { planning.getPriority() };
newArray = new ARRAY(tRef, conn, param4);
callable.setArray(4, newArray);

// invocamos al procedimiento
callable.execute();

// obtenemos el array con los resultados devueltos
ARRAY array = callable.getARRAY(1);
Integer newPlanningId = 0;
int[] result = array.getIntArray();

if (result.length > 0) {
// en este ejemplo el procedimiento sólo devuelve un valor entero
newPlanningId = result[0];
}
return newPlanningId;
} catch (SQLException sqle) {
logger.error(sqle.toString());
throw new Exception(sqle);
} finally {
try {
callable.close();
} catch (Exception e) {
logger.error(e.getMessage());
}
}
Si conoceis otra forma más sencilla de hacer esto, por favor, ponérmelo en los comentarios.

Actualizado 18/03/2009: Aquí encontrareis otro forma de hacerlo. Es más automatizada pero con algunas limitaciones. Echadle un ojo antes de decidiros por una u otra forma.

jueves, diciembre 18, 2008

Pruebas de rendimiento con JMeter

JMeter es un programa java que se puede utilizar para testear aplicaciones web. Simula mediante hilos a usuarios que se conectan contra un servidor, de modo que una vez configurado puedes comprobar que tal funciona tu servidor y aplicación cuando haya, por ejemplo, 3000 usuarios conectados.
He utilizado este programa para simular a 2000 usuarios concurrentes conectados contra el servlet que os comente en un post hace unas semanas desplegado sobre un Tomcat 6 (usando NIO). No se si esta información es útil, la prueba no la he hecho sobre un server sino sobre un PC de sobremesa con 2Gb de RAM, pero han sido más o menos 150 mb lo que ha subido la memoria del PC como se puede ver en las siguientes capturas. La CPU se ha ido más allá del 50% pero claro... estaba lanzando los hilos desde el mismo PC donde está el Tomcat... cuando tenga tiempo haré pruebas más serias, esto sólo es un vistazo rápido y pruebas para aprender a manejar el JMeter.


miércoles, diciembre 17, 2008

Nexus Comité

Aviso, este comentario es completamente subjetivo y publicitario:

No se cuantos de los que me leeis teneis la PS3, la Xbox o la Wii... y tampoco se cuantos de mis lectores vivís en Zaragoza, pero si cumplís las dos condiciones teneis que conocer esta web: www.nexuscomite.com. La web no está terminada pero pronto lo estará. Y digo que la teneis que conocer porque esta web corresponde a una nueva tienda que pronto se va a inagurar en medio del barrio de las Delicias en Zaragoza. En plena calle Unceta una nueva tienda se inagurará este fin de semana. No es una simple tienda de videojuegos, es mucho más. En cuanto abran os comentaré aquí todo el valor añadido que van a ofrecer a nuestra ciudad.

Por descontado que desde aquí os la recomiendo encarecidamente:
  • por sus precios
  • por el buen servicio y conocimientos de los dependientes
  • por el valor añadido
Pasaros por la C/Unceta 70 para comprar ese videojuego que quereis regalar estas navidades a vuestr@ novi@ / hij@ / prim@ / herman@ / familiar...

Nexus Comite, algo más que una tienda de videojuegos en Zaragoza.

martes, diciembre 16, 2008

Best Practices for Speeding Up Your Web Site

Lo que libremente viene a significar "Los mejores consejos para aumentar la velocidad de tu web". Vía un ex-compañero de trabajo (gracias Alvaro) me ha llegado el siguiente link de Yahoo! donde en una larga parrafada dan muchos consejos. Algunos todos los conocemos pero otros no son tan obvios o yo no los conocía.

lunes, diciembre 15, 2008

DVD, de Ciro Altabás

Hoy os traigo otro corto más del mismo director que el anterior, Ciro Altabás, en este caso es "DVD" un cortometraje que fue muy premiado. También he encontrado una entrevista al autor por si después de verlo quereís saber más sobre el corto o sobre el mismo.
Por último y antes de dejaros con el corto, una pregunta: la carátula tiene un aire a un comic que yo leía de pequeño y que iba en el suplemento de El Pais (porque entonces no llevaba la tilde) de los domingos. Era de un bicho grandote y marrón con cuernos amiguete de un chaval; no se si se llamaba Muz o como pero siempre he querido saber el título ¿alguien lo sabe? (¡Ya lo he descubierto!)
Y ahora... para todos los frikis, el corto:

viernes, diciembre 12, 2008

Manual Práctico del Amigo Imaginario

Hoy os traigo, vía un compañero de trabajo, un corto realmente bueno. No es una grabación de un par de amigos por pasar el rato sino algo profesional. Ya me contareis si os ha gustado, a mi mucho.

lunes, diciembre 08, 2008

Multicore: Profesionales e Industria

"Multicore: Profesionales e Industria" es el título de un artículo de dos páginas en la revista Sólo Programadores (Nº 164) escrito por José Antonio Álvarez Bermejo. Este hombre es profesor en la Universidad de Almería, pertenece al departamento de Arquitectura de Computadores.
Yo nunca había comprado esta revista, me parece cara (6€, cuando mucho de su contenido, o parecido, se puede adquirir gratis por internet), pero como estaba en la estación de autobuses de Granada a las 6:00 de la mañana y tenía que esperar a que mi novia viniera a buscarme (ella estaba en un congreso de enfermería donde ganó el premio a la mejor comunicación oral!) pués fuí al quiosco de la estación y me compré la revista y me puse a leer.
En aquel entonces, hace dos meses, sólo leí unas cuantas páginas que me resultaban, a priori, interesantes. Una sobre XPath y otra sobre XSLT. Hace un par de días volví a coger la revista que tenía tirada por encima de la cama y, comenzando a ojearla desde el final hasta el principio, me topé con un articulo que se titulaba igual que este post. Y me lo leí.
Al contrario de lo que parece no es un texto sobre la arquitectura de los nuevos microprocesadores; es un texto sobre como esta nueva arquitectura de varios nucleos puede afectar a la industria del desarrollo de software.
La mitad del artículo habla de como en los últimos años la arquitectura de los micros no han cambiado, únicamente subían de Mhz y listo. Esto hizo que los conocimientos sobre arquitectura fueran cada vez menos importantes hasta el punto de no ser considerados por algunos como necesarios ¿para que estudiar arquitectura de computadores si es algo que siempre es igual?. Pues no, ahora resulta que va y cambia, aunque algunos programadores no se han dado cuenta aún.
Una vez nos presenta el pasado y el presente del hardware nos habla del presente del desarrolo de software: el Ingeniero y el Experto Express. El primero es aquel que tiene una base sólida, adquirida principalmente en la universidad, y quizá no muy preparado en lo que la industria demanda. El segundo es todo lo contrario, alguien especializado y preparado en para solventar lo que actualmente la industria demanda. Un ejemplo sería un Ingeniero Infomático titulado y el segundo alguien sin carrera pero con un curso de 1 año en JEE (por ejemplo). Está claro quien de los dos empezará a sacar trabajo en un puesto estandar de los demandados en Infojobs: "se busca programador junior J2ee, se valora experiencia en Struts, no se necesitan estudios mínimos. 12.000 - 16.000 € brutos/año".
Y ahora viene lo que me ha resultado interesante del artículo, porque según augura este profesor: "Las arquitecturas multicore habrán supuesto una formalización en la separación entre ingenieros y otros profesionales. Es decir, habrá desarrolladores que implementan programas en paralelo sin saber realmente qué es lo que están haciendo porque otros desarrolladores más avanzados han creado marcos de portación o librerías que les pemitan abstraer los detalles de la computadora en igual forma que SQL abstrae los detalles del almacenamiento físico de los datos. Incluso entre ingenieros habrá una clara división entre aquellos con un fuerte perfil orientado a la arquitectura del procesador y el resto".
Y esto me ha hecho pensar cuantos programadores, ya sean Ingenieros o no, son conscientes de los efectos que tienen sus líneas de código sobre el hardware sobre el que se ejecutan. Cuantos de ellos saben realmente lo que supone hacer un "new". Estoy seguro de que los Ingenieros Informáticos entienden más que otros profesionales lo que están haciendo. De todo hay, por supuesto, pero creo que asignaturas como Arquitectura de computadores o Concurrencia y tiempo real sólo se imparten en las Ingenierías Informáticas.
Por último decir que este hombre como Ing. en Informática y trabajando para la Universidad puede estar "barriendo para su casa"... pero vamos, la idea base sobre la que reflexionar es completamente objetiva.

jueves, diciembre 04, 2008

El Firebug del iExplorer: Companion.JS

Debo empezar diciendo que no lo he probado; que no se lo estable que será ni lo potente. Dicho esto os presento a: Companion.JS. Según lo venden es un Firebug para iExplorer. No se hasta que punto será cierto porque dudo mucho que tenga la potencia del plug-in the Firefox pero está claro que una vez te acostumbras a Firebug cuando te toca probar la aplicación en iExplorer y te dan fallos javascript que en el navegador de Mozilla no dan te vuelves loco para solucionarlos, sólo entonces te das cuenta de lo fácil que es todo con Firefox+Firebug y de lo mucho que los echas de menos. Si esta herramienta es capaz de ayudarnos, pues bienvenida sea.

A continuación un screenshot en el que se aprecia un cierto aire al firebug:


Más allá del AJAX: Comet

Introducción:

Como todos los que esteis leyendo esto sabreis (porque los que no lo sepan el títulos les habrá disuadido de leer) HTTP es un protocolo sin estado donde un cliente (un navegador o browser) realiza peticiones contra un servidor y este le "contesta".
Gracias al objeto javascript XMLHttpRequest que implementan los navegadores más comunes (Firefox, iExplorer, Safari, Opera...) el navegador puede realizar peticiones de forma asincrona al servidor sin necesidad de hacer el clásico submit. Como en un inicio este tipo de peticiones eran contestada por el servidor mediante XML a esta técnica se le conoce como AJAX (hoy en día cada vez es más común usar JSON en lugar de XML).
Quizá para muchos es muy engorroso programar webs haciendo un uso exagerado de javascript pero el resultado es una web mucho más agradable al usuario. Para facilitarnos la vida existen cada vez más toolkits con los que hacer esto:
Bien, ahora ya podemos hacer webs como Gmail; nos ponemos manos a la obra y vemos que Gmail incorpora un pequeño chat mediante el cual podemos hablar con nuestros contactos que tengan abierto Gmail en ese momento o Gtalk ¿como hacemos eso nosotros con nuestro AJAX? ¿como podemos saber que alguien nos ha hablado? Pues como ya hemos dicho antes el HTTP (que no debemos olvidar que marca unas reglas básicas que no van a cambiar) consiste en que un cliente pide algo a un servidor y este le contesta. Pero en este caso lo que queremos es que sea el sevidor el que nos envie lo que otro usuario ha escrito en el chat... Tenemos un problema. Para solucionarlo con las herramientas que tenemos hasta este punto sólo hay una solución: la función javascript setTimeout(). Cada cierto tiempo periódico "preguntaremos" al servidor si tiene algo que decirnos. Creo que no tengo que decir que esto es un desperdicio de recursos y que da la sensación de ser una "ñapa". Pues puede ser, pero es la única forma... hasta la llegada de Comet.
En este punto debo hacer un inciso; el nombre de Comet fué acuñado por el creador de Dojo, Alex Russell, pero simultaneamente otros desarrolladores bautizaron la misma técnica con otros nombre: Server Push y Reverse AJAX. Estos tres nombres se refieren a la misma técnica, es decir, son sinónimos. Espero que el día de mañana una denominación triunfe sobre las otras ya que sino es un lio hablar con otro programador teniendo que dar los tres nombres por si este sólo se refiere con uno de ellos. Sigamos...
Comet al igual que AJAX no es un invento nuevo, como el bicarbonato :), sino una técnica de "engañar" al HTTP. Básicamente consiste en que el cliente se encargue de que siempre haya una conexión con el servidor y el servidor se encarga de "coger" la conexión y no soltarla hasta que tiene algo que decir al cliente ¿sencillo no?. Aquí el problema es más de rendimiento que de implementar. En el modelo actual de servidores (Tomcat, Jetty...) por cada petición que hace el browser se ejecuta un Thread en el servidor para responderla. Esto para una aplicación web al que se van a conectar 10 usuarios no supone un problema pero para una aplicación de 10.000 usuarios concurrentes pues nos tiraría el servidor.
Por suerte o por desgracia no somos los primeros en "inventarnos" esta técnica y tanto Tomcat como Jetty han implementado formas de solventar este problema mientras esperamos a la nueva especificación de los Servlets: la 3.0 (JSR-315).

Manos a la obra:

A continuación os muestro código de como implementar la técnica Comet en un servidor Tomcat. No es una aplicación completa, sólo pequeños pedazos con lo imprescindible.

Lo primero de todo es hacer que Tomcat use un Thread para cada Servlet en lugar de un Thead para cada petición. Tendremos que sustituir en el server.xml esta linea:

<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8084" protocol="HTTP/1.1" redirectPort="8443"/>

por esta otra:

<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8084" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>

Con este cambio hacemos que cuando al Tomcat le llegue una petición AJAX invoque el método:


public void event(CometEvent event) throws IOException, ServletException{}

en lugar del clásico doGet o doPost.

Como estareis pensando el siguiente cambio es en el Servlet. Ya no necesitamos los doGet y doPost y debemos hacer que el Servlet implemente la interfaz CometProcessor:


public class Cometa extends HttpServlet implements CometProcessor {}

Esto va cogiendo forma, tenemos la estructura sólo nos falta rellenar la parte javascript y el método Java. Empecemos por el javascript:


<script>
function peticionAjax(){
$.ajax({
url: 'http://localhost:8084/CometAbel/Cometa',
type: 'post',
data: { message: "enviando cosas al servidor..." },
beforeSend: function(oXhr){ oXhr.setRequestHeader('Connection', 'Keep-Alive'); },
success: function(data){
alert(data);
setTimeout('peticionAjax()', 1000);
}
});
}
</script>

Ese simple código javascript, que hace uso de jQuery, hace una llamada al servidor y cuando este le conteste mostrará un alert() con la respuesta. Acto seguido vuelve a abrir una conexión con el servidor para esperar la siguiente respuesta. Para enrevesar la cosa el cliente envia datos en el campo "data", en una aplicación normal podría mandar un código, identificardor...

Vale pues, ya tenemos casi todo pero eso era la fácil, vamos a la miga del asunto: el Servlet.

Para nuestro ejemplo usaremos dos variables dentro del Servlet. Una primera que almacenará todas las peticiones que le van llegando y otra que será un simple hilo que simulara estar haciendo el trabajo (las consultas en función de las cuales contestaremos a los navegadores):


// Array con las peticiones
protected ArrayList<HttpServletResponse> connections = new ArrayList<HttpServletResponse>();
// Hilo que simula la tarea
protected MessageSender messageSender = null;

Vamos a implementar dos métodos del Servlet:

public void init() throws ServletException {
messageSender = new MessageSender();
Thread messageSenderThread = new Thread(messageSender, "MessageSender[" + getServletContext().getContextPath() + "]");
messageSenderThread.setDaemon(true);
messageSenderThread.start();
}

public void destroy() {
connections.clear();
messageSender.stop();
messageSender = null;
}

Y ahora lo importante, el método event:

public void event(CometEvent event) throws IOException, ServletException {
// conseguimos la request y la response
HttpServletRequest request = event.getHttpServletRequest();
HttpServletResponse response = event.getHttpServletResponse();

if (event.getEventType() == CometEvent.EventType.BEGIN) {
// si nos llega una nueva petición la "pillamos"
synchronized(connections) {
connections.add(response);
}
} else if (event.getEventType() == CometEvent.EventType.ERROR) {
// si ocurre un error desde el cliente "soltamos" la petición
synchronized(connections) {
connections.remove(response);
}
event.close();
} else if (event.getEventType() == CometEvent.EventType.END) {
// si la "conversación" ha terminado "soltamos" la petición
synchronized(connections) {
connections.remove(response);
}
PrintWriter writer = response.getWriter();
writer.println("['error']");
event.close();
} else if (event.getEventType() == CometEvent.EventType.READ) {
// si el cliente nos "envía" datos, los procesamos
InputStream is = request.getInputStream();
byte[] buf = new byte[512];
do {
int n = is.read(buf); //can throw an IOException
if (n > 0) {
System.out.println(new String(buf, 0, n));
} else if (n < 0) {
System.out.println("Este error no debería ocurrir.");
return;
}
} while (is.available() > > 0);
}
}

Bueno, pues ya está casi todo hecho. En estos momentos tenemos en el servidor un Array que almacena sin desbordarnos la memoria las conexiones. Cuando ocurra "algo": un evento, una consulta que realizamos a la Base de Datos cada cierto tiempo, etc... por lo que tengamos que avisar a los navegadores sólo tenemos que recorrer ese Array y enviarles la información. Un ejemplo un tanto inútil sería una clase que implemente Runnable con el siguiente código en el método run:


public void run() {
while (true) {
try {
Thread.sleep(9000);
} catch (InterruptedException ex) {
System.out.println("InterruptedException");
}
int algoImportanteHaOcurrido = 0;
// en lugar de ese 1 iría la llamada a la lógica de negocio
// que devolverá un código
algoImportanteHaOcurrido = 1;

if(algoImportanteHaOcurrido > 0){
synchronized (connections) {
for (HttpServletResponse connection : connections) {
try {
PrintWriter writer = connection.getWriter();
writer.println("Informo a los navegadores con este texto" + algoImportanteHaOcurrido;
writer.flush();
writer.close();
} catch (IOException e) {
System.out.println("IOException");
}
}
}
}
}
}

Y eso es todo. Con esto podreis ver más o menos en que consiste esa palabra rara que oireis cada vez más: Comet.

Apuntes finales:
  • No os olvideis los synchronized al acceder a los objetos compartidos, en este caso el Array de conexiones..
  • Si quereis saber más sobre NIO aquí teneis un tutorial en inglés.
  • Aquí encontrareis un ejemplo comet de IBM.
  • Y aquí la especificación de Tomcat para NIO.

jueves, noviembre 27, 2008

Porqué no ir a la Quirón cuando te duele una muela

1- Porque tendrás que hacer un total de 5 visitas para que te hagan una endodoncia y su posterior empaste.

2- Porque invertirás más o menos 15 horas de tu vida entre viajes, esperas, etc...

3- Porque aunque tengas seguro (Sanitas, etc...) te costará 176€ (pregunta antes a tu dentista de toda la vida cuanto te cobraría, seguro que igual o menos).

4- Porque cuando entres y te tumbes te pondrán la anestesia y se irán a tratar a otro paciente. Cuando vuelva el dentista y te esté taladrando la muela ya se te habrá pasado el efecto de la anestesía y verás las estrellas; entonces te dirá: "se te habrá pasado la anestesia pero agunta un poco que ya queda poco".

5- Porque cuando preguntes que te ha estado haciendo los 30 minutos que te ha tenido con la mandíbula dislocada te contestará con evasivas y no te enterarás de nada.

6- Porque entre cada cita y cita pasarán como mínimo 15 días por lo que desde que vayas porque te duele la muela hasta que acaben de arreglártela habrá pasado mes y medio.

7- Porque querrán experimentar contigo los nuevos aparatos que han comprado y que no tiene nadie más en España, y si les dices que no, te miran como si estuvieras rechazando la oferta de tu vida.

8- Porque si tienes dolor y llamas la de recepción ni se molestará en pasarte con un dentista. Ella misma te recetará que tomes antibióticos ¡Viva la automedicación!.

lunes, noviembre 24, 2008

Mi opinión sobre: El Método

Acabo de ver la película "El método". Tiene ya algún tiempo así que supongo que muchos de vosotros ya la habreis visto. Sin querer reventar la película a nadie diré que 7 candidatos a un único puesto de ejecutivo de una empresa se juntan en una sala para someterse al proceso de selección, y en eso consiste la película: 7 candidatos y 1 secretaria en una habitación. La idea es buena, la pelicula entretenida, los actores todos conocidos... y sin embargo no me ha gustado. Debo decir que para este tipo de películas soy muy, pero que muy exigente. La gracia de la pelicula es ir soprendiendo al los candidatos a la par que al espectador, cosa que conmigo no consiguieron. Pero es que además, si hay un par de cosas que no conseguí hilvarnar, el final tan abierto que tiene la pelicula, te deja sin ninguna respuesta. Si, es cierto que te imaginas quien consigue el puesto y todo lo que hace para ello, pero dejan en el aire muchas preguntas sobre el proceso de selección (cuyo nombre da título a la película).
En resumen, película que hay que ver aunque sea una vez y que si sois de los que os sentais a ver la tele sin pensar a la vez os sorprenderá y acabareis diciendo que es una muy buena película pero que si como a mi os gustan los libros de Agatha Christie os dejará un mal sabor de boca.

domingo, noviembre 23, 2008

Exposición de Mucha en CaixaForum

Supongo que a muchos os sonará la imagen que acompaña este post, o al menos el estilo. Es de Alfons Mucha, un pintor checo de principios del siglo pasado. Os cuento esto porque el sábado estuve en una exposición en Caixa Forum, con una guía que te explicaba los carteles más representativos y te hablaba de la biografía de este hombre cuyo apellido se pronuncia /Muja/, todo ello por el increible precio de 0 €; sí sí, no es una errata, a pesar de ser en Barcelona era gratis. Una exposición que os recomiendo si vais a estar en Barclona próximamente.

jueves, noviembre 20, 2008

Un domingo en el teatro

A petición de mi novia debo deciros que el domingo fuimos al teatro a ver una obra de Dagoll Dagon. Fue en el Teatro del Mercado y esteríamos aproximadamente 50-60 personas (ni medio aforo). No era toda la compañía de teatro sino sólo 3 actores, que además hacían de lo que ellos son: actores. Dos de ellos eran una pareja de actores consagrados y el tercero un actor aficionado con ganas de triunfar. La obra es una crítica a situaciones y comportamientos de determinados actores que pueden darse en ese mundo. Estuvo bien, la verdad; si bien el principio es lo que menos vale la trama va avanzando y cada vez es más entretenida y divertida. Muy bueno el monólogo que hace la actriz Noël Olivé.

Curiosidades:
  • El triángulo amoroso bebe del teatro clásico y, más concretamente, del triángulo que conforman Teseo, Fedra e Hipólito.
  • La platea se convierte en parte del escenario y muchas escenas tienen lugar desde la sala.
  • Los avisos de inicio de la obra se oyen tres veces: una cuando empieza, otra en un monólogo en el pueblo y la tercera, cuando va a empezar la representación de 'Fedra' por los personajes.
  • Sin contar el entreacto, la duración es de 1 hora y 40 minutos. Durará dos semanas, de miércoles a domingo y los sábados hay doble función.

La cagué en el mus

Bueno, ayer no quise escribir sobre el tema porque aun me duraba el cabreo. Como os dije el martes a las 21:00 jugamos los cuartos de final del torneo de mus de Kukuxumusu en la sede del Centro Soriano. Nos enfrentabamos a una pareja de unos 50 años, típicos con su copa y puro. Ya empecé desmoralizado, se me da muy mal jugar contra esta gente que se las sabe todas. Las dos primeras partidas nos las ganaron, no pillabamos casi cartas y ellos jugaban con poca cosa. El problema fue la tercera partida, ibamos 10-12 aproximadamente, nadie llevaba juego así que fuimos al punto. Y yo, que iba de mano, sin comerlo ni beberlo eché un ordago llevando 29. El de mi derecha (que había cortado el mus) lo vió y me saco 30. ¡Porque echaría todas, que tonto fuí!.
En fin, esperemos al torneo de navidad a ver si lo hacemos mejor.

lunes, noviembre 17, 2008

Campeonato de mus Kukuxumusu

Bueno, pues ha pasado otro fin de semana y seguimos en el campeonato. El viernes pasado nos enfrentamos en el centro soriano a una pareja de universitarios. La partida estuvo más reñida de lo esperado y acabamos 3-2 jugandonos todo en una última mano en la que ibamos 32 - 30; un órdago a la grande que ganamos con dos reyes (no estaba muy seguro pero ¡a algo había que jugarselo!). Pues con esto ya estamos en cuartos de final.
Ahora empieza lo complicado, necesitaremos de la suerte para ganar las dos próximas partidas y ponernos en la final de nuestra sede. Ya os iré contando.

martes, noviembre 11, 2008

Sobre la encuesta que estoy realizando

Pasado ya un tiempo desde que puse la encuesta veo que los pocos lectores que tengo quieren que hablen de programación, de las cosas que me van pasando y de mi opinión sobre la actualizadad.
Este blog comenzó siendo un blog de opinión sobre las noticias de cada día pero poco a poco he dejado de hacer crítica o dar mi opinión sobre esos temas; esto es principalmente porque cada vez el blog ha ido siendo menos anónimo, es decir, ahora mi opinión, de la cual nunca me arrepiento, tiene nombre y apellidos y esto puede no ser bueno si un día voy a una entrevista de trabajo y el entrevistador piensa de forma diferente a mí y le da por buscar por internet mi nombre. También es cierto que si tiene dos dedos de frente para buscar mi nombre en Google posiblemente piense como yo en muchos temas (lo cual podría, aunque lo dudo, darme puntos a mi favor). Resumiendo, que si veo algo interesante que comentar lo comentaré, pero no será el tema principal del blog.
He visto que la economía no os importa un carajo así que reduciré mis comentarios sobre bolsa al mínimo (quizá comente cuando haga alguna venta o compra y poco más).
Sobre lo que a mi me va pasando pues por descontado que os lo voy a contar, y ya os adelanto que estoy participando en el torneo de mus de Kukuxumusu y que he pasado la primera ronda. El viernes que viene tengo la segunda.
Y sobre programación... que decir sobre este tema. En teoría es del tema en el que más puedo hablar y con más propiedad de todos los que hablo, pero a su vez, al ser del que más se, me doy cuenta de la poca idea que tengo y por eso me da, digamos, vergüenza hablar. Me resulta dificil creer que puedo aportar documentación sobre algo (quizá si que pueda aportarla en castellano, pero es difícil que aporte algo que no esté antes en inglés). Pero vamos, la verdad es que hace un año o más el toolkit Dojo estaba muy verde y en catellano no había casi documentación y podía haber escrito bastante sobre eso, aunque claro, como dicen los chicos de debug_mode=ON, para qué lo voy a poner sólo en mi blog (con el pequeño alcance que tiene) cuando lo podría poner en su red social y tendría más alcance y la autoría seguiría siendo mía (y el beneficio económico de adSense).
Bueno, que me comprometo desde aquí a hablar más sobre programación, sobretodo cuando me encuentre problemas que me cueste solucionar y encuentre esa solución,. Además, me vendrá bien, como dice mi madre: "lo que se escribe se lee", vamos, que así si me lo vuelvo a encontrar y no me acuerdo como lo resolví sabré donde lo deje apuntado.
Por cierto, esto de baja, estoy malo, espero recuperarme pronto porque estar en casa me produce dolor de cabeza.

Labordeta - 19 Grandes Canciones


Otra carátula que no he encontrado por Internet ni la encuentra iTunes cuando le das a conseguir carátula...

martes, noviembre 04, 2008

Vacaciones por Andalucía

Como ya os comenté, queridos lectores, he estado unos días por Andalucía. Concretamente han sido 8 noches con sus 8 días recorriendo Granada, Córdoba y Sevilla.
Lo primero decir que yo debo llevar el cambio climático allá a donde voy. He estado dos veces en Inglaterra, las dos con un sol espectacular y sin ver la lluvía; pues para 8 días que voy a Andalucía me llueve y me hace frio, especialmente en Sevilla.
Fui hasta Granada en autobús haciendo trasbordo en Madrid. Salí de Zaragoza a las 19:30 y llegué a Granada a las 6:00 ¡una paliza!, y más si lo comparas con el viaje de regreso Sevilla - Zaragoza en AVE, saliendo a las 7:15 y llegando a las 12:00 (creo recordar, haciendo trasbordo en Madrid).
¿Qué decir de Granada? Pues que la zona turística es muy maja, que tiene bastantes cosas que ver, que esta llena de hippies :), y sobretodo, que la Alhambra... como decirlo, decepciona, me voy a explicar: tu llegas y te enteras de que la Alhambra es un conjunto de cosas, algo así como el Castillo de Praga donde entras gratis y luego hay diferentes sitios que visitar (algunos gratis y otros de pago). Pues resulta que de todos los edificios que hay dentro de la Alhambra propiamente dicha lo único que vale son los Palacios Nazaries, que son lo que habeis visto todos en las fotos (la fuente de los leones, etc). Estos palacios estan muy bien y son muy recomendables pero el resto... el caso es que también están los Jardines del Generalife que tambien merecen mucho la pena. La calle Caldererias con sus tiendas y teterías es un sitio que no te puedes perder.

¿Y sobre Córdoba? Me encantó. No me la esperaba así y me sorprendió gratamente. Es una ciudad normal, como puede ser Zaragoza, pero cuando pasas sus murallas entras en otra ciudad de la cual no hace falta que salgas mientras estés allí. Anda por esas calles de fachadas blancas y con flores, visita la IMPRESIONANTE Mezquita, etc. Además, ve al Bar Santos, en frente de la Mezquita, para probar una de las mejores tortillas de patatas que encontrarás (Lola Flores y Carmen Sevilla las han probado, en los periódicos de la pared queda atestiguado).

Y mejor sería no hablar sobre Sevilla porque casi todo lo que voy a poner es malo. Es una ciudad normal con sus cuatro monumentos que casi cualquier ciudad tiene (menos Guadalajara). Sí, es cierto que tiene la Giralda, pero no me parece suficiente, no me parece una ciudad en la que se disfrute sólo andando por sus calles; además estaba sucia y llena de excrementos de caballo y perro.

En resumen os puedo decir que he acabado muerto. Estoy muy cansado y esto más que vacaciones han sido turismo, que no es lo mismo. Ahora me faltará por visitar Cádiz que es la única de las provincias que me llama la atención además de las que ya he visitado... pero esa será otra historia.

Mañana si tengo tiempo editaré este post para añadir algunas fotos que todavía no he tenido tiempo de clasificar.

viernes, octubre 24, 2008

¿Quieres saber donde acabarías si escabases bajo tus pies?

Pues vía meneame he descubierto una web que te dice el punto exacto en el que se encuentran tus antípodas. Acabo de probarlo y funciona bien; actualmente me encontraría en el mar muy cerca de Nueva Zelanda.
Una web interesante para echarle un vistazo mientras esperas a que se te despliegue la aplicación en el servidor.

lunes, octubre 20, 2008

Mi web personal

Bueno, no se si ya os lo he dicho antes pero tengo el dominio www.abelmendivil.es y he puesto algunas cosillas, casi todo enlaces allí. Está el enlace a este blog, a mi curriculum en linked-in, etc. Pronto pondré también mi CV en .pdf, que si no lo he puesto ya es porque estoy sopesando los pros y los contras. También he puesto enlaces a las dos webs (bastante simplonas) que he hecho para ser visualizadas desde el iPhone (para saber cuando llegan los autobuses a la parada y para ver los resultados de fútbol). Más que nada estas dos webs son para mi comodidad pero sois libres de usarlas.

Bueno, ya os iré informando de mis progresos. Por ahora deciros que el viernes me voy a Andalucía y me pego 10 días por allí; así que sí de normal no escribo casi en el blog esa semana ni entraré a verlo.

lunes, octubre 13, 2008

El Padel y Yo

Después de una primera experiencia con el padel en la que perdí yendo de pareja con el mejor de los cuatro que jugabamos me he propuesto jugar más a menudo. Comienzo este martes y espero jugar todos los martes de aquí en adelante (a no ser que me cambien el horario de la Escuela de Idiomas y tenga que cambiar el día del padel). El caso es que ya tengo pala y como veis en las fotos es muy chula, no se sí es muy buena o sólo buena, lo consultaré con los expertos de mi trabajo mañana mismo pero chula es. Además ha sido casualidad porque sin que mi novia supiese que iba a jugar mañana pues la tenía preparada para regalarmela y a raiz de decir que me iba a comprar una (para jugar mañana) pues me la ha regalado por adelantado. Tengo ganas de estrenarla.

Carátula del primer disco de los Jah'sta

Pues eso, que con la llegada del iPhone a todos nos gusta tener la carátula de los discos para que se vea en el CoverFlow y como en la iTunes no está la imagen del primer disco de los Jahsta pues he escaneado la mía y la pongo aquí por si alguien la quiere. Supongo que con esto estoy vulnerando algún derecho de autor (aunque este disco tiene ya muchos años), así que si alguno del grupo lee esto y le molesta que se ponga en contacto conmigo y quito la imagen.

martes, octubre 07, 2008

S.A. por fin de nuevo en Zaragoza

Bueno, por fin, después de muchos años los Soziedad Alkoholika han podido volver a tocar en Zaragoza; y todo gracias a Doble V. Desde hace mucho se sabe la admiración que tiene Kase.O hacía este grupo, del que suele llevar camisetas en sus actuaciones. Y ayer, en la carpa de Interpeñas, de la que luego hablaremos, actuaron primero Def Con Dos, después S.A. y para cerrar Violadores del Verso.
Yo llegué tarde, los DCD habían terminado y estaba sobre el escenario el Juan pegando berridos.
Cómo estabamos esperando al Melón, fuimos a dar una vuelta para ver como estaban las instalaciones. Es la mejor carpa que se ha montado, para mi que es la misma que la de Valdespartera del año pasado, y encima esta muy bien organizada. Al fondo la comida y los baños, muchos baños, incluida "la pared" (que ahora es una especie de chapa que llega por la cintura). Venden pizzas y todas estas cosas. El litro, ya sea de kalimotxo o cerveza vale 6 €.
Luego nos metimos al mogollón; sonaba algún tema del disco nuevo pero en general todos los clásicos: Cuando nada vale nada, En el tejado, Cienzia Asesina, Motxaló y como siempre, para terminar, Nos vimos en Berlín.
Está vez, unos 6 años después, no hubo censura. Ya era hora de volver a oirlos. Lo que sí que pienso... vamos, no estoy seguro porque no estuve todo el concierto, pero no escuche ni Explota Zerdo!, ni Palomas y Buitres, supongo que la segunda la tocarían antes de llegar yo, o... no la tocaron? hmmm si alguien que estuvo allí puede ponerme en los comentarios si la tocaron o no se lo agradecería.
Después se fueron, sin haber tocado Política del miedo, y el escenario quedó vacio.

Entra la mesa de mezclas. Entra un pavo y pone el logo de Violadores... y un poco después entra el Rumba. Mogollón de crios entre el público gritan cuales groupies y levantan las manos.
El R de Rumba empieza pinchando unos temas en inglés y al poco rato aparecen el Liriko, Hate y Kase.O. Este último con una cara capullo que no se tenía, en serio, sin las barbas y con el pelo ni largo ni corto, en plan como lo llevan los votantes del PP. Hasta parecía más delgado.

Tocaron temas de todos los discos incluso temás que no aparecen en sus discos, o al menos yo no los había escuchado. La cosa comenzo suave (Sólo quedar consuelo y temas así) y en ese rato se subió a colaborar el Xhelazz (ya se sabe que sino sube el Xhelazz puede haber mucha gente que se vaya, jeje).
Como siempre el Liriko el peor. Los otros dos bien, aceptables, hasta que llegó el primer pepino. Con el Sho Hai en medio del escenario, comienza la base, y suena el: "Me llaaaman", y todo el mundo contestándole: "El Rey de las cantiiiinas". Comenzaba lo bueno que tuvo su colofón con Haciendo lo nuestro. Fue una versión cada vez más acelerada. No subió el Fuethefirst, comenzó Liriko a ritmo normal pero con una base que resultaba extraña, pero cuando le llegó el turno al Hate vimos que la cosa iba mucho más rápida:

Bebo litracos, litronas, galimbas cuarenta onzas
Bebo rubias y negras en pintas o, también en copas
Bebo y trago, minis, cachis, quintos, tercios, bebo a morro
Latas de treinta y cincuenta CL, bebo de todo
Jarras de medio dependiendo del sitio, bebo medianas
en bares de barrio, cañas con gas las llaman claras
Bebo tubos, botijos, pozales, cubos, chupitos,
arranques, tapones, tubitos, penaltis, también orinales
me gusta el pirriaque, el alpiste, el drinking, bebercio
soy fan del cacique de habana pero y por ron pampero
pero, siempre hasta el tercer hielo
un buen lingotazo, chorrazo palmero para Sergio!

Y lo más brutal fue cuando le toco al Javier Ibarra, yo no se si aquello fue playback o que, pero iba lanzado, sin respirar solto toda su parte tan rápido que era dificil seguirle. Brutal, brutal. Si alguien grabó esa parte que la comparta por el emule que los que no tuvieron la suerte de escucharlo tienen que hacerlo. Brutal.

El caso es que la cosa se acabó... temporalmente. Salieron los curritos que movieron la mesa de mezclas y sacaron otra vez la batería de dos bombos. Todos creimos que iban a salir los NdNo a tocar Zombis (no me había dado cuenta de los dos bombos). Pero no, quien salió fue el Juan, Roberto y compañía. S.A. y Violadores juntos sobre el escenario. Los Doble V con camisetas de S.A. y los S.A. con camisetas de Violadores. Y sonó la que todos sabiamos que iban a tener que tocar en ese concierto: Politika del mieeeeedo.

Tocaron cuatro canciones juntos, la ya citada y tres más de Violadores. Zombis, Ballantines y La ciudad nunca duerme.

Y así, sin darnos cuenta, acabó el concierto :( Fue raro, corto, un final que supo extraño. A mi me dió la sensación de que el de Independencia el año pasado estuvo mejor estructurado. Me faltaron colaboraciones. No estuvo el Suizo cantando No somos ciegos. No se, creo que podría haber estado mejor, pero ojo, que estuvo muy muy bien, lo que a mi me gusta que no pare de subir y bajar gente del escenario.

Yo creo que tenían que acabar a una hora y llevaban prisa todos. A DCD sólo les dejaron actuar 45 minutos según me contaron, y los grupos no se hacían derrogar con lo típico de "oooootra, oooootra".

Pues aquí está la primera versión de mi crónica, cuando me vaya acordando de más cosas iré actualizando.

Actualizado: Un lector ha conseguido el siguiente video (no es de la pasada noche, pero se puede entender a que me refiero con la versión de Haciendo lo nuestro)


Actualizado: Otro lector me informa de este video en Youtube donde podemos ver parte de la actuación de ayer (Politika del miedo).

domingo, septiembre 28, 2008

¿En que ando metido?

Ya se que a los cuatro que leen este blog (y soy muy optimista) les importa un carajo en que ando metido actualmente; pero como el blog es mio y en el escribo lo que me da la gana pues os lo voy a contar:
  • Tema trabajo remunerado: pues ahora sin comerlo ni beberlo curro en HP. Supongo que todos los relacionados con temas IT sabreis que HP ha comprado a EDS y ahora somos: EDS, an HP company. Además se han anunciado despidos, sobran 1 de cada 5 en Europa, la escabechina va a ser buena. Por cierto, me he comprado dos cartuchos de tinta para la impresora un 17% más baratos, ventajas de currar en HP.
  • Tema tecnología: sigo leyendome el Spring in Action (second edition) y haciendo pruebecillas sobre un Netbeans 6.5 (que así de paso lo voy probando también). Además acabo de bajarme siete videos de la web de Apple para aprender a programar para el iPhone y acabo de abrir el Xcode en mi Macbook y justo ahora estoy tratando de hacer mi "helloworld". ¿Por qué? pues porque en mi curro usamos Struts, un framework que resiste pero que se está quedando anticuado, el día de mañana se que necesitaré saber de Spring así que voy aprendiendo yo por mi cuenta. Además cada vez estoy más convencido de que se puede ganar dinero programando para dispositivos móviles así que tengo la intención de hacer alguna cosilla para el iPhone y colgarla en la AppStore. Mientras se me ocurre que programar pues voy aprendiendo a programar para este pequeñín tan mono. También me gustaría sacarme una nueva certificación la SCBCD, pero con calma.
  • Tema música: a raiz de que unos compañeros de trabajo se han apuntado a tocar la guitarra a mi se me ha despertado la vena artística y me voy a comprar una dulzaina este mismo lunes. A ver si consigo tocar alguna cosica. Ya os iré contando.
  • Tema economía: he andado un poco liado estos días y tengo "El inversor inteligente" un poco aparcado, tengo intención de seguir leyéndolo. Para los que no lo sepan este libro es la biblia del Value Investment, escrito hace ya muchos años por el maestro de Warrent Buffet. Además antes de verano me planteé empezar una nueva carrera: Empresariales. Lo descarté por falta de tiempo pero ayer hablando con un amiguete me dijo que también lo había pensado, así que igual nos apuntamos los dos a la UNED.
  • Tema deporte: en esto me tengo que poner las pilas como sea, y no se como, pero algo de deporte tengo que hacer. LLevo un par de meses que quedamos los jueves por la tarde para jugar a frontón pero no es suficiente...
  • Tema inglés: me he matriculado en la Escuela Oficial de Idiomas para hacer 4º (bueno, 2º de nivel intermedio que se llama ahora), pero me tengo que poner las pilas viendo pelis en inglés o algo así porque con la EOI no basta, a ver si lo consigo porque me da mucha pereza.
Bueno queridos lectores, después de este tostón os adelanto que esta tarde voy a hacer cambios en www.abelmendivil.es. Quiero ponerlo más organizado, subir un CV en .pdf y modificar mi perfil en linkedIn para explicar que hice en mis diferentes trabajos.

lunes, septiembre 22, 2008

El Restaurante Garden y el Page Rank

Hace algún tiempo pensé junto a un compañero del trabajo empezar un blog comentando lso diferentes restaurantes de Zaragoza. Poco después descubrimos que esa idea ya la había tenido otra gente: www.restaurantes-zaragoza.es, y que para colmo lo hacen mejor de lo que nosotros lo hubieramos hecho. Así que aprovecho a leer esta web para conocer nuevos restaurantes a los que merezca la pena ir (visitar esa web si sois de Zaragoza, no os arrepentireis).
El otro día veo un post muy curioso. Se trata de que comentando en nuestros blog sobre el Restaurante Garden puedes ganar una comida para dos personas en dicho restaurante. Sólo hay que hablar sobre los banquetes para bodas y comuniones que ofrecen en sus diferentes salones.
Lo primero decir que nunca he comido en ese restaurante pero gente de mi familia si que lo ha hecho y salieron satisfechos.
Pero lo que más me llama la atención no es el sorteo en sí, sino el proposito que se persigue con él (no nos vamos a engañar, aquí nadie da nada gratis). Y creo que estareis de acuerdo conmigo con que el objetivo aquí es subir el Page Rank de Google de la web del Restaurante Garden. Puede parecer esto algo feo, pero yo opino todo lo contrario. Hay empresas que pagan a otras para lograr un buen posicionamiento (y este tipo de empresas usan trucos un tanto feos para lograrlos). Aquí es más sencillo, premian a los blogger, lo cual, como blogger me parece muy bien.
Además, que si gano el concurso daré mi opinión sobre la comida, completamente imparcial, así que si gano y no me gusta la comida que se preparen porque la crítica será feroz, pero si me gusta la comida volveré a escribir sobre ellos con una opinión favorable y por tanto conseguirán más publicidad en internet.
Es decir, que me gusta esta iniciativa y por tanto aquí esta mi post sobre estas dos webs.

jueves, septiembre 18, 2008

Lo que los medios no cuentan

De todos en Zaragoza es conocida la afinidad que tiene el periódico Heraldo de Aragón con el equipo de gobierno, tanto de la DGA como del Ayuntamiento. Es por ello que no debe extrañarnos los que sucedió el pasado domingo en la clausura de la Expo 2008.
Pongámonos en antecedentes. Desde todos los medios se anunciaron los espectaculares fuegos artificiales que íbamos a ver en la capital del Ebro y nos informaron que el mejor lugar para verlos era el Puente de la Almozara. Uno de los medios que se encargó de anunciarlo a bombo y platillo fue el Heraldo, sí, ese periódico que no daba casi importancia a la muerte en accidentes laborales de trabajadores de la Expo por hacer las obras a toda prisa. El caso es que acudí al citado puente a disfrutar de los fuegos.
Cinco minutos antes de comenzar (y digo cinco porque fueron justo cinco) apareció la policia nacional. Se colocaron en el centro del puente y comenzaron a movilizar a la gente que allí estabamos alegando que teníamos que desalojar el puente (seríamos entre 10.000 y 20.000 personas a desalojar en 5 minutos). Ellos decían seguir ordenes de los pirotécnicos.
Algunos de estos policias, conscientes de lo imposible y estupida que era la acción trataban de dialogar, pero siempre estan los Rambos que les encanta cargar porra en mano (por suerte al estar lleno de ancianos y niños se tuvieron que aguantar).
A continuación fotos del desalojo:




































Lo más curioso fue cuando al día siguiente entre en la web del Heraldo.... ni una sóla linea sobre el incidente, es más, seguía en portada la recomendación de ver los fuegos desde el puente. ¡Qué vergüenza!

viernes, septiembre 12, 2008

Review / Análisis Incipio Orion

Hoy me ha llegado por fin la funda para mi iPhone. He estado mucho tiempo pensando cual adquirir. Como bien sabeis existen de varios tipo: rigidas, de silicona, de calcetín...
Yo tenía claro que quería una funda que lo "protegiera" de posibles caidas, que lo protegiera de unas llaves cuando va en un bolso (bolso de caballero eh, que uno es muy hombre) y que no me quitara sensibilidad cuando tocara su pantalla. Así que me decidí por una de calcetín. Y de todos los modelos (que hay unos cuantos) tenía que elegir uno que fuera serio pero tampoco demasiado, es decir, no quería uno de Kukuxumuxu ni tampoco uno de tan seria como las de Piel Frama. Así que he comprado una Incipio Orion y os voy a comentar que me parece nada más sacarla de la caja.
La funda es más pequeña de lo que yo pensaba y queda muy pero que muy ajustada al teléfono. Es elegante y discreta y el teléfono se saca con cierta facilidad ya que tirando de la tira que sobresale por detras sacamos un trozo el teléfono para en un segundo paso sacarlo del todo.
Con esta funda está claro que protegido de rayaduras va a estar, y también da la sensación de que a caidas de poca altura también será inmune. Ahora bien, hay dos cosas que no me gustan. Como se puede ver en las fotos, al quedar tan ajusta el iPhone hace que la funda se "abra" de forma que abulta más de lo que debería. Espero que acabe dando de sí y quede plana. Por otro lado en la web dicen que "al meter y sacar el iPhone se limpia la pantalla gracias al tejido interior", pues mentira, como se puede ver en la última foto y lo he marcado en rojo, la tira que facilita que se saque el iPhone termina en la parte interior delantera y eso no me gusta nada ya que provoca que no sea una superficie plana la que está en contacto con el teléfono. Bueno, a continuación unas fotos de la funda, y ya sabeis, para cualquier duda me dejais un comentario y yo os contesto.




martes, septiembre 09, 2008

¡Madre mía que mal aspecto tiene Steve Jobs!



Sobre la volatilidad

Hace ya bastante tiempo que no comento nada sobre mi cartera de valores, más o menos desde que comenzó la tendencia bajista tan pronunciada que tenemos ahora. Quizá para los que no siguen la bolsa y miren las cotizaciones de ayer piensen: ¡Este se ha forrado!, un 12% de subida de AXA... nada más lejos de la realidad, como dice Fernand2 cuando la tendencia es bajista la volatilidad aumenta, y eso es lo que está pasando, unos días subimos mucho y otros bajamos otro tanto... o más.
Así que yo en estos caso hago la táctica del avestruz: escondo la cabeza. Dejo de mirar constantemente las cotizaciones y las noticias y espero que la tormenta escampe confiando en haber metido mi dinero en empresas sólidas y que tarde o temprano se recuperarán (y mientras me dan buenos dividendos sin ocasionarme pérdidas ya que ING no cobra comisiones por mantenimiento, sólo por compra y venta). Y esa es la razón por la que no escribo en el blog sobre bolsa... estoy esperando que esto pase y cuando vuelvan los buenos tiempo volveré a comentaros como me van las cosas.

viernes, septiembre 05, 2008

El iPhone y adSense de Google

A raiz de poner un bloque de anunciones en mi web para detectar cuando vienen los autobuses a la parada me he dado cuenta de que los anuncios de adsense de Google no están bien optimizados para el iPhone, cuesta mucho darles con el dedo, debería poder clickarse en todo el recuadro y no sólo en el enlace. Se que Google no va a leer esto pero como no encuentro una dirección de correo donde mandarles la sugerencia pues lo pongo aquí. Si alguien sabe de una cuenta de correo donde escribirles que me lo ponga en los comentarios.

Gracias.

miércoles, septiembre 03, 2008

¿Cuándo llega mi bus?

Bueno, una nueva versión de la web diseñada para ser vista y usada desde los iPhone 3G para saber cuanto falta para que los autobuses lleguen a la parada (o poste como les llaman los de Tuzsa). Os recuerdo que esta aplicación es para los autobuses de Zaragoza. No teneis más que insertar el número de poste que se puede ver en todas las paradas y pulsar en "Consultar" y os saldrán en la pantalla el horario, vamos, los próximos autobuses en llegar y los minutos que van a tardar en llegar. Ya se que el nombre no es muy original, pero bueno, yo creo que ¿Cuando llega mi bus? es una forma fácil de referirme a esta web. Mi próximo objetivo es contruir una aplicación propia de iPhone, ahora mismo me estoy descargando el SDK, de esa forma nos ahorraremos el tiempo de esperar a que cargue la primera web (en la que introducimos el poste). Para cualquier sugerencia o comentario pues aquí en el blog.
Ah, si os preguntais que es eso de los "Accesos directos" pues son las dos paradas que uso todos los días y como la web es mía pues me planto ahí los dos botones para no memorizar los postes :)

Hoy toca hablar del iPhone

Después de una semana usando el iPhone 3g que compré ya se las cosas que me gustan y me disgustan de él, y por si estais pensando compraros uno pues os las voy a decir. Sólo menciono las que no son obvias:

Me gusta:
  • Lo bien que funciona el acelerómetro. Es increible con que precisión detecta los movimientos.
  • Al tener un Macbook es un gustado toda la sincronización. Por ejemplo tengo el Google Calendar sincronizado con iCal. Cuando enchufo el iPhone sincronizo con iCal, y por tanto con Google Calendar. Además tengo generado un calendario en iCal con los cumpleaños de mis contactos, y este calendario también esta sincronizado con iPhone, osea, los cumples bien puestos en el calendario del movil.
  • El coverflow, se farda mogollón. Cuando me compré el móvil sabía que lo tenía, pero no sabía que cuando pulsabas sobre un disco este giraba y te mostraba sus canciones para que elijas la canción que escuchar desde el coverflow.
  • El correo push. El SMS está condenado, larga vida al mail. Para que pagar sms cuando puedes mandar y recibir mails instantaneamente gratis.
Me disgusta:
  • No poder asignar el tono que yo quiera cuando recivo un SMS. Sólo puedo escoger entre los 6 por defecto que trae el iPhone.
  • No poder asignarle de forma directa un mp3 a un tono de llamada. Hay que reconvertilos a un formato especial.
  • No poder asignar un tono de llamada a todos los contactos pertenecientes a un mismo grupo. Tengo que ir uno por uno asignandoles el tono.
  • Lo rápido que se gasta la bateria. Lo tengo que recargar todos los días. Y ¡ojo! el GPS no te detecte y este tratando de encontrar satelite mucho rato que ves como va bajando la barra de la batería.
  • Pesa más de lo que aparenta.
  • Que todo cristo saca las aplicaciones a 0,79€. Hasta las más feas y tontas. Creo que Apple debería hacer algo similar a Google con Android. Es decir, sacar una serie de aplicaciones gratuitas ya sea mediante un concurso o desarrollandolas ellos para que la gente se enganche. Se echan en falta aplicaciones. Y no, no estoy pidiendo un Tom tom gratuito, sólo algun juego que haga uso de la potencia gráfica y que sea gratis.
Seguiré comentandoos más cosicas en otras entradas.

martes, agosto 26, 2008

De lo tontos que son algunos dependientes...

Hoy os quiero comentar algo muy curioso y que pasa muy a menudo, aunque con distintos protagonistas. El sábado pasado me acerqué a la tienda que ha abierto K-tuin en la calle Cinco de Marzo en Zaragoza. Estos días estoy buscando una funda para mi iPhone y me acerqué allí al ser la única tienda especializada en Apple de la ciudad (que yo sepa, bueno tiene otra cerca del parque grande pero también de K-tuin). El caso es que desde que compré el iPhone no me ha funcionado el GPS, así que ya que estaba allí pues le pregunté al dependiente (un chaval joven de unos 25 años) si les habían llegado clientes comentandoles de que no les funcionara el GPS. El chaval me dice que NO, que todos los iPhone allí vendidos tenían el GPS funcionando correctamente, que mi teléfono debe estar roto.
Hoy leyendo por los foros me encuentro con que el GPS de estos teléfonos no funcionan en esta ciudad. No se sabe porque pero hay que salir a las afueras para que te localice.
¿Por qué me mintió el dependiente? ¿No se da cuenta de lo tonto que ha quedado? ¿como me voy a fiar ahora de lo que me digan en K-tuin? Y eso que voy a volver a comprar alguna funda, pero compraré la que yo crea, no la que me recomiende un tio que no tiene ni idea.

El caso es que como el hay muchos sueltos por el mundo, vendedores mentirosos que no tienen ni idea de lo que hablan y sólo les importa las primas por vender al final de mes. Así va este país.

Actualizado: ¡Ya me funciona el GPS! me fui a detrás de la Expo, y allí, sin edificios alrededor y después de un buen rato esperando, conseguí que me detectará. Según me he informado debido a la última actualización del firmware el GPS no debe ir muy fino.

domingo, agosto 24, 2008

Mi primera "aplicación" para el iPhone

Bueno, realmente no es una aplicación sino una Web adaptada para ser vista correctamente en el iPhone. Tuzsa dispone de una opción en su web para saber cuando van a pasar los autobuses por una determinada parada. Pero claro la web de Tuzsa no está adaptada ver se vista en el iPhone, además de que tiene muchas más cosas que no son útiles de consultar desde el teléfono de Apple. Así que me he currado una web donde puedes poner el número de parada (poste), que se puede ver en todas las paradas y te muestra cuando pasan los autobuses. De esta manera nos ahorramos el SMS que tienen que mandar los usuarios de un teléfono no-iPhone (o vamos, sin tarifa plana de internet como nosotros tenemos, por obligación).
Yo me he añadido la web al "escritorio" el iPhone para tenerla siempre accesible en un sólo click.
Sois libres de usarla y si usais mucho una determinada parada y quereis que la añada a los "Accesos directos" sólo teneis que decirmelo.
La ruta de la web es www.abelmendivil.es/tuzsa.

La final de ba-lon-ces-to o el robo del año...

Pues eso... que nos quedamos con la plata. Estuvo cerca de conseguirse pero los arbitros no nos dejaron. Eran muchos años sin que USA ganara el oro y no podía consentirse algo así. Los pasos de salida no se les pitaban a los americanos y si a los españoles. Como dijo Romay: "que les pongan el triple en los 7 metros".
Un partidazo en toda regla por parte de los dos equipos que han dado mucho espectaculo y ha demostrado que lo de la fase de grupos no era la diferencia real entre los dos equipos.
Ahora a esperar al mundial.

Los tigres del norte ayer en la Expo 2008

Ayer a las 23:30 comenzó el concierto de Los Tigres del Norte en la Expo 2008 de Zaragoza. A esa hora en el anfiteatro había mucha gente que con el paso del tiempo se fueron marchando o por el frio o porque no era el tipo de música que pensaba que iba a ser. Caminando hacia allí oí a un mujer decir: "¿cuando empiezan los mariachis?"... típica mujer que se iría 10 minutos después de comenzar el concierto.
Pero a lo que vamos. Comenzaron muy rollo sudamericano, una presentación un tanto larga pero que estuvo bien. Salieron y tocaron no más de 8 canciones y después comenzaron a leer las peticiones de la gente. Esto no lo había visto en la vida; la gente les entregaba papelitos con una dedicatoria y la canción que querían escuchar y ellos las tocaban. A excepción de 1 o 2 canciones el resto de las peticiones eran los narcocorridos. Canciones como La Reina del Sur fueron las que más nos gustaron al público aunque sonaban mucho más lentas que en los discos, quizá producto de la edad que ya tienen los miembros del grupo que yo creo que más se aproximaban a los 60 que a los 50.
En resumen, que me gustó el concierto, no es un grupo tan "radical" como El grupo exterminador pero estuvieron bien. La única pega fue el frio que hizo para ser un 23 de Agosto.

"Dicen que venian del sur
en un carro colorado
traian cien kilos de coca
iban con rumbo a Chicago
asi lo dijo el soplon
que los habia denunciado

Ya habian pasado la aduana
la que esta en El Paso, Texas
pero en mero San Antonio
lo estaban esperando
eran los rinches de Texas
que comandan el condado

Una sirena lloraba
un emigrante gritaba
que detuvieran el carro
para que lo registraran
y que no se resistieran
porque si no los mataban

Surge un M-16
cuando iba rugiendo el aire
el faro de una patrulla
se vio volar por el aire
asi empezo aquel combate
donde fue aquella masacre

Decia Lino Quintana
esto tenia que pasar
mis companeros han muerto
ya no podran declarar
y yo lo siento sheriff
porque yo no se cantar

De los siete que murieron
solo las cruces quedaron
cuatro eran del carro rojo
los otros tres del gobierno
por ellos no se preocupen
iran con Lino al infierno

Dicen que eran del Cantil
otros que eran del Altar
hasta por ahi dicen muchos
que procedian del Parral
la verdad nunca se supo
nadie los fue a reclamar."

jueves, agosto 21, 2008

martes, agosto 05, 2008

El mesón de los 20 platos

Acabo de encontrar un blog donde una pareja cuenta su experiencia en el mesón de los 20 platos. Han puesto fotos y todo.

Paintball + mesón.... pufff, lo quiero YA.

P.D. Raquel, el día que te lleve te pides los 20 platos eh! nada de menu del día que nos conocemos.

viernes, agosto 01, 2008

Sobre el iPhone y Movistar

Esto ya es de película. Después de tanto tiempo esperándolo y después del fracaso del día en el que comenzó su venta, me encuentro con lo que ya no me podía esperar. Ya me molesta el hecho de que si realizas portabilidad (te vas de Vodafone a Movistar) te sale el iPhone 30 euros más barato, pero lo que ya no me puedo creer es que directamente es imposible adquirir un iPhone si ya eres de Movistar.
Yo tengo una tarjeta prepago de Movistar y me quiero pasar a contrato (con el iPhone), pues no se puede. Tienen prioridad los clientes que vengan de otras compañías y yo me tengo que esperar a que ya toda esa gente tenga su iPhone.
En una tienda, como por ejemplo la que hace esquina entre la c/Rioja y la avda. de Navarra (en Zaragoza), me dijeron directamente que si estaba dispuesto a contratar una ADSL e Imagenio pues que si que tendría iPhone, que sino nada.
Y ahora acabo de llamar al 609 (información Movistar) y me dicen tres cuartos de lo mismo. Vamos, que la política de Telefónica (de la cual, para colmo, soy accionista) es dar prioridad a las portabilidades sobre las migraciones.

¡Vergonzoso!

P.D. Pero aquí no termina la cosa. Vamos, que me he dejado cosas por contar. He llamado tres veces al 609 y me han antendido las tres veces, tres chicas sudamericanas. La primera me ha colgado, la segunda me ha pedido mi número de cuenta y el código que no recuerdo como se llama que son 3 número destrás de la tarjeta de crédito, y cuando le he preguntado para qué los quería me dice que era para hacerme el contrato del iPhone; cuando le he preguntado que si me lo iban a mandar por correo o cómo, me dice: ¡Hay señoooor! y me reenvia a otra compañera suya la cual es la que me ha dicho que si no era portabilidad pues que no había iPhone para mí. O sea, que la segunda lo que quería era enchufarme un contrato cualquiera y no darme el iPhone, vamos: ENGAÑARME. Qué vergüenza me está dando Movistar.

P.P.D. Para los que no lo sepais, Movistar no tiene el iPhone en exclusiva en este país, sólo tiene unos meses de ventaja sobre las otras compañías pero antes de final de año tanto Orange como Vodafone van a vender el iPhone en España, así que el que no tenga un razón para seguir en Movistar le aconsejo que se largue a otra compañía que no sea tan vergonzosa.

MOVISTAR = FRAUDE