Buscar
Social
Ofertas laborales ES
martes
mar042008

Acid3: probando las especificaciones web 2.0 (actualizado con IE8)

WaSP (The Web Standards Project) ha publicado la versión 3 de su prueba Acid. Acid es una suite de pruebas para ejecutar en un navegador y ver si cumplen las principales especificaciones web. Acid2 estaba enfocada sobre todo a CSS, en la wikipedia puedes ver el resultado de la prueba en los principales navegadores del mercado, por ahora solo los navegadores Internet Explorer 8 beta y los basados en el motor Gecko 1.9 -como Firefox 3 beta- pasan el test.

Por su parte, Acid3 además de enfocarse a CSS, prueba otras especificaciones que los autores consideran necesarias para la web 2.0. Entre estas están los eventos DOM2, ECMAScript (la especificación de javascript), SVG, CSS2 y CSS3, HTML 4 y XHTML 1.

Por ahora no hay ningun navegador que pase este test, sin embargo se espera que los desarrolladores de estos tomen el test como referencia y pronto veamos navegadores que lo cumplan al 100%.

Me he tomado el tiempo de probarlo en los principales navegadores y les dejo aquí los screenshots de los resultados, todas las pruebas fueron en la versión de los navegadores para windows XP. Primero, la imagen de referencia de cómo debe verse la página con el test para el caso de que se complete al 100%:

acid3

Ahora el test en Firefox 2:

 

firefox2

En firefox 3 beta:

firefox3_beta

En Internet Explorer 6:

 

ie6

 

En Internet Explorer 7:

 

ie7

 

En Opera 9.26:

opera9

 

Y por último en Safari 3:

safari3

 

Actualización: aqui la prueba con el recién liberado Internet Explorer 8 beta 1:

ie8

Pues bueno, el test ya está a disposición del público; ya veremos quien es el primero en pasarlo.

martes
mar042008

¿Es NIO realmente más rápida que IO?

Paul Tyma ha publicado en su weblog el resultado de un micro benchmark donde compara el rendimiento de la API no bloqueante NIO con la más tradicional y bloqueante API IO. La primera, una incorporación de Java 1.4, supuestamente debería proporcionar un incremento en el rendimiento al permitir lecturas y escrituras no bloqueantes; esto permite atender más peticiones con un número menor de threads ya que cada thread puede trabajar sobre múltiples canales (channels) de entrada e ir "saltando" de uno a otro según tenga datos disponible en cada momento.

 

Con el API IO las lecturas y escrituras son bloqueantes y el thread que realiza la operación de lectura o escritura se bloquea hasta que ésta termina, no pudiendo ser empleado en sus tiempos muertos para atender otras peticiones, lo que obliga a tener un número mayor de threads.

 

Los resultados que Paul Tyma obtiene son justo los contrarios a los esperados; él ha creado un pequeño servidor que responde a peticiones de un montón de clientes y ha obtenido mejor rendimiento en todos los campos empleando el API IO.

 

No obstante, sus test tienen un pequeño truco: ha empleado una máquina Linux con kernel 2.6.5 y con soporte para threads NPTL, incorporados en la versión 2.6.4 (creo recordar) del kernel y que presentan un rendimiento muy superior a los threads que tradicionalmente ha empleado Linux.

 

Aunque yo no creo que de sus resultados pueda concluirse que NIO es más eficiente que IO (además, el sólo ha medido métricas relativas a la red, no accesos al disco) sí es una buena prueba de que a veces las máquinas virtuales no están "al día" con los sistemas operativos: estoy convencido de que la máquina virtual que empleaba asumía que se usarían los threads tradicionales de Linux y no los NPTL; si se construyese una máquina virtual optimizada para estos threads seguramente los resultados de los test serían los esperados.

¿Qué opináis vosotros al respecto?

martes
mar042008

Eclipse busca ayuda para traducir el IDE

Eclipse Foundation ha creado un nuevo proyecto, llamado Babel, cuyo propósito es traducir el entorno de desarrollo a idiomas diferentes del inglés. La fundación está buscando colaboradores para participar en la traducción. Como podréis observar en el enlace de la noticia, el español no está yendo particularmente bien (el húngaro, el sueco, o el turco van por delante del español en progreso de traducción, por poner algunos ejemplos).

En esta comunidad ya hay gente que ayuda a la traducción de Netbeans; si alguien siente que quiere ayudar a traducir Eclipse ésta es su oportunidad.

lunes
mar032008

JavaHispano Podcast - 009 - Flexibilidad con Scrum (Entrevista a Juan Palacio)

Noveno número de "JavaHispano Podcast". Este número lo hemos dedicado a Scrum en el cúal entrevistaremos a Juan Palacio. Por otra parte, se hablará de las noticias más actuales del portal JavaHispano. Por ello tenemos las siguientes secciones:

Sección noticias: Presentado por Abraham Otero y Erick Camacho:

Sección entrevista: Entrevista a Juan Palacio autor de navegapolis y el libro Flexibilidad con Scrum descargable gratuitamente en PDF. En esta entrevista Juan nos hablará sobre la metodología Scrum y nos comentará en que tipo de proyectos debemos aplicarla.

Por último, queremos conocer nuestra audiencia. Para ello, hemos creado un mapa de oyentes donde podreis hacer click desde la ciudad/pais donde nos escuchas, poner tu nick o nombre, comentarios que nos quieras hacer, fotos o imagenes, etc.

ACTUALIZACION:

Os indico como poner un pin en el mapa de oyentes: Entrar a la web; hacer click en Add Your Self; pulsar Move your Pin y escribir el nombre de tu ciudad; si además quereis editar datos concretos hacer click en edit this pin (Nick, comentarios o imagen (optativo)).

domingo
mar022008

Liberado JPOX 1.2.0-final

JPOX 1.2.0-final ya esta liberado. Ha pasado 22 meses y ya es una implementacion compatible de JDO1, JDO2, JDO2.1, y JPA1 - ha aprobado el TCK de los ultimos dos durante febrero. Apoya persistencia a RDBMS, DB4O, y dentro de poco tambien LDAP. Los detalles de que ha pasado entre 1.1 y 1.2 estan aqui para ellos que no estan al tanto. Para distinguirlo de Hibernate, TopLink, OpenJPA etc JPOX no es solo un ORM. Apoya la persistencia a muchos tipos de bases de datos. La intencion es para proveer un framework para la persistencia y analisis de datos sin poner limites en la base de datos o API o lenguaje de query etc, y ser compatible con cualquier especificacion que existe en ese dominio.