01 julio 2012
Cursa Vall-Mar
La salida era a las 8h de la mañana, y allí había 250 valientes, dispuestos a llegar hasta el mar. El nivel era importante. Nada que ver con las cursas populares a las que estoy habituado. Allí había gente preparada.
Vamos a ver qué tal. Con mi compañero decidimos que cada uno vaya a su ritmo. Es lo correcto.
La cursa se inicia rápida y más o menos plana hasta que cruza la autopista y se mete en el bosque y empieza a subir, y subir. Hay momentos en los que tienes que caminar, aún así la gente va rápida. Se llega al km.11 que es el punto más alto, donde hay un avituallamiento líquido. No me acuerdo si es el segundo o tercero. La organización, por cierto, está de lujo, el camino bien señalizado, y varios avituallamientos y gente que te ayuda en pasos complicados.
Desde la cima, bajada a Orrius a tumba abierta. 4Km (aprox.) a un ritmo impresionante. Ha sido uno de esos momentos sublimes.
Luego vuelta a subir durante un par de kilómetros, y desde allí hasta el km.21 bajada con algún repechón en medio. El camino pasa por en medio de un bosque con pinaza en el suelo, y hay que hacer slalom con los árboles. Otro de esos momentos grandes.
Por fin llegamos a la riera, y allí nos encontramos que el camino es de... arena de playa! Cómo se sufre! No hay manera de avanzar como acostumbras, y no estoy habituado a pisar en suelo blando que absorve la fuerza, y no me la devuelve con igual magnitud y sentido contrario. En fin, que la arena de la playa la tercera ley de Newton se la pasa por...
Cuando estamos a punto de llegar al agua, giro de 90º y nos metemos en zona urbana, y de ahí al paseo marítimo. Y voilà, fin de la carrera. Camiseta, bolsa con regalos, bocata, bebida y a descansar!
El año que viene más y mejor, y al revés, ya que la organización tiene previsto hacerla desde Mataró a Granollers. Las subidas serán espectaculares, todo lo que lo han sido las bajadas esta vez!
Salut i kms!
Dejo el recorrido de la misma, por si alguien está interesado: Recorrido Cursa Vall-Mar 2012
02 abril 2012
Extraer un objeto Connexion de un EntityManager
Para poder utilizar JPA, hay que sacar la conexión de un objeto EntityManager. Tenemos nuestro objeto EntityManager, y de él se puede extraer la conexión, siempre que esté dentro de una transacción!
Por ejemplo:
String sql = "la consulta SQL"; EntityManager em = emf.createEntityManager(); //Iniciamos la transacción em.getTransaction().begin(); //Obtenemos el objeto conexión.. Connection con = em.unwrap(java.sql.Connection.class); // Creamos el CachedRowSet CachedRowSet ret = CachedRowSetFactory.getCachedRowSet(); // informamos de la consulta a ejecutar ret.setCommand(sql); // ejecutamos la consulta y tenemos el resultado en el CachedRowSet ret.execute(con); // Cerramos la transacción... em.getTransaction().commit();
Este tipo de solución viene bien cuando hemos de hacer consultas sobre una base de datos, y el resultado no lo podemos asociar a una entidad de nuestro modelo.
Espero que a alguien le sea de utilidad!
29 agosto 2011
Maven 2 y Maven 3 en la misma máquina?
Pero... al intentar ejecutar en Helios un despliegue con Maven2, éste se queja amargamente con un error del tipo:
java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher
Buscando por Google he encontrado esta entrada que apunta a una posible solución http://cyntech.wordpress.com/2011/03/09/maven-2-error. Efectivamente ha sido cerrar Helios, modificar la variable de entorno de Maven, volver a abrir Helios y el despliegue funciona perfectamente.
Ahora a buscar algo que me permita fácilmente cambiar el valor de la variable de entorno, y si puede ser desde Eclipse, mejor.
03 diciembre 2010
Recorridos Octubre y Noviembre
12 octubre 2010
Bucarest
| Ciudad con grandes avenidas |
| Lo viejo y lo nuevo |
| Agujeros por doquier en las calles |
| Restaurante Caru cu Bere |
| Sara disfrutando de la comida |
| En el barrio de Lipscani |
07 septiembre 2010
Tomcat: errores en el despliegue
- common/lib, o
- webapps/[application]/WEB-INF/lib
...mysql mysql-connector-java 5.1.13 provided ... javax.mail 1.4.1 provided
03 julio 2010
Eclipse Helios y Ant
1) Tenemos instalado ANT en el directorio que queramos, llamémosle ANT_HOME.
2) Nos vamos a Eclipse, Window, Preferences, Ant, Editor, Runtime y localizamos el directorio ANT_HOME mediante el botón "Ant Home...". Sellecionamos y le damos a OK.
3) En ANT_HOME/lib colocamos la librería catalina-ant.jar. Ésta la puedes encontrar en TOMCAT_HOME/server/lib, siendo TOMCAT_HOME el directorio donde tienes instalado Tomcat. Tenemos que decirle a Eclipse que la tenga en cuenta. Para ello vamos a Eclipse, Window, Preferences, Ant, Editor, Runtime y seleccionamos en el cuadro "Ant Home Entries". Pulsamos sobre el botón "Add External JARs..." y seleccionamos la librería ANT_HOME/lib/catalina-ant.jar
4) Creamos un archivo de texto que llamaremos tomcatTasks.properties y que situaremos en ANT_HOME. El archivo contendrá las siguientes líneas:
deploy=org.apache.catalina.ant.DeployTask
install=org.apache.catalina.ant.InstallTask
list=org.apache.catalina.ant.ListTask
reload=org.apache.catalina.ant.ReloadTask
remove=org.apache.catalina.ant.RemoveTask
resources=org.apache.catalina.ant.ResourcesTask
roles=org.apache.catalina.ant.RolesTask
start=org.apache.catalina.ant.StartTask
stop=org.apache.catalina.ant.StopTask
undeploy=org.apache.catalina.ant.UndeployTask
Espero que sirva de ayuda.
Eclipse Helios y el Charset en Windows
La primera prueba es importar un proyecto que gestiono desde el Eclipse Galileo, y todo parece correcto hasta que intento compilarlo. En ese momento aparece el error:
warning: unmappable character for encoding Cp1252
Vaya! El proyecto está en UTF-8, pero al importarlo, Eclipse lo pasa a su codificación por defecto que en Windows XP parece ser Cp1252. Un poco de Google nos da la solución, en concreto en:
http://colab.mpdl.mpg.de/mediawiki/CharsetEncoding#Eclipse
donde nos dan la solución para que compile sin errores de codificación de caracteres.
En Eclipse Helios vamos a
y ponemos como Text file encoding a UTF-8.Window | Preferences | General | Workspace | Text file encoding
21 junio 2010
Clase CDATA en JDOM
...
Element el= new Element("noticia");
el.addContent(new Element("observaciones").addContent(new CDATA("Noticia ya publicada")));
...
quedará en el documento XML como:
<noticia>
<observaciones><![CDATA[# Noticia ya publicada]]></observaciones>
</noticia>
06 mayo 2010
Hacer un TRANSFORM con MySQL
CREATE TABLE tCodApi (
CodApi VARCHAR(25) NOT NULL,
PRIMARY KEY(CodApi)
);
La llenamos con las claves que necesitamos.
INSERT INTO tCodApi
SELECT CodApi
FROM tramApis
GROUP BY CodApi;
Ahora generamos una consulta de la siguiente manera, con el select más externo, recorremos la tabla de claves, y el GROUP_CONCAT va generando una única cadena que contendrá todos los valores del grupo. El concat más externo nos facilitará la tarea de generar la cadena final.
select
concat (
"SELECT t.FechaPeticion ",
group_concat(
concat(
", SUM(IF(.tCodApi = '", api.CodApi, "', 1, 0)) as '", api.CodApi, "'"
)
order by api.CodApi
separator " "
),
" FROM TramitacionAPIS t ",
" GROUP BY FechaPeticion ",
" ORDER BY FechaPeticion DESC ",
" LIMIT 0,20; "
) as pepe
FROM tCodApi api
where api.CodApi<>"--"
order by api.CodApi;
27 abril 2010
Acceso desde Tomcat a ficheros en discos externos
Z:\carpeta1\carpeta2\fichero.txt
hay que transformarlo en
\\servidor\carpetaCompartida\carpeta1\carpeta2\fichero.txt
Esto por una parte, pero otra tanto otra fundamental es que el usuario sobre el que corre el servicio Tomcat, tenga permisos de lectura/escritura sobre la carpeta compartida, es decir, tenga acceso a
\\servidor\carpetaCompartida\carpeta1\carpeta2\fichero.txt
La prueba del 9 es la siguiente: si desde un programa hecho en java, puedes acceder a dicho fichero sin problemas, pero desde dentro del servlet no, entonces estamos en el caso de problemas de permisos.
Solución: (En Windows XP) Vamos a Panel de Control, Herramientas administrativas, y hacemos que el servicio se ejecute con el usuario que sí tiene acceso a dicho recurso compartido.
Espero que sea de utilidad.
09 diciembre 2009
Cómo detectar el navegador del usuario con JavaScript
<%
String ua = request.getHeader( "User-Agent" );
boolean isFirefox = ( ua != null && ua.indexOf( "Firefox/" ) != -1 );
boolean isMSIE = ( ua != null && ua.indexOf( "MSIE" ) != -1 );
response.setHeader( "Vary", "User-Agent" );
%>
<p> <%=ua %></p>
02 septiembre 2009
BCN-Cerdanyola-Sant Cugat y vuelta
Día de "descoberta". Desde casa a Torre Baró, de ahí a Cerdanyola por la montaña, pasando por Can Lloses. De Cerdanyola, por carretera hasta Sant Cugat. Allí hay dos posibilidades, volver por Can Borrell o bien seguir hasta coger la Arrrabassada. Segunda opción. La verdad es que se hace largo. Una vez llegado a BCN, quedan 11km. y vuelvo a casa por la montaña llegando de nuevo a Torre Baró, y de ahí a casita.
22 agosto 2009
BCN-Cerdanyola y vuelta
Sábado 07:30h20 agosto 2009
Salida con bici
dad y hay que aprovecharla. Me he levantado prontito y con ganas y a las 06:30h he ido a dar una vueltecita con la bici. Hay que aprovechar las horas de menos calor, porque estos días pega con ganas.He ido por el lateral de la Ronda, y he subido por la carretera de Vallvidrera. Me ha costado, y sobre todo la parte final, que coge unas rampas importantes. Una vez llegado a la bifurcación hacia el Tibidabo, todo es bajada. En total, 50min. de sufrir y 30min. de bajada casi sin pedales.
08 abril 2009
Carcassonne, el principio del "casulé"
En ella hemos probado el plato típico de la zona, el "cassoulet", que ha derivado en la comidilla de todas las vacaciones. Le llaman la fabada francesa, y hasta aquí puedo leer.
13 diciembre 2008
Hibernate: Primeros pasos
Lo primero es bajarse el hibernate-core y las hibernate-tools. Ok. Hecho. Las tools se utilizan para poder facilitar tareas en Eclipse. Cuando las descomprimimos, tenemos dos carpetas features y plugins. Los contenidos de las mismas, los debemos pasar a las carpetas correspondientes de la instalación de Eclipse que tengamos. Ok. Hecho. Rearrancamos Eclipse con la opción -clean, y vemos qué ha ocurrido. En Software Updates > Installed Software, debemos localizar un elemento Hibernate Tools. Si es así, lo tenemos bien instalado. Continuamos.
Busco algún tutorial en Google para ver cómo comenzar y encuentro éste: http://programacion-shinseiki21.blogspot.com/2008/02/hibernate.html, que está muy bien, pero tiene algún paso demasiado rápido. Por ejemplo, a él le funcionan las librerías que indica que se han de cargar en el Build Path del proyecto, pero falta alguna. En mi caso, aparte del slf4j-api-x.y.z.jar, debía cargar slf4j-log4j12-x.y.z.jar pues de lo contrario me daba error al ejecutar el programa.
Una vez las pruebas hechas, y adaptadas a mi máquina, todo fue "flors i violes".
08 octubre 2008
Ubuntu y los problemas al compilar C

Haciendo una PAC de FPI con el Ubuntu, me he encontrado que con la instalación básica da una serie de errores al utilizar el gcc.
De hecho lo que pasa es que faltan librerías y no encuentra el stdio.h y otros. Una rápida vuelta por Google nos da la solución: hay que instalar algo más. Vamos a ello!.
sudo apt-get install build-essential
Esto instala las librerías que toque y te permite compilar sin problemas.
04 octubre 2008
Fujitsu Amilo M7440G, Disco duro y WiFi
Pues aquí estamos, con un disco duro que ha fallecido en acto de servcio, la garantía caducada y con un poquito de tiempo. Lo primero es comprar un disco duro SATA: 160 Gb, 46 EUR. OK. Segundo, se instala. OK. Probamos de instalar el XP: el ordenador no detecta el disco duro: malo! Probamos de instalar el Ubuntu, detecta el mío el del vecino y no se cuántos más ;-) Tiramos de linux y nos encontramos con que no va el WiFi, y ya me dirás un portátil sin WiFi es un fijo con la pantalla pequeña. Solución: Google, Ubuntu Amilo M7440G WiFi. Nos lleva a la página de una pequeña aplicación que te permite activar el Wifi: http://fsam7440.sourceforge.
En mi caso, cada vez que quiero activar el WiFi, tengo que ir a la carpeta donde tengo el programa y hacer un sudo modprobe fsam7440.En cuanto coja pràctica con el Linux, haré un método más ràpido.
28 septiembre 2008
81a Travessa del Port de BCN
Este año ha ido mejor que el anterior. Mucho mejor. El año pasado quedé el penúltimo, y éste, a pesar de haber llegado fuera de tiempo por 3 minutos, me ha ido muy bien. Hay cosas que he de mejorar, además de entrenar de una manera más... constante, y es el tema de orientación. He nadado muchos más metros de lo que tocaba, pues me iba continuamente hacia la derecha, perdiendo mucho tiempo volviendo hacia donde estaban el resto de los nadadores.
El año que viene el objetivo es bajar de la hora, y con un poco de tiempo y entreno, y nadando en plan waterpolista, lo conseguiré.

