Buscar
Social
Ofertas laborales ES
lunes
sep272010

Oracle realizará el cambio de la propiedad vendor en el JDK7



Y lo hará de modo inminente, tanto en las nuevas releases binarias como de código fuente del OpenJDK. Hasta ahora, las propiedades de los JDK eran:

 

java.vendor = Sun Microsystems Inc. 
java.vendor.url = http://java.sun.com/ 
java.vm.vendor = Sun Microsystems Inc. 
java.specification.vendor = Sun Microsystems Inc. 
java.vm.specification.vendor = Sun Microsystems Inc.

 


Pero en breve serán:

 

java.vendor = Oracle Corporation 
java.vendor.url = http://java.oracle.com/ 
java.vm.vendor = Oracle Corporation 
java.specification.vendor = Oracle Corporation 
java.vm.specification.vendor = Oracle Corporation


En Windows, todas las DLL y EXE que forman parte del JDK también cambiarán la propiedad "COMPANY" para ser consistentes con java.vendor.


Recientemente, Oracle había realizado este cambio en el JDK 6 Update 21, lo cual hizo que varias aplicaciones rompiesen (siendo el propio Eclipse el caso más sonado). Por ello Oracle deshizo el cambio y volvió a publicar una segunda versión del JDK 6 Update 21 donde Sun Microsystems seguía siendo el vendedor. Y así parece que seguirá siendo en todas las versiones del JDK 6, pero (como era de esperar) a partir de prácticamente ya no será así en el JDK 7.

sábado
sep252010

Publicada la versión 0.3 de jgrial

Hola a todos de nueva cuenta!

En esta ocasión pongo a su disposición la librería jgrial v. 0.3, la cual sirve para grafficar grandes cantitades de datos. Por el momento solo está limitada a graficar en 2D, pero posee ya una funcionalidad bastante aceptable para amnipular el gráfico y sus propiedades en tiempo real.

El uso de OpenGL se realiza a través de la librería jogl.

Las principales ventajas de jgrial son:

  • Librería para graficación vía OpenGL 100% Java utilizando la librería jogl para el binding entre java y opengl.
  • Uso de componentes Swing para mostrar las gráficas.
  • Permite interacción y modificación de las propiedades de la gráfica en tiempo real.
  • Buen desempeño al graficar grandes volúmenes de datos.
  • Evita al desarrollador el uso directo de OpenGL ya que todo se realiza a base de clases y objetos Java.

Anteriormente ya habia posteado una noticia donde mostraba un primer intento de lo que buscaba realizar. En este tiempo, me he puesto a desarrollar la librería, documentarla, publicarla y de paso cambiarle el nombre ya que en algunas búsquedas sobre google, encontré que ya existe algo con el nombre "gschart".

Podeis descargarla desde la página del proyecto, que está alojado en sourceforge.

La única pega que tiene por el momento es que al tener grandes cantidades de puntos visibles el rendimiento decae cuando se pintan sus coordenadas ya que el método que utilizo para renderizar texto vía OpenGL no es el más óptimo.

Actualmente estoy trabajando en la implementación 3D así como experimentando otras opciones que ayuden a acelerar y mejorar el renderizado de texto en la gráfica.

Espero vuestros comentarios y sugerencias, y si os animais a aportar y/o ser parte del proyecto, ya sabes que sois bienvenidos.

Saludos!

jueves
sep232010

Evento MOSKittDay/EclipseDay. Conselleria de Infraestructuras y Transportes de Valencia

La Conselleria de Infraestructuras y Transportes CIT)de la Comunidad Valenciana está organizando la tercera edición del MOSKittDay en Valencia los próximos 29 y 30 de Noviembre. Al igual que en anteriores ocaciones, se celebrará conjuntamente con un EclipseDay.

La CIT es miembro de la Fundación Eclipse y lidera el proyecto MOSKitt para el desarrollo de una herramienta CASE libre basada en Eclipse.

El evento MOSKittDay tiene como objetivo dar a conocer el proyecto MOSKitt con una doble finalidad, por un lado promover la colaboración con otras organizaciones públicas y privadas. Por otro, la CIT está interesada en dar a conocer la herramienta MOSkitt a potenciales usuarios fuera de los límites de la propia Conselleria. MOSkitt es una herramienta CASE LIBRE desarrollada sobre Eclipse que da soporte a gvMétrica (una Metodología de Desarrollo definida por la CIT).

Al mismo tiempo, y a través de las charlas y tutoriales técnicos que allí se impartirán se quiere alcanzar el objetivo para el cual la Fundación Eclipse creó el evento EclipseDay, poner en contacto a la comunidad española de usuarios y desarrolladores. El tema que principalmente se tratará en MOSKittDay es el del modelado, metodologías y el desarrollo dirigido por modelos, no obstante cualquier otro tema relacionado con Eclipse tiene cabida en el evento. Los perfiles de los asistentes puede ser muy diverso: académico, institucional, empresarial, etc...

 

Esta edición se diferencia de las anteriores en que se va a dedicar un día más exclusivamente a la celebración de seminarios técnicos. Se quiere co ello facilitar a los asistentes el acercamiento a la herramienta, tanto a la tecnología que la envuelve, como al uso que de ella pueden hacer los usuarios en a sus desarrollos informáticos.

 

Queda abierto cualquier tipo de participación: ponencias, patrocinio, asistencia etc... a cualquiera de los dos eventos.
Todos aquellos interesados se pueden poner en contacto con la organización, bien, a través de,
la siguiente dirección de correo : moskittday@moskitt.org .


Pueden enviarse las propuestas también a la lista de distribución: https://dev.eclipse.org/mailman/listinfo/spain-ec

jueves
sep232010

Javaone2010: Comentarios sobre J2SE{7,8}, OpenJDK...

Recién llegado del Appreciation Event (donde, entre otros, han actuado los Black Eyed Peas -espectacular Bom, Bom, Pow-), lo primero que se me ocurre es... ¡contar algunas impresiones de las últimas sesiones! Estoy convencido de que alguna de las cervezas consumidas contribuye a esta extraña decisión ;)

J2SE: ya sabéis por dónde van los tiros: J2SE7 para 2011 (mediados) y J2SE8 para finales del año siguiente. J2SE es una versión evolutiva, pero que incorpora muchos cambios para hacer más fácil la vida al programador.

Del proyecto Coin (J2SE7) es curioso cómo el operador "diamante" (aka "<>", que nos permite obviar el tipo -de una clase genérica- en el RHS de una asignación cuando ya está parametrizado el del LHS) ha sido de los más complicados de implementar. Al parecer, el algoritmo de inferencia de tipos (target typing) es todo menos trivial, y ha sido determinado ¡experimentalmente! Habrá algunos casos puntuales donde se limite la inferencia de tipos, porque el actual algoritmo no cubre el 100% de los casos. Otras mejoras son los nuevos literales, absolutamente fantásticos (expresar un número como 100_000_000_000 o en bin/hex/oct con igual facilidad), o el catch múltiple (por fin no más c&p -yo no lo hago- en los catch).

Me gusta el try-with-resources, que permite autogestionar la liberación de recursos que implementen el interfaz AutoCloseable (que en las librerías implementarán I/O, Sockets y JDBC, IIRC), de forma que sea trivial escribir código sin fallos (como ejercicio para el lector, invito a que alguien postee un código *correcto* para copiar un fichero; aviso: no es nada sencillo escribir un código absolutamente correcto, invitados estáis a postearlos). Echo en falta, sin embargo, y por lo que pregunté expresamente, un mejor soporte de enums, como por ejemplo herencia y composición que sea sencilla de hacer. La respuesta fue que no hay planes, pero que lo plantee en las listas correspondientes. OK, habrá que pensar en ello.

Ya en el mundo J2SE8, destaca para mí Jigsaw, la modularización en el mundo Java. La eliminación del classpath y la gestión de dependencias. Aquí, pocas novedades con respecto a lo que ya sabíamos y se contó en la JavaOne del año pasado, con la excepción del soporte de repos mvn como repositorios de "módulos" java para resolver las dependencias de un programa. Sin embargo, me sorprendió que hubiera poca (ninguna) información (y también pregunté por ello, aunque las respuestas fueron vagas) sobre la modularización de la propia JVM (me corrijo: del JRE): qué módulos va a tener, cuánto van a pesar y, en esencia, en cuánto se va a aligerar la JVM. Quiero saber si finalmente para cosas que no usen GUI, ni sonido, ni CORBA podemos tener un JRE ligero, de arranque muy rápido y que sea razonable de embeber, si se precisa. Pero habrá que esperar para saberlo. Curioso también que los módulos de java van a ser limitados con respecto a otros sistemas de paquetes, y aún debaten si va a existir un módulo virtual: aquél que no provee una funcionalidad directamente, sino que otros paquetes la proveerán; esto entronca mucho con paquetes de sólo interfaces, pero es algo que aún no está precisado.

También para J2SE8 se encamina el proyecto lambda. A mí me parece espectacular. No por la sintaxis en sí (que me da más o menos igual), sino por el concepto bajo el cual lo han vestido: máxima concurrencia y aprovechamiento de los recursos (cores, CPUs) por el hecho de internalizar las operaciones sobre colecciones (no se hacen en bucles for, sino mediante métodos como filter o map), de forma que la implementación determina cómo hacerlo, y puede fácilmente paralelizarse sobre todos los cores de la máquina. Ello, junto con las famosas lambdas y la inferencia de tipos, van a permitir mucha potencia con poca sintaxis.

Ahora bien, para realizar estas nuevas operaciones sobre colecciones, se requieren ampliar los actuales interfaces de Collection pero... ¡esto no se debe hacer! ¡Romperían todo el código actual! Se van a introducir un concepto en los interfaces que son los métodos por defecto, que si no se implementan, el interfaz define a qué método estático de una clase llama. La solución parece muy elegante e interesante, incluso para nuestro propio uso, pero reabre un viejo e interesante debate, la herencia múltiple. ¿Qué sucederá, entonces, si dos interfaces definen un mismo método por defecto? La respuesta, todavía no está lista...

Más. Sobre OpenJDK. Estuve en el BOF y pregunté algo que muchos seguro os preguntáis: pero entonces, ¿es ya usable OpenJDK? ¿Es mejor o peor que el de Sun (perdón, Oracle)? ¿Está listo para producción? La respuesta (resumida, la real fueron casi 5 minutos) es muy simple: Oracle JDK es 98% OpenJDK, y el 2% restante son cosas que muy raramente se usan. Así que podemos hacer ya s/Oracle JDK/OpenJDK/. La única diferencia es que OpenJDK requiere para muchas distros IcedTea para hacer el bootstrapping de la compilación, pero eso es todo. Interesante, por otra parte, que OpenJDK va a ir recibiendo contribuciones de JRockit, y poco a poco se va ir portando código para soportar Mission Control.

Poco más, seguiremos informando desde este gélido SFO (sí hace fresquito...)

miércoles
sep222010

Capítulo 5 de BonillaTV: Día 2 de la javaOne

Hola a todos,

Quería anunciar que ya está online el capítulo 5 de BonillaTV donde podreís ver en vivo a Erick Camacho y muchas cosas más.

YouTube nos ha jugado una mala pasada y puede que alguno de vosotros os encontrarais con algún link roto en el blog así que publicamos este anuncio para que sepais que estamos en el aire (mientras Google nos deje).

Podreís encontrar el capítulo aqui:

http://sixservix.com/blog/david/2010/09/22/bonillatv-capitulo-5/

PS: Todo feedback constructivo será muy apreciado. Especialmente en el blog. Si os gusta la serie, si quereis que la continuemos, por favor, mandarnos un mensaje para que lo sepamos !!! Gracias.