lunes, 22 de octubre de 2012

Tuxera NTFS en Mac OS X Mountain Lion

Existe un problema de compatibilidad entre el programa Tuxera NTFS (yo estoy usando la versión 2012.3.3), útil para escribir en unidades NTFS, y el sistema operativo Mac OS X Mountain Lion. Este problema se manifiesta en un empeoramiento notable del rendimiento, en especial durante bastante tiempo de cada arranque del computador.

Después de mucho averiguar y de incluso reinstalar el sistema operativo, he dado con la clave del problema. Lo he tenido que descubrir por mi cuenta porque no he visto ninguna página de Internet que me haya ayudado.

El problema consiste en que la utilidad Spotlight, integrada en el sistema operativo, al realizar su búsqueda rutinaria de nuevos elementos en todas las ubicaciones disponibles, se "topa" con alguna unidad en formato NTFS. Esta lectura/escritura sobre dicha unidad, que al estar activada la herramienta Tuxera NTFS es de formato Tuxera NTFS, proporciona mucha latencia y alto consumo de CPU. En mi caso, aunque no tuviera ningún pendrive ni disco duro externo conectado, siempre tenía la partición de mi sistema Bootcamp, luego el arranque siempre era lento.

Posible solución: incluir como excepción la/s unidad/es en formato NTFS a Spotlight, para que no busque en la/s misma/s. Para ello, ir a "Preferencias del Sistema","Spotlight", "Privacidad", Botón "+" y reiniciar. Eso debería bastar.

Ver este enlace.

martes, 21 de agosto de 2012

JavaFX en MacOS X con Eclipse y Netbeans

JavaFX viene incluido de serie en Java SE desde hace ya un tiempo, no obstante para Mac OS X no lo han incluido hasta el pasado mes de junio. De hecho, ahora Java no se instala desde las actualizaciones automáticas de software de Mac OS X, sino que puede instalarse, por fin, desde la web de Oracle. Digo por fin, porque las actualizaciones de Mac OS X siempre estaban ancladas en versiones de Java más antiguas y no han progresado nunca a la versión 7.

Lo que se describe aquí ha sido probado con Mac OS X Mountain Lion (10.8).

Pasos para programar con JavaFX usando Netbeans:
  1. Fácil, ir a la web de Oracle Java, descargar la última versión, la cual incluye JavaFX (en el momento de escribir estas líneas, la versión actual es la Java SE 7 Update 6).
  2. Hacer predeterminado el nuevo entorno de ejecución de Java instalado, para ello hacer doble clic en el archivo /Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk  (o la versión que sea).
  3. Arrastrar el nuevo JDK en primer lugar de la lista. Cerrar la ventana.
  4. Descargar e instalar la versión 7.2 o superior de Netbeans (versiones anteriores no soportan JavaFX en Mac OS X).
  5. Crear un proyecto JavaFX Application desde Netbeans. La primera vez que se crea un proyecto de tipo JavaFX se configura el entorno de ejecución. Listo.
Pasos para programar con JavaFX usando Eclipse:
  1. Para usar Eclipse hacen falta algunos pasos más. En primer lugar, descargar e instalar la última versión de Java para Mac OS X de la web de Oracle, como para Netbeans.
  2. Hacer predeterminado el nuevo entorno de ejecución de Java instalado, para ello hacer doble clic en el archivo /Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk  (o la versión que sea).
  3. Arrastrar el nuevo JDK en primer lugar de la lista. Cerrar la ventana.
  4. Instalar el plugin E(fx)clipse en Eclipse, añadiendo este repositorio al Update Manager de Eclipse, tal como se indica aquí.
  5. Tras reiniciar Eclipse, crear un nuevo proyecto de tipo "JavaFX Project".
  6. Si en el apartado JRE no aparece la nueva versión de Java instalada anteriormente, hacer clic en "Configure JREs", pinchar en "Add...".
  7. En JRE home escribir /Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home (o el de la versión que sea). Dadle un nombre al JRE y pinchar en Finish, OK y continuar normalmente con la creación del proyecto JavaFX. Listo. 

sábado, 31 de marzo de 2012

Rendimiento de lenguajes de programación

Cada lenguaje de programación es más útil o menos según lo que queramos programar. No obstante, en términos generales, se puede evaluar si los programas implementados con un lenguaje ejecutan más rápidamente que los implementados con otro lenguaje. En esta página se analiza un buen conjunto de lenguajes y su rendimiento en diversos contextos. En este artículo se analiza el rendimiento de seis de los lenguajes más usados para su aplicación en bioinformática. Yo utilizo fundamentalmente Java, pero para operaciones intensivas de fácil implementación lo suyo es C (aunque sin hilos desmerece, habría que usar OpenMP y utilizar la GPU). Python es un lenguaje muy muy interesante por su versatilidad y facilidad, pero es, junto a Perl, de los más lentos. De hecho, para Python, al igual que para Java y Perl, existen librerías específicas para bioinformática.