29 junio 2009

Cómo conseguir diccionarios para Eclipse Spelling con Aspell

Aquí explicaré una forma de conseguir diccionarios para luego incorporarlos al corrector ortográfico de Eclipse.

La configuración de dicho corrector se encuentra en Windows >> Preferences >> General >> Editors >> Text Editors >> Spelling como se muestra en este link donde también se describen brevemente las opciones.

El campo que nos interésa es User defined dictionary puesto que en este deberemos indicar la ruta al archivo diccionario que crearemos más abajo.

Eclipse toma como diccionario a cualquier tipo de archivo que ahí se le indique, del cual identificará las palabras como una secuencia de caracteres separadas por saltos de línea y/o espacios. Por lo tanto bastará con crear un archivo donde se listen todas las palabras del diccionario en cuestión separándolas por espacios y/o saltos de línea.
Hasta el momento no he conseguido encontrar alguna base a partir de la cual armar el listado, pero sí una solución provisoria que pasa por utilizar los diccionarios que usa Aspell.

Aspell es un corrector ortográfico que se puede usar como una aplicación autónoma o incluida en otros programas.

En un sistema linux (Ubuntu en este ejemplo) lo instalamos así,
sudo apt-get install aspell

Y luego debemos instalar los diccionarios de nuestro interés como el español en este ejemplo,
sudo apt-get install aspell-es


Luego, como los diccionarios de aspell no van 100% acorde a lo que requiere el Eclipse, vamos a instalar el mawk o gawk, basta con uno cualquiera. Estos son intérpretes del lenguaje de programación AWK.
AWK es útil para el tratamiento de archivos de datos, recuperación y tratamiento de texto, para lo que le daré uso a continuación.

Para crear un archivo con un diccionario pronto para importar en Eclipse debemos ejecutar lo siguiente:

aspell dump master es | awk -F/ '{print $1}' > dic_es.txt


El último paso consta simplemente de setear la ruta al archivo dic_es.txt en el campo User defined dictionary como se menciono anteriormente.

Nota:
Se debe reiniciar el Eclipse cada vez que se vuelva a setear la ruta del archivo diccionario.
Eclipse hace referencia a dicho archivo y no así lo registra, por lo cual debe prestarse atención al momento de definir su ubicación.



Explicando un poco la última linea:
  • aspell dump master es - Por si sola mostrará el diccionario 'es'. La falg master es la que permite elejir el diccionario a mostrar. Por más información de los comandos Aspell basta con ejecutar en consola 'info aspell'.
  • awk -F/ '{print $1}' - Lo que hace es tomar el diccionario aspell-es procesar cada lína de este delimitando las palabras mediante el signo '/' indicado por la flag -F (para tener más claro el por qué de ésto, sugiero ejecutar solo el comando aspell para ver la salida que genera). Luego lo parseado hasta el caracter delimitador es almacenado en la variable $1 que es impresa con el comando '{print &1}'. Así estas impresiones son almacenadas en el archivo dic_es.txt generando un diccionario limpio para utilizar en Eclipse.


Agregado 09/11/2010 (diccionario expandido):
Aquí tienen el comando para conseguir una lista de palabras mucho más completa que la que se explica previamente en el post. Esta, como podan probar, funciona correctamente y el archivo generado es soportado por el Eclipse pese a que es unas 20 veces más grande que pueden generar con la versión no extendida.
aspell -l es dump master | aspell -l es expand | sed "s/ /\n/g" > dic_es_expandido.txt


Comparando librerías de componentes JSF AJAX - JSFMatrix

JSF AJAX Component Library Feature Matrix es el nombre que lleva la tabla que encontraran en el sitio JSFMatrix, y noten que no digo 'una' sino 'la tabla'.
Como veran, en esta se comparan librerías de componentes JSF incluyendo también comenarios con soluciones y problemas que aplican a éstas además de algunos ejemplos y/o demos. Entre las librerías que se comparan encontramos Tomahawk y Trinidad de Apache, ICEfaces, RichFaces de JBoss, Woodstock de Glassfish, entre otras.


Para aquel que no sepa, JSF (Java Server Faces) es un framework de desarrollo basado en el patrón MVC (Modelo Vista Controlador) que busca simplificarnos la vida al desarrollar interfaces web de usuario en aplicaciones Java EE (Java Enterprise Edition).

A continuación dejo una serie de links, para quien quiera introducirse en el tema, empezando por el sitio oficial de JSF.


21 junio 2009

Codec de video y audio para Windows Vista: Vista Codec Package

Actualmente se da que mucha gente adquiere sus nuevos computadores con alguna versión del sistema operativo Windows Vista ya instalada.
Así pues si bien en el post Cómo reproducir cualquier formato de video fácilmente sugerí un paquete de codecs de video y audio que son compatibles con Vista, acá voy a mencionar otro paquete free que me ha resultado pero que esta pensado para Windows Vista. Igual cabe mencionar que es compatible con XP.

Este paquete es Vista Codec Package.



El mismo incluye codecs para los formatos: Quicktime, RealMedia, MPEG, FLV, SWF, WMV, FFDSHOW, Haali Media Splitter, Ogg, DivX, XviD, y demás.
En particular los codecs de RealMedia permiten que puedan reproducirse videos rmvb, como aquellos que se pueden descargar del blog de fanático (ver Enlaces Externos).

La última versión de Vista Codec Package se puede encontrar en el siguiente sitio http://shark007.net/vistacodecpackage.html junto con el link para descargalo. Al momento en que público este post, la versión es la 5.3.1, y se puede descargar directamente a través del siguiente link.


Claro esta que los codecs deben acompañarse de un buen reproductor que sepa hacer uso de estos, por lo cual vuelvo a recomendar el The KMPlayer.

12 junio 2009

Eclipse no detiene los servidores correctamente

Para las versiones de Eclipse Ganymede (3.4.x), al mandar a detenerse un servidor (simple Stop sobre el servidor en la perspectiva Servers), luego de un tiempo se mostraba un error notificando que el servidor no responde y así daba la impresión de que no se lograba detener.

Posiblemente este error puede conllevar a que el IDE muestre una ventana con el siguiente mensaje:
Server [JBoss v5.0 at localhost] is not responding. Do you want to terminate this server? Click Ok to terminate the server or click Cancel to continue waiting.

Claro esta que para este caso se había definido un runtime de servidor JBoss v5.

El problema en este caso particular era que la ruta con la que configuraba los runtimes (o Server Runtime Enviroments) era relativa. Esto se hacía a fin de hacer más portable dichas configuraciones pero hubo que restringirse a utilizar rutas absolutas para solucionarlo y seguir el paso, o salir de este.., como se prefiera decir.

Por si a caso estas, con demás configuración de los runtime definidos, se pueden editar/agregar/remover en la sección Windows >> Preferences >> Server >> Runtime Environments


También vale aclarar que el mensaje, como se puede apreciar, no da pie del error en cuestión y puede aplicar a otro problema. Por ejemplo que el time out, que se le dió al server creado para ese runtime, no sea tiempo suficiente para que este se detenga, e igual salta el mensaje aunque logre detenerse tarde o temprando.
Esto lo modifican en la sección Timeouts de la definición del servidor, digamos en el Overview; y no se esta haciendo referencia a la configuración del runtime, estas son cosas diferentes.

11 junio 2009

Error al iniciar JBossAS v5

La situación es la siguiente:
Estaba trabajando con Eclipse Ganymede 2 (3.4.2). En este configure runtimes para las versiones 5.0.0, 5.0.1 y 5.1.0 de JBoss Application Server (o simplemente JBossAS).
Todo normal pero sucedía que al momento de iniciar los servidores, indistintanmente de la versión, saltaba la siguiente excepción entre otras:

"...
17:10:57,000 WARN [AnnotationCreator] No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
17:10:57,125 WARN [AnnotationCreator] No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
17:10:57,156 ERROR [AbstractKernelController] Error installing to Instantiated: name=TransactionManager state=Described
java.lang.ExceptionInInitializerError: java.net.MalformedURLException: unknown protocol: e
at com.arjuna.ats.arjuna.common.arjPropertyManager.(arjPropertyManager.java:70)
..."

Por algún motivo que no encontré, se da este problema si la ruta donde ubicamos el servidor jboss contiene espacios. Si bien, estos al momento de correr el jboss se transforman a su caracterización '%20', el problema de operar con espacios persiste.

La solución entonces es ubicar el servidor bajo una ruta que NO contenga espacios

Como comentario, no he logrado reproducir dicho problema para la versión 4.2.x del JBossAS y por eso el título de la publicación.

Nro de visita Cantidad de visitas recibidas