Monthly Archives: July 2007

You are browsing the site archives by month.

Estudiantes de doctorado

No hace mucho me pensé si seguir estudiando (ya que, si todo va según lo planeado, en mes y medio seré ingeniero, de los de verdad, no perito) y realizar un doctorado o no. Después de mirar un poco cómo iba la cosa y cómo estaba el panorama en España llegué a la conclusión que era una buena manera de perder 5 años de tu vida cobrando una mierda, sin cotizar ni similares, para luego obtener un título que en este país no vale absolutamente nada y en dicho periodo habrías aprendido lo mismo que aprenderías trabajando con interés y/o investigando por tu propia cuenta. ¿Hacerlo por orgullo propio y poder chulear de ser doctor? es la razón más lógica que le veo. ¿Hacerlo porque no quieres/te da miedo avanzar y decir adiós a la vida de estudiante?, sería otra explicación, si.
 
En definitiva, no lo haré, al menos hasta que encuentre una razón lógica que me haga cambiar de opinión (este dilema, me sugiere un cierto paralelismo con el lío mac’s y tal, jajaja). Este royo lo describen más enfáticamente estos dos clips de Los Simpsons (que por cierto, ¡que triste la película!)

Siento la ausencia de posts, estoy todos los días currando sin parar en el puto pfc.

Convertir imágenes a formato eps

El formato postScript encapsulado, eps, es el mejor formato para usar en LATEX, debido a que contiene información sobre el bounding box de la imagen. Programas como gimp o similares tienen la posibilidad de guardar las imágenes en .eps, pero para qué usarlos cuando podemos convertirlas simplemente así:

$ convert Imagen_del_formato_que_sea imagen.eps

Ele, lista para usar en LATEX.

Desafortunada colocación de anuncios

Un anuncio depende bastante del entorno, y sino que se lo digan a los de esta página.
Sin duda me quedo con el siguiente

a84_a8.jpg

ps: Llevo un mes de locos con el pfc, iba mal de tiempo y éste se ha reducido a la mitad porque tengo que tener terminada parte de la memoria un mes antes de los previsto, siento la inactividad de bicosyes. Mejores momentos llegarán… (cuando lo entregue y mande a tomar por culo la universidad, por ejemplo).

Lack of luck

The only thing that overcomes hard luck is hard work

Harry Golden US journalist (1902 – 1981)

Aunque me gustaría saber cual es el factor ponderante entre ambos.

Avatares made in Springfield

En la página oficial de la próxima película de los Simpsons, hay un editor de avatares bastante completo para crearte tu propio personaje del universo Springfield. Bastante chulo, aquí un servidor

simpsons.jpg

Vía las penas del Agente Smith y su avatar. ¿Y el tuyo, cómo es?

Simple Google Web Toolkit plugin for Maven2

GWT es un toolkit que te permite programar interfaces web mediante Java, que luego son compiladas para producir html, javascript y css. Como toda aplicación Java, hay que tener preparado algún método para empaquetar y distribuir dicha aplicación. La mejor alternativa actualmente es Maven, como expliqué en un post anterior. Maven se integra perfectamente cuando desarrollas una aplicación web en Java, permitiéndote crear archivos war listos para ser instalados en cualquier contenedor de servlets fácilmente.
 
Actualmente existen plugins para maven para poder usar con él GWT, pero como uno de ellos es demasiado complejo (o eso dicen, no lo he usado), otro es demasiado simple, y tenía ganas, me hice mi propio plugin, para que haga lo que en mi opinión debería de hacer un puñetero plugin de GWT para maven.
 
Primero, características del mismo, qué narices hace, y para qué sirve

  • Compila usando una instalación de GWT local
  • Independiente de la versión de GWT (esto es importante, el plugin “simple”, no lo era)
  • Elimina clases java de la parte cliente innecesarias, puesto que éstas son compiladas por GWT, por lo tanto no deben de ser añadidas al war final puesto que nunca van a ser usadas. ¿Cómo se hace esto? Se borran todos los ficheros de la parte cliente excepto aquellos directorios llamados common.
  • Mueve los ficheros compilados por GWT a la carpeta raíz de la aplicación web (¿por qué hacer esto?, bicosyes, y porque así no tenemos urls tipo /com.mycompany.myApp/myApp.html, sino /myApp.html como debe ser)

Vale, y ¿qué se puede configurar?

  • Directorio de GWT, por defecto /opt/gwt
  • Sistema operativo, por defecto linux
  • Borrar clases java de gwt, si o no
  • Mover ficheros compilados de gwt, si o no

¿Cómo puedo usarlo en mi pom.xml?

<plugin>
		<!-- GWT compiling -->
		<groupId>com.bicosyes</groupId>
		<artifactId>simple-gwt</artifactId>
		<version>0.1</version>
		<configuration>
				<gwtHome>/opt/gwt</gwtHome>
				<os>linux</os>
				<modules>
						<module>com.bicosyes.HolaMundoWeb</module>
				</modules>
				<move>true</move>
				<delete>true</delete>
		</configuration>			
		<executions>
				<execution>
						<id>Compile gwt</id>
						<phase>compile</phase>
						<goals><goal>gwt</goal></goals>
				</execution>
				<execution>
						<id>Cleaning gwt stuff</id>
						<phase>process-classes</phase>
						<goals><goal>gwtClean</goal></goals>
				</execution>				
		</executions>
</plugin>

En este caso, las opciones gwtHome y os se podrían omitir, puesto que se tomarían esos valores por defecto. Respecto a la acción de borrar clases, como he comentado brevemente antes, se borrarán todos los archivos de la carpeta client/ del modulo gwt, excepto las carpetas con el nombre common, ¿por qué hacerlo de esta forma?, pues porque la parte server de la aplicación necesitará incluir en su código clases de la parte cliente, una solución sería duplicar estas clases (o en un SO decente usar enlaces simbólicos, ln -s) y otra sería crear un paquete common dentro de client, al cual se hará referencia desde las clases del servidor. ¿Por qué usar common como nombre?, ¿por qué no?, principalmente porque se me ocurrió así de primeras y encima luego se lo vi usar a uno de IBM en un artículo, así que no debe de ser una solución tan mala.
 
Vale, ahora ya solo queda saber cómo instalarnos el plugin, pues dos formas tenemos, ambas muy sencillas

  • Opción 1
    $ svn checkout http://svn.bicosyes.com/SimpleGWTmvn/simple-gwt
    $ cd simple-gwt/
    $ mvn install
  • Opción 2
    $ wget http://bicosyes.com/code/simple-gwt-0.1.jar
    $ mvn install:install-file \
             -Dfile=simple-gwt-0.1.jar \
             -DgroupId=com.bicosyes \ 
             -DartifactId=simple-gwt \
             -Dversion=0.1 \
             -Dpackaging=maven-plugin \
             -DgeneratePom=true \
             -DcreateChecksum=true

Por supuesto, animo a cualquiera que quiera, coger y modificar el código para añadir funcionalidad, es realmente simple hacer plugins para maven, y el código es bastante corto y comprensible. Cuando tenga tiempo (es decir, cuando me salga de las narices) tengo pensado añadir alguna funcionalidad más, he aquí la lista:

  • Crear (o completar si existe ya) el web.xml con las definiciones de los servlets y mapeos de los mismos a partir del fichero definición de los modulos de gwt
  • Permitir configurar los directorios donde puede haber clases que necesite el servidor (para lo de borrar y tal)