Manifestación Informática 19N


Manifestación Informática 19N
Cargado originalmente por alberto.ipollo
Hoy era el día.

Mi opinión sobre la huelga era que había que hacerla, todos. Sobre todo, para curarnos en salud de lo que pueda pasar. Por mí, le quitaba las atribuciones a todo el mundo. Lo que no quiero es que al final le acaben dando las mías a otro. Y todo apunta a que el ninguneo que sufre nuestra carrera puede llevar a eso.

El balance ha sido mediocre. Me he encontrado con mucha gente que no veía desde la facultad, y eso es bueno porque quiere decir que desde las empresas nos hemos movilizado bastante. Pero, por otro lado, me han faltado estudiantes. Al no ser una huelga oficial ha habido gente que trabaja que no la ha podido secundar, así que mi esperanza era que se movilizase el colectivo de estudiantes.

De todas formas, es bueno ver que nos empezamos a mover, y que esto se ha repetido en toda España (basta con buscar en Flickr).

Es un pequeño paso para nosotros, a ver si es el comienzo de un buen camino.

Pondría una foto de las mías, pero ésta de Alberto es mucho mejor.

Posted by Juan Ignacio Sánchez Lara 19:26 Enlaces a esta entrada  



Problemas a la hora de la huelga

[Actualización 081112]: la respuesta por parte de un representante de UGT ha sido que los sindicatos no apoyan (ni apoyarán) la huelga por no existir un sindicato sectorial que agrupe a los informáticos. Por tanto, la vía que nos queda es formar asambleas de trabajadores afectados, votar, y realizar a la empresa la solicitud formal de la huelga. En la página de la huelga están los modelos para estos trámites. NO se necesita al comité de empresa y NO se necesita un 33% de la plantilla, los trabajadores tienen derecho a huelga a título individual. Los que estamos en empresas públicas llegamos tarde, deberíamos haberlo pedido con 10 días naturales (aún así lo estamos solicitando, para que al menos quede constancia). Los que estéis en empresas privadas estáis a tiempo todavía.

En mi empresa está circulando esta ayuda:

Desde el ITA estamos intentando apoyar la huelga, pero creo que la sensación general tanto aquí como en otras empresas es que no sabemos cómo hacerlo, resumo en este correo los problemas que estamos teniendo a la hora de irnos a la huelga y las soluciones que vemos.

El principal problema es que la huelga no está convocada por ningún sindicato, con lo cuál o presionamos a los sindicatos para que la convoquen o hay que convocarla en cada empresa por separado. Movilizando a los sindicatos mayoritarios la gente se podría adscribir a la huelga sin tener que estar montando tinglados en cada empresa por separado.

Las vías que tenemos son:

Movilización de los sindicatos
Movilizando a los sindicatos mayoritarios la gente se podría adscribir a la huelga sin tener que estar montando tinglados en cada empresa por separado.
Las vías que tenemos son:
- Presionar a los comités de empresa y secciones sindicales para que contacten con la delegación provincial de Valladolid (Unión provincial UGT Valladolid por ejemplo) para que convoquen la huelga al menos en Valladolid, con esto todos nos podríamos ir a la huelga sin tener que solicitarla.
- Otro frente son las sindicatos sectoriales, informáticos no tenemos en general, pero sí existe en el caso de UGT una Federación de servicios públicos en la que entraría la gente que trabaja en la administración (FSP), este sería otra vía de presión, que la gente que trabaja en la administración hable con sus secciones sindicales o comités y hablen con la delegación para que se convoque la huelga.
- Los colegios profesionales de informáticos deberían estar haciendo lo mismo, presionar, pero incluso a nivel nacional para que sea UGT-nacional, CCOO, etc,… la que convoque la huelga.

Por supuesto hablo de UGT pero porque es lo que me han comentado, lo mismo CCOO, CGT

Convocatoria de huelga en empresa
Si con lo anterior no conseguimos nada, la alternativa es convocarla en cada empresa, la convocatoria la puede hacer el comité de empresa o una asamblea de los trabajadores afectados con mayoría absoluta. Para convocar la huelga:
- Crear asamblea eligiendo a un presidente y secretario
- Celebrar votación secreta
- Si se aprueba por mayoría simple nombrar un comité de huelga.
- Reflejar en un acta el motivo de la asamblea, el resultado de la votación (resultado no hace falta los votos particulares) y el comité de huelga y que lo firmen presidente y secretario.
- Notificar a la empresa de la huelga (modelo de preaviso)
- Notificar a la delegación provincial de trabajo y a la delegación de gobierno. (modelos de comunicación de HUELGA)
Esto es para convocar la huelga, después la gente se puede adscribir a la huelga el mismo día sin aviso.


En resumen: que cada uno que reciba este correo haga dos tareas muy simples:
1.- Reenviarlo a la gente interesada. (por favor es independiente de que estés o no de acuerdo con hacer huelga).
2.- Con los que tenga al lado, que se junte y sin esperar más busque el teléfono de alguien de su comité de empresa y le pida que contacte con la delegación provincial para que convoquen la huelga. Si desde vuestro comité no son permeables al tema, intentad directamente contactar con la delegación provincial de UGT /CCOO/CGT o presentad un escrito al comité solicitándolo.

Iba a poner un tercer punto de contactar con colegio profesional (de Castilla y León) pero en Valladolid esto no está sirviendo para nada, sinceramente yo plantearía presentar un escrito al colegio para que devuelvan las cuotas que están cobrando porque no sabemos exactamente qué hacen con el dinero si en casos como estos no se mueven.

PD: la opinión aquí reflejada sobre el colegio de castilla y león se debe a dos cosas:
Consideramos que a falta de un sindicato sectorial, el Colegio es el que debería organizar este tipo de movimientos, encabezando manifestaciones y ayudando en trámites legales. Creemos que no sólo no han hecho nada (más que decir que la apoyan) sino que la respuesta dada a una consulta de un compañero es... pobre, por decirlo suavemente. En mi opinión, cuando escribes a alguien en un Colegio pidiendo ayuda para una huelga es algo serio, y prefiero que me digan que no me pueden ayudar a que contesten con chascarrillos. A título personal, perfecto. Pero cuando escribes a una asociación de lo que sea, no preguntas a la persona, sino al colectivo. Por ejemplo, pese a todo lo que se está moviendo estos días, en la página principal se ve que símplemente se hacen eco de lo resuelto en el Consejo de Colegios, sin decir ni proponer ninguna otra cosa (bueno, una tira cómica)

Posted by Juan Ignacio Sánchez Lara 7:33 Enlaces a esta entrada  



Mi opinión sobre el estado de la informática

[Actualización 0811081720: "Sobre la huelga"]
[Actualización 0811081742: enlace al blog de Enrique Barreiro]

Antes de nada, y como ya dije en otro lugar, esto que pongo aquí es, como siempre que hablo, IMHO :)

Estos días está habiendo un flame tremendo a cuenta de la regulación de informática, de telecomunicaciones, de las enseñanzas europeas, y de la huelga informática. No enlazo los temas anteriores porque si has llegado hasta aquí seguramente tengas en tu bandeja de entrada referencias por triplicado a ellos.

He puesto mi (micro) opinión en twitter y también he opinado en el blog de informática de un amiguete, pero he creído conveniente resumirlo aquí también. Me centraré en resumir mi opinión, porque rebatir argumentos ya lo he hecho en el otro blog (y es bastante aburrido).

Dos enlaces: Bolonia for dummies me ha sido de gran ayuda. Me parece un gran post: útil, con datos, perfectamente escrito, y objetivo. Otro fundamental es la explicación de Enrique Barreiro.

Sobre la regulación profesional
No me gusta la regulación, en casi nada de la vida. Creo en la autoregulación del mercado y de la sociedad en general. Creo que cuanto menos se entrometan los gobiernos en nuestra vida, mejor. Y creo en el reconocimiento personal, no colectivo.
Por esto mismo, no me gusta la regulación profesional. En mi opinión un título no demuestra nada. Yo quiero ser bueno en mi trabajo, y que eso me lleve a tener un buen puesto, un buen sueldo, y una buena vida en general. Mi vía para eso fue sacarme el título de Ingeniería Informática, pero estoy convencido de que no es la única. Hay gente no titulados, de módulos, titulados técnicos y titulados superiores de otras carreras (sí, también telecos) que son profesionales infinitamente mejores que yo: saben muchísimo más, son más productivos y más trabajadores. Y los hay peores: veo titulados que no llegan ni al nivel de un "usuario avanzado". Por tanto, el título no demuestra nada, y, por tanto, nadie debe estar obligado a contratar o no a alguien porque tenga un título. No nos engañemos: la regulación de atribuciones profesionales no da derechos, sino que impone obligaciones.
Toda regla tiene su excepción: no, no creo que nuestra carrera sea igual que la de un médico. Yo, cuando escribo código, no tengo constantemente la vida de nadie en mis manos. Es cierto que sí puedo diseñar sistemas críticos, en cuyo caso sí deberían ser exigibles todas las garantías posibles (y el título podría ser una de ellas), pero de ahí a compararme con un médico, ni de lejos. No soy médico porque ni me gusta ni creo valer para ello.

Sobre la intromisión profesional
Este es uno de los grandes llantos de nuestro sector. Distinguiré entre dos casos, la intromisión 'razonable' y la intromisión 'lamentable'.
Sobre la intromisión lamentable
La intromisión 'lamentable' es esa que se da en ciertas empresas carniceras en la que los jefes gestionan los programadores por peso, y les da igual que sea Ingeniero Superior en Informática con 10 años de experiencia que un Licenciado en Historia con un curso de Java (curiosamente a esos jefes "no les gusta programar", lo cual realmente significa que no tienen ni idea ni de programar ni de informática). Esas empresas merecen el máximo de mis desprecios, y me dan exactamente igual que se vayan a pique en el mayor de los estrépitos. Si eres un buen informático y estás haciendo un proyecto en una empresa en la que cogen a alguien que no tiene ni idea y le pagan tanto o más que a tí, ¿qué haces allí? Cambia de empresa. Creo que los informáticos, aunque cobremos más, salimos mucho más baratos. Y eso se tiene que demostrar a diario, con hechos, lo cual debería llevar a que esta intromisión lamentable desapareciese por selección natural: las empresas que pretendan sacar así los proyectos desaparecerán, y las que hagan lo contrario, prosperarán. Mirad, como siempre, a Google: contrata a los mejores y les da un buen salario y una buena vida. De ahí no puede salir nada malo.

PD: perdón a los Licenciados en Historia por ponerles como ejemplo, espero que comprendáis el argumento :). Y sí, seguro que hay alguno que es mejor informático que muchos, como digo arriba :).

Sobre la intromisión razonable
El hecho innegable es que hay mucha demanda de informáticos. Sí, estamos mal, pero aún así, laboralmente puede que seamos de las carreras con una mejor situación, pese a la crisis. No me cambio por algún amigo Ingeniero Químico, por muchas atribuciones profesionales que tengan.
La demanda es tal que la oferta no es suficiente (¿conocéis informáticos en paro?) y se necesitan más informáticos de los que lo son profesionalmente (módulos, técnicos y superiores). Aceptando este argumento, creo que es razonable que, salvo que prefiramos que no se hagan los proyectos, entren otros a hacer nuestro trabajo.
En esta intromisión, los que están mejor situados, por perfil, son los telecos. Apenas dan nada de informática en la carrera, pero sí hacen cosas, y su preparación les debe predisponer a aprender con cierta facilidad. Eso es así. ¿Dónde está el problema? El hecho es que se necesitan informáticos, ¿qué problema hay en que sean telecos? Si la persona es apta, inteligente, capaz, ¿por qué no? Otra cosa es que sea un perfecto inepto y encima le asciendan, claro. Pero ese es otro problema.

Sobre los telecos
Hace años me dijeron que teleco es una carrera diseñada a imagen y semejanza del perfil que Telefónica necesitaba hace tiempo, lo cual explica muchas cosas. Creo que el 90% los conocimientos que les imparten en la práctica ya no valen para nada. El perfil que se crea no tiene salidas profesionales ya, Telefónica dejó de demandarlo hace tiempo. Los amigos telecos que tengo están casi todos colocados por Madrid, en consultoras, de auditores o similar. Les cogieron por ser personas válidas, no por sus conocimientos. Parece que esto es suficiente para que muchos informáticos quieran condenarles al ostracismo, temerosos de que nos quiten el trabajo. No me malinterpretéis: creo que el teleco prototípico no puede ser comparado informáticamente con el informático prototípico. Pero eso es eso, estereotipos.
Pero también he visto lo contrario: telecos que no sólo son inteligentes y trabajadores, sino también buenos informáticos.
Todo esto me lleva a lo siguiente: Teleco es una carrera que necesita una reorientación, o desaparecer. Como hacerla desaparecer no es viable, veo normal que lo reorienten, mediante estas fichas académicas de Bolonia, hacia informática. "La sociedad necesita informáticos, formemos más". A mí, mientras no les den atribuciones profesionales que nos excluyan a los informáticos, me parece bien.

Sobre el reconocimiento profesional
El otro llanto habitual es lo mal reconocida que está nuestra carrera. Es cierto. La sociedad en general piensa que se informático es usar el Word, instalar Windows, y estar encerrado en el dormitorio chateando. Bueno. ¿Y qué? ¿Los jefes que nos pagan piensan eso? No. ¿Que el tuyo sí? Vete de esa empresa.
Demos la vuelta a esto, y hagamos algo de autocrítica:

  • A veces nos creemos semidioses. Nuestro título nos convierte en una esponja ávida de conocimientos, un Neo capaz de aprender en segundos cualquier cosa, nos da bula para descalificar a todos, nos concede el don de la infabilidad.
  • Ni nosotros valoramos la programación. Hace años escuchaba a un profesor hablar con desprecio de la salida profesional de programar, y ayer mismo me hablaban de un informático que se refería a los programadores como fracasados.
  • Seamos más exigentes con nosotros mismos. Nos pasamos el día despotricando sobre el trabajo de los demás ("puto Windows", "qué lento va el Eclipse", "qué mierda es J2EE"...) y no nos damos cuenta de lo mal que hacemos a veces nuestro trabajo ("bueno, lo cortapego y ya está", "así funciona, sé que está mal pero no lo toques"...).
  • Menos quejarnos, y más movimiento: ¿nuestro jefe teleco es un inepto que no nos deja trabajar correctamente? Hagamos propuestas, ofrezcamos alternativas, demostremos que se puede hacer mejor. O cambiemos de empresa. ¡O hagamos una!
Sobre la huelga
Supongo que después de lo expuesto aquí se esperará que esté en contra de ir a la huelga. Si dependiese exclusivamente de mí, la verdad es que no iría. Sin embargo, si el sector decide movilizarse, con los colegios encabezando la manifestación, creo que mi obligación es secundarla. Creo que el problema es algo sobre lo que hay que informarse y discutir. Mi conclusión, tras haberlo hecho, es que no hay razón para la alarma social, aunque sí hay motivos para estar descontento. ¿Justifica esto una huelga? No lo sé. Pero si la mayor parte del sector piensa que sí, y eso incluye a los colegios, creo que todos debemos apoyarlo. Los trapos sucios se lavan en casa, pero en la calle debemos ser uno. Individualmente puedo pensar que no hay motivo para una huelga, pero esa es una discusión que debemos mantener los informáticos. Sin embargo, si el colectivo piensa lo contrario que yo, creo que lo correcto es unirme. Si no hiciese esto sería como si me junto con un grupo de amigos para ir de vacaciones pero sólo voy si van donde yo quiero.

Conclusión
Sí, la situación actual es mejorable. Pero ni los telecos son el demonio, ni nosotros somos dioses, ni un título demuestra nada. Y la informática no es Medicina, yo puedo depurar mis fallos, un médico no puede resucitar. Si yo programo un brazo quirúrgico, que me exijan garantías, pero para hacer una aplicación web, que me dejen tranquilo. Bolonia no nos va a borrar el cerebro, ni va a hacer que nos despidan. A mí, con que no me quiten, con que no me excluyan, con que no pongan a otros porque sí en mi lugar, me vale. Si un teleco es mejor informático que yo, que le contraten a él. Sólo pido que nadie deba contratar a otro en vez que a mí porque lo diga una ley, y eso, a día de hoy, no va a ocurrir. Y si los informáticos somos mejores que otros, demostrémoslo. Manejemos las herramientas como nuestras propias manos. Conozcamos la industria y el estado de la tecnología. Abracemos los cambios y las novedades. Tengamos iniciativa y seamos exigentes con nosotros mismos.

IMHO, claro :)

PD: este post es, por su propia naturaleza, de los que no aportan nada: sólo es mi opinión. Lo único interesante que puede salir de él es una discusión (¡entendida como debate!), así que todo comentario será especialmente bienvenido.

Posted by Juan Ignacio Sánchez Lara 9:36 Enlaces a esta entrada  



Eclipse: el núcleo del entorno de desarrollo

[Actualización 081101: Maven2, JBoss Tools con Seam]
[Actualización 081102: TestNG]

Un programador debe programar. Se programa con el . Todo lo que le suponga a la persona salirse de él, va a ser trabajo adicional que no es bienvenido.
Sin embargo, en el entorno de desarrollo tenemos repositorio de código, gestor de tareas, servidores, bases de datos, sistemas de integración contínua... Todas esas herramientas tienen su utilidad, pero interesa controlar todo desde un único punto.
Además, probablemente tengamos a un señor con corbata empeñado en saber en qué emplean las horas los programadores, cómo van los proyectos... Tenemos que maximizar la información minimizando el trabajo de soporte.
Nuestro objetivo aquí es integrar el Eclipse con el resto de herramientas lo máximo posible. En este breve artículo hablaremos también de Mylyn, ese "interfaz orientado a tareas" que integra Ganymede.

Nos centraremos en la forma de integrar Eclipse con el resto de elementos del entorno, dejando las virtudes y defectos de cada uno en los enlaces sugeridos.

Subversion
Una de las razones para usar Subversion sobre CVS es que Ganymede integra soporte nativo para el mismo. Bueno, casi. Por un problema de licencias tendremos que instalar el plugin de Subversive y un conector SVN.
En los enlaces tenemos los update center que configurar en Eclipse para instalar todo. Partiendo del Eclipse J2EE no lo conseguí. Insisto en mi recomendación de comenzar con el Eclipse básico.
El trabajo diario de sincronización esencialmente es igual que con el CVS, así que no voy a profundizar más en esto.
// TODO: ¿cambios?

Trac
Para poder conectar el Trac como repositorio de tareas con Mylyn/Eclipse hay que hacer dos pasos adicionales.
Por un lado, tenemos que instalar el conector de Trac, que no viene en la distribución por defecto de Mylyn. En la página de descarga de Mylyn tenemos el update center de los extras.
Por otro, tenemos que instalar el plugin que permite acceder a Trac mediante xml rpc.
Hecho esto podremos configurar el repositorio de tareas del proyecto (propiedades del proyecto --> Repositorio de tareas --> Añadir nuevo repositorio). En la vista "Task list" (no confundir con la tradicional "Tasks" de TODOs y FIXMEs) tendremos los tickets. Si no te aparecen todos (como a mí), botón derecho sobre la vista --> new --> query, y sin filtrar te aparecerá.
Si quieres saber qué es Mylyn, echa un ojo al webminar. Realmente creo que es muy interesante, y que puede cambiar (¡y facilitar!) la forma de trabajar.
Desde el punto de vista de la integración con Trac, se puede tanto crear nuevas tareas/tickets como editar los existentes. Además, marcar una tarea como activa registra el tiempo empleado en ella. A aprenderse los atajos de Mylyn ;).
Hay cosas que todavía no están integradas como ambos, como el seguimiento de tareas, pero están en ello.

JBoss Server
JBoss, aparte de tener su propia versión de Eclipse, el JBoss Developer Studio (de pago, que yo creía que iban a redenominar Red Hat Developer Studio), libera un conjunto de plugins bajo la denominación JBoss Tools que puedes descargar.
Desde la vista "Servers" se pueden crear nuevos servidores. Hay conectores específicos para cada versión, que se autoconfiguran con indicar el directorio donde has descomprimido la distribución del servidor.

Seam
Seam es la niña bonita de JBoss en lo que a desarrollo Java empresarial en estos momentos, y JBoss Tools tiene soporte para ello. Para activarlo, en las propiedades de Eclipse, buscamos Seam y configuramos la ruta en la que nos hemos descargado el framework.

Google App Engine (PyDev)
La integración de Eclipse hacia el Google App Engine la conseguiremos a través de PyDev.
Una vez configurado el PyDev (consultar documentación), añadimos los módulos de Google App Engine para que funcione el autocompletar, entre otras cosas. Hay que meter en los módulos el directorio en el que hemos descomprimido el GAE, y los tres que hay dentro de lib (más información sobre configurar GAE en PyDev en otro blog).

También interesa ejecutar el servidor desde el entorno, especialmente para ver en la consola los mensajes. Creamos una nueva configuración de lanzamiento (Run --> Run Configurations... --> New --> Phython Run). Como módulo principal configuraremos la ruta al lanzamiento del servidor, "dev_appserver.py". En el PYTHONPATH estarán las de python y una de pydev (al menos con mi versión) Como argumentos, estos (el puerto es un ejemplo):
${project_loc}
--port=9999

MySQL
Descargamos el mysql java connector.
En la vista "Data Source Explorer" podemos definir una conexión a una base de datos. Con el botón "New Connection Profile" elegiremos "Generic JDBC", un nombre, y pondremos la siguiente configuración (ejemplo de acceso a mi base de datos de Amarok):
URL: jdbc:mysql://localhost:3306/amarok
Driver class: com.mysql.jdbc.Driver
Usuario y nombre de la base de datos.
Jar descargado del conector.

Hudson
Se está desarrollando un plugin para conectar Eclipse con Hudson, actualmente en su versión 1.0.4. Introduce una vista en la que se listan los builds, y un icono con el estado de los mismos.

Maven2
Hay un plugin de Maven2 para Eclipse. Al instalarlo me dí cuenta de que no estaba ejecutando Eclipse sobre el JDK de Sun, sino sobre otro JRE (requisito de Maven2). Para solucionarlo, sudo aptitude install sun-java6-jdk, y sudo update-alternatives --set java /usr/lib/jvm/java-6-sun/jre/bin/java.

TestNG
Hay un plugin de TestNG para Eclipse. Tras instalarlo basta con botón derecho --> Run As --> TestNG Suite sobre una prueba para ejecutarla.

Posted by Juan Ignacio Sánchez Lara 20:50 Enlaces a esta entrada  



Organizando un entorno de desarrollo libre

[Actualización 081101: Maven2]
[Actualización 081102: TestNG]

Como el movimiento se demuestra andando, he invertido unas cuantas horas en preparar un entorno de desarrollo. En los próximos meses tengo en mente hacer desarrollos en Google App Engine (Python) y también con Seam (J2EE), así que es un buen momento para para probar herramientas diversas. El objetivo es que, asumiendo los costes de instalación y de aprendizaje, el trabajo diario sea sencillo y completo, para lo cual es fundamental la integración de las herramientas.
Consta de los siguientes elementos principales:

Vayamos por partes, indicando brevemente la motivación y las referencias utilizadas.

Kubuntu
Usar GNU/Linux para desarrollo basado en herramientas libres es comodísimo y potente. La instalación de las herramientas viene soportada por APT, y mediante ficheros de configuración y módulos adicionales se puede hacer casi cualquier cosa. Lo he intentado en Windows y no me parece tan sencillo.
(K)Ubuntu porque es amigable con el usuario a la vez que tiene lo bueno de Debian (¡APT!), y no requiere compilar todo como Gentoo. Además, hay muchísima documentación actualizada. Y Kubuntu en vez de Ubuntu porque soy de KDE.

Instalarlo habría sido trivial si no me hubiese empeñado en usar el FakeRAID de la placa (ya que lo pagas...). Seguí las fantásticas instrucciones para instalar Linux Ubuntu 8.04 sobre un FakeRAID que ha compartido Vicente Navarro y no hubo mayor problema.

Repositorio Subversion
En las últimas semanas he sufrido un número ingente de conflictos entre ramas de un proyecto en el que trabajo con CVS, y quiero saber si Subversion ha mejorado algo esto. Aparte de CVS y SVN hay otros muchos SCMs, pero no he querido complicarme más para que el resto de herramientas (Eclipse, Hudson, Trac...) se puedan conectar a él sin problemas.
Apt-get, un poco de configuración en un par de ficheros, y tienes tu servidor SVN montado. Utilicé una guía de SVN en Ubuntu en castellano, y otra en inglés para rellenar los huecos de autenticación de la primera.

Trac
Buscando gestores de incidencias libres los más habituales parecen ser Trac y Bugzilla. Éste segundo tiene fama de monstruoso y complejo de administrar, lo cual no era opción en mi entorno. Trac, por el contrario, es sencillo, lo voy a poder conectar con Eclipse, se conecta al SVN, integra un wiki, es extensible mediante plugins...
Para instalarlo lo obtenemos con apt-get y seguimos la guía de instalación.

JBoss Server 4.2
El desarrollo Java pretendo hacerlo con Seam, que es de JBoss, así que me parece la elección más cómoda. Ya he sufrido el SJSAS/Glassfish, que no tiene por qué ser un mal servidor, pero no lo tienen en cuenta al documentar las librerías, y quiero probar otras cosas. JBoss Server es un servidor completo y con soporte profesional en caso de necesitarlo. Contiene a Tomcat como servidor web. Hice una prueba rápida con Seam en la versión 5 pero el despliegue fallaba, así que he preferido mantenerme en la 4.2, más contrastada.
Tampoco lo he encontrado en repositorios APT, así que a bajarlo a mano. Como pretendo usarlo de desarrollo, lanzado desde Eclipse, ni me molesto en crear el servicio.

Google App Engine
Acostumbrado a J2EE, probar Google App Engine me parece muy interesante para dejar de elegir Java por defecto. Desde que pasé de PHP a Struts no había usado lenguajes de script para desarrollo web.
Todo lo que necesitas saber para comenzar está en el tutorial básico.

MySQL
Profesionalmente siempre había usado Oracle. Al elegir una base de datos libre la elección sencilla es MySQL.
Tanto el cliente como el servidor están en APT, así que la instalación es sencilla.

Eclipse
No hay mucho que decir. No dudo que haya otros también muy buenos, pero Eclipse es el IDE de referencia. Como con SVN o Trac además, no sólo lo elijo por él en sí mismo, sino por su extensibilidad y conectividad.

La última versión es Ganymede. No está en ningún repositorio APT todavía, así que hay que instalarlo tradicionalmente. Inicialmente bajé el paquete J2EE, pero después aparecían problemas de compatibilidad de paquetes de plugins, así que mejor bajar el "clásico" y luego añadirle lo que sea.

Mylyn
Mylyn es una parte de Eclipse que favorece el desarrollo orientado a tareas. Integra en una vista las tareas asignadas, lleva conteo del tiempo empleado, asocia a cada tarea un contexto (para abrir los ficheros interesantes en cada momento) y un largo etcétera. Es algo que puede cambiar la forma de trabajar (¡para bien!). Igual que el Lightroom favorece el flujo de trabajo de un fotógrafo, Mylyn lo hace del programador.
Viene de serie con Ganymede, así que no hay más que hablar.

PyDev
Llevo años con Eclipse y probablemente me quedan unos cuantos más, así que quiero seguir usando ese entorno para programar también en Python. PyDev es el plugin de referencia, y para quien quiera pagar por más, tienen una extensión al mismo.

Hudson
Tras documentarme y ver que no hay uno realmente dominante en el mercado, y que ninguno "lo tiene todo", utilicé esta matriz comparativa de sistemas de integración contínua para elegir el más adecuado. Los más comentados, Cruise Control y Continuum, los descarté por no soportar Trac. Hasta donde sé el tercero en discordia entre los libres es Hudson, que sí tenía todo lo que necesitaba (y también extensible mediante plugins), así que es el elegido. En el libro Java Power Tools (una interesante referencia de herramientas actuales) revisan esos tres junto a LuntBuild.
La "instalación" de Hudson consiste en bajarse el war y ejecutarlo con java -jar hudson.war --httpPort=7777.

Maven
Maven es una herramienta para gestionar varios aspectos de un proyecto: dependencias, compilación, documentación... Se podría ver como un recubriento de Ant orientado a proyectos.
Aparte de las ventajas directas de usarlo, se produce un efecto colateral: el despliegue en un sistema de integración contínua de un proyecto configurado para Maven es trivial (si el sistema de IC lo soporta, claro).
En Kubuntu, con un sudo aptitude install maven2 ya tenemos la herramienta instalada.

TestNG
TestNG es un framework de pruebas que pretende cubrir limitaciones de JUnit a la vez que hacerlo más sencillo. Lo que es más imperioso en nuestro caso, es el framework de pruebas hacia el que está orientado Seam, por lo que será el que usemos.

En próximas entregas, la integración entre ellos.

Posted by Juan Ignacio Sánchez Lara 20:01 Enlaces a esta entrada  



Kubuntu 8.10: Todavía no, pero casi...

A mí me encanta GNU/Linux. Me resulta una plataforma completa, personalizable, potente y estable, tanto para trabajo, servidor, o casa. Pero claro, yo soy informático y mi perfil no es el mismo que el de mis padres o mis amigos.
Periódicamente, normalemente coincidiendo con nuevas versiones de las distribuciones más populares, vuelvo a hacerme la misma pregunta: "¿Está GNU/Linux listo para el escritorio?"
En junio instalé Kubuntu y desde entonces pensé que "casi" estaba. Lo único complicado que he tenido que hacer para que funcionase todo fue seguir unas instrucciones para instalar el FakeRAID en Ubuntu, pero bueno, un usuario medio tampoco se para en RAIDs.
Hace un par de días actualicé a Intrepid Ibex, la versión 8.10. En estos momentos todo va sobre ruedas, pero desde que comencé la actualización me topé con un par de problemas que no habrían sido admisibles para un usuario medio:

  • Durante la instalación se pide intervención del usuario por conflictos en ficheros de actualización. Se muestra un diálogo con la salida de diff, y se espera que el usuario sea capaz de decidir correctamente. Vale, my.cnf y apache2.conf no son ficheros que habría tenido un usuario medio, pero sí la configuración de alsa-base.
  • Al reiniciar, no funcionaban las X. Tras buscar ví que estaba cargando un kernel incorrecto, para el cual los drivers no estaban actualizados. No sé si durante la instalación hice algo mal para que el menu.lst de grub no se hubiese actualizado, pero tuve que editarlo a mano para meter la entrada del nuevo kernel.
Yo, personalmente, estoy muy contento con Kubuntu y estos problemas, para mí, me parecen admisibles, pero pienso en la cara de mis padres o amigos si tras actualizar les saliese un pantallazo negro del terminal, y sé que en ese momento GNU/Linux habría muerto para ellos.
En GNU/Linux ya se ha llegado al punto de que cuando todo va bien, un usuario normal no tiene ningún problema (como la madre de converso72), que no es poco. Navegar por internet, usar la red, abrir ficheros de Office... Todo funciona.
En mi opinión, ya está cubierta el 90% de la funcionalidad. El problema seguramente sea que el 10% restante es bastante más de el 10% de trabajo, y mucho menos vistoso:
  • Hacer el entorno más tolerante a fallos y errores humanos. Las X son básicas. Por ejemplo, símplemente que en caso de error tome el fichero failsafe sería un buen avance.
  • Automatización de las configuraciones. KDE4 tiene procesos para actualizar los ficheros de usuario de KDE3. Esa es la línea. Todos los programas que utilicen ficheros de configuración deberían hacerlo automáticamente.
Un usuario nunca tendría que necesitar tocar un fichero de configuración. El día que eso ocurra, GNU/Linux estará listo.

Posted by Juan Ignacio Sánchez Lara 10:18 Enlaces a esta entrada