El delirio de grandeza de Internet Explorer 8 y el duro trabajo del resto.
Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 —A List Apart. Compatibility and IE8 —IE Blog.
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
Los otros tres (o cuatro) navegadores (o motores de renderizado) principales han mejorado sus capacidades con el paso de los años y eso no ha impedido que logren tener su cuota de mercado (que varía según qué navegador tiene mejores funcionalidades). Ninguno de ellos ha tenido que dejar tan en claro su identificación salvo cuando tienen que
camuflarse como Internet Explorer.
¿Qué es lo que diferencia a Internet Explorer del resto? La frecuencia de actualización. Practicamente no se escucha de alguien que desarrolle un sitio basandose en la implementacion de la corrección menor de un navegador (por ejemplo, Mozilla Firefox 2.0.0.11 Fixes Canvas Regression, Mozillazine) pero si de antemano uno sabe que un error va a perdurar por años es inevitable resignarse a convivir con él.
Entonces también es posible que la propuesta de marcar (por partida doble) una página bien hecha sea su forma de excusarse por una incapacidad de publicar con suficiente frecuencia actualizaciones sobre Trident.
Para colmo esta propuesta es terriblemente excluyente (suponiendo que todos los navegadores la implementaran) porque requiere que un desarrollador conozca absolutamente las características de cada implementación. Sí, es casi lo mismo que pasa ahora pero en este caso requiere saber no sólo sobre la versión más actual o popular sino sobre todas anteriores —sería el infierno de Internet Explorer 5.5 y 6 extendido a los demás navegadores.
El plan de Microsoft es mantener (al lanzamiento de la versión 8) cuatro diferentes versiones de Trident por cada una de Internet Explorer a la fecha: 5.5 (el quirks mode actual), 6, 7 y 8; una exageración cuando la web se divide entre la más estrafalaria sopa de tags y sitios bien hechos (o al menos con buenas intenciones). Los sitios que van a funcionar mal en Internet Explorer 8 ya funcionaron mal con la versión 7 y los que sólo funcionan con la versión 6 son los que serán actualizados o morirán; es superfluo y una pesada carga de mantinimiento tener subversiones para el quirks mode.
Pero lo que es peor: que otros navegadores sigan el ejemplo de Internet Explorer y que los sitios sean modificados (aún más) para verse bien en él sería reconocerle una importancia que en el mundo (ideal) de los estándares no debería existir (y que va perdiendo contra otros navegadores). Porque esta movida implicaría mayor trabajo para todas las compañias desarrolladores de navegadores que tendrían que cargar en cada versión con su vergonzoso pasado.
Por último, un pequeño error de concepto en la idea. ¿OtherUA=4 significa que los otros navegadores deben actuar como su correspondiente cuarta versión aún cuando Firefox 4 no será lo que fue Opera 4? Y suponiendo que se estandarizara una lista de números que abstrayera los números de versión y especificara que cierta versión de un navegador es equivalente a tal otra, siempre estaría la posibilidad de un navegador informe mal este número (por error o intencionalmente).
¿Internet Explrorer mostrará correctamente el Acid2 aún cuando la página original no está optimizada para Internet Explorer 8?
Los navegadores han mejorado y el mundo mejoró; Internet Explorer quiere mejorar pero el mundo se puede acabar.
Actualizacion 2 de marzo de 2008: No hace un motor de renderizado nuevo para destruir la web. Alcanza con modificar la identificación de agente de usuario. During internal testing, we have encountered a small number of sites which fail to recognize IE8 because they are performing exact string matches to look for specific IE version strings.
—The Internet Explorer 8 User-Agent String.
Actualización 4 de marzo de 2008: Internet Explorer 8 usará por defecto la versión más actual del motor de renderizado. Microsoft Corp. is now configuring the settings in Internet Explorer 8, the upcoming version of its browser, to render content — by default — using methods that give top priority to Web standards interoperability.
— Microsoft Expands Support for Web Standards.
No hay comentarios
Publicado el 30 de enero de 2008 en las categorías CSS, Internet Explorer, HTML
Yo me adelanté pero Internet se quedó atras o alguien me robó 60 minutos.
Argentina adelantó una hora sus relojes —26noticias.com.ar.
Current local time in Buenos Aires: Tuesday, January 1, 2008 at 11:25:46 PM. Standard time zone: UTC/GMT -3 hours. Daylight saving time: +1 hour. Current time zone offset: UTC/GMT -2 hours
.
$ date -R
Tue, 01 Jan 2008 22:26:32 -0300
$ ntpdate -q ar.pool.ntp.org
server 190.2.0.201, stratum 2, offset 2.501166, delay 0.33630
server 200.43.64.72, stratum 1, offset 2.377004, delay 0.20010
server 200.80.32.172, stratum 2, offset 2.334814, delay 0.32558
1 Jan 23:01:08 ntpdate[5465]: step time server 200.43.64.72 offset 2.377004 sec
Al margen, fue interesante leer como nota introductoria que el cambio de hora en Argentina demuestra que nada cambia.
Actualización 3 de enero: Mi error. No sabía nada sobre cómo maneja internamente la hora el sistema operativo; todo el tiempo está en hora universal y es modificada para el usuario según la zona horaria que uno configura. Yo llegué a pensar que distintos servidores reportaban diferentes horas según el país en que se encuentran. Al actualizar el paquete tzdata se sincronizan correctamente los relojes. Esto también tiene su origen en lo díficil que me resultó configurar la zona horaria y coordinar la hora entre Ubuntu ¿Dapper? y Windows XP.
4 comentarios
Publicado el 1 de enero de 2008 en las categorías Internet, Linux
Promoviendo la revolución sin revolucionar.
Tuxinfo Número 1 es el primera edición de un proyecto para publicar una revista sobre Linux ahora que Linux Users pasó a mejor vida. Resultó bastante decente; me gustaron las notas sobre awk y el lenguaje C.
El problema, más alla del uso de software propietario, que debería resultar anecdótico, es sobre las condiciones de uso.
¿Es coherente que una revista (de distribución gratuita) que promueve el software libre utilice una licencia que no permite el uso comercial ni las obras derivadas?
No comercial
La revista es, en principio, de libre distribución; puedo realizar copias en CD y regalarlas, enviar por correo, lo que sea. El problema es que la clausula de uso no comercial es muy agresiva.
Si nuestro medio de redistribución incluye alguna forma publicidad entonces es considerado incompatible. Con esto me refiero a todos ustedes que utilizan Adsense o Text Links Ads en sus sitios; ustedes pueden enlazar la nota de presentación de la revista pero nunca el PDF en sí. Tampoco intenten citarla, salvo que estén seguros que el derecho a cita (realmente) es una excepción a esta cláusula.
No se molesten en crear copias fisicas a menos puedan amortizar el gasto de una manera totalmente no relacionada; no pueden vender un CD o una copia impresa en una matriz de puntos.
Y aunque esto suene paranoíco y no puedo confirmarlo, tampoco envien copias del archivo desde una dirección de Hotmail porque se les van a incluir publicidades incompatibles con la licencia. Y si vuestra firma incluye una mención a vuestro blog donde tienen publicidades... sobrepasa mi imaginación.
Sin obras derivadas
Pongamos algo en claro: en la forma que está redactada la presentación de la revista es la obra Tuxinfo y no sus notas la que está bajo esta licencia. Pongamos un ejemplo tonto: si yo tomo una fotografía y prohibo las obras derivadas de la misma, me refiero a toda la imagen, no vale recortar un sector para crear algo nuevo.
No publiquen por otro medio un artículo de la revista; sería como recortar un sector de una imagen.
No creen una (tan necesaria) versión HTML ni ningún otro formato raro.
Pegame que me gusta
Entonces el mensaje es que no están interesados en otras formas de contribución de la comunidad, salvo que sea dinero o aplausos. Y no quieran ignorar la cuestión alegando que la publicación está buena y es hecha a pulmón y toda la parafarnalería. ¿Es coherente que si promueven la revolución cultural que instauraría las cuatro libertades de uso como una opción válida estas libertades sean pisoteadas de entrada?
Que la revolución la hagan los otros, esos ilusos que contribuyen con sus pocos conocimientos de programación o con sus grandes conocimientos de fotografía. Mientras tanto mantegamos la seguridad del encierro, y si podemos agreguemos un par de palabras que suenen trendy.
5 comentarios
Publicado el 28 de noviembre de 2007 en las categorías Linux
Copiar un kernel entre diferentes instalaciones de Ubuntu.
Este procedimiento lo llevé a cabo con Ubunty 7.04 y Ubuntu 7.10, aunque podría funcionar con otras versiones (¿y otras distros?).
Una de las consecuencias de la solución al bug del kernel de Gutsy y Seagate es que (supuestamente) no se activan las funciones de performance del disco (DMA principalmente). Esto es porque la salida de hdparm no menciona siquiera las funcionalidades y cualquier intento de activarlas o de desactivarlas resulta en un mensaje de error.
Por suerte resultó que aunque no estén oficialmente activadas, los disco están funcionando a su máxima capacidad (según los resultados de hdparm -Tt con tres kernels diferentes).
Claro que antes que descubriera la verdad que calmaría mi paranoía consideré la posibilidad de instalar un viejo kernel de Ubuntu en Gutsy. Hacerlo resulta muy fácil de hacer, no implica más que copiar los archivos y modificar GRUB.
Como en el momento de llevar a cabo mi plan no tenía ninguna instalación anterior de Ubuntu recurrí al disco de instalación de Ubuntu Feisty. Primero debemos bootear con este disco de instalación. Cuando ya tenemos acceso al sistema, debemos montar la partición donde se encuentra instalado Gutsy (en este caso supongamos que lo montamos en /mnt/gutsy/). Ahora debemos copiar los archivos del kernel; estos se encuentran en el directorio /boot (notese que estoy hablando del directorio que creó en memoria el disco de instalación). Los cinco archivos a copiar son:
- abi-2.6.20-15-generic
- config-2.6.20-15-generic
- System.map-2.6.20-15-generic
- vmlinuz-2.6.20-15-generic
- initrd.img-2.6.20-15-generic
Estos deberían ser los únicos archivos (aparte del directorio grub en el directorio /boot. El directorio de destino de estos archivos será el directorio boot de Gusty, en nuestro caso /mnt/gutsy/boot/.
Aparte de estos archivos debemos copiar los módulos del viejo kernel (los modulos compilados para el kernel de Gusty son incompatibles con el kernel de Feisty). Para esto debemos copiar completamente el directorio 2.6.20-15-generic que se encuentra en /lib/modules/ al directorio /mnt/gutsy/lib/modules/.
El último paso es modificar las opciones de arranque en GRUB; para ello debemos modificar el archivo /mnt/gutsy/boot/grub/menu.lst (con permisos de root). Buscamos la sección
title Ubuntu 7.10, kernel 2.6.22-14-generic
root Varía según instalación
kernel /boot/vmlinuz-2.6.22-14-generic root=Varía según instalación ro quiet splash all_generic_ide profile
initrd /boot/initrd.img-2.6.22-14-generic
quiet
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root Varía según instalación
kernel /boot/vmlinuz-2.6.22-14-generic root=Varía según instalación ro single all_generic_ide
initrd /boot/initrd.img-2.6.22-14-generic
y la replicamos debajo. Ahora sólo falta modificar todas las menciones a 2.6.22-14 por 2.6.20-15.
Terminado. Debemos reiniciar la computadora para asegurarnos que las modificaciones fueron bien hechas, aunque no debería haber problemas por lo simple que resulta este proceso. Si alguien más instala un kernel anterior debería comprobar la performance de los discos rigidos.
No hay comentarios
Publicado el 26 de noviembre de 2007 en las categorías Linux
udevd-event[2118]: run_program : '/sbin/modprobe' abnormal exit
El kernel de Linux incluido con Ubuntu Gutsy sufre de un bug en la detección de ciertos modelos de discos rígidos Seagate, especificamente los modelos ST340823A y ST320413A. En los casos en que estos discos están presentes el disco de instalación no completa el arranque y muestra una terminal virtual con el mensaje
udevd-event[2118]: run_program : '/sbin/modprobe' abnormal exit
Busybox v1.1.3 (Debian 1:1.1.3-5 ubuntu7) Built-in shell (ash)
(initramfs)
Para poder arrancar con el disco de instalación hay que modificar los parametros agregando all_generic_ide:
- Cuando se intenta arrancar con el disco de instalación de Ubuntu Gutsy hay que presionar F6 para poder modificar los parametros; se debe agregar all_generic_ide sobre el final de la linea, pero antes de los dos guiones consecutivos del final y dejando un espacio entre ellos y el texto agregado.
- Luego de instalado el sistema, en el primer arranque desde el disco rígido, el problema persistirá. En este caso se debe modificar los parametros de arranque mientras se muestra en pantalla el menú de selección de sistemas operativo (GRUB). Primero se selecciona la entrada correspondiente a Ubuntu Gutsy y se presiona e para ver las lineas que hacen arrancar el sistema, se selecciona la segunda linea y se vuelve a presionar e para editarla, al final de la misma se agrega all_generic_ide como en el primer caso.
- Una vez que logramos arrancar desde el disco rígido debemos modificar el archivo
/boot/grub/menu.lst. Buscamos la entrada correspondiente a Ubuntu 7.10, kernel 2.6.22-14-generic y modificamos la linea kernel agregando all_generic_ide al final de la misma.
Más información en:
Actualización del 25 de febrero de 2008: El problema sigue estando en las betas de Ubuntu Hardy Heron. Hardy alpha 2/3/4 daily-live i386 don't boot
Publicado el 18 de noviembre de 2007 en las categorías Linux
He sido asimilado.
Del Twitter de Cristina Fernandez, La Argentina es una muy buena oportunidad para hacer negocios
.
De El huracán Twitter, de este lado del mundo, la red social llegó de la mano de los periodistas Darío Gallo y Pablo Mancini, que hace dos meses crearon Tuitiar con la idea de nuclear a una comunidad que crecía de forma acelerada
.
Por cierto, tengo mi propia cuenta en twitter.
Publicado el 15 de noviembre de 2007 en las categorías Personal
No gustó.
En CafeConf reina el mismo histeriqueo que en un boliche, sólo que en lugar de raros peinados nuevos y ropa demasiado ajustada la popularidad de una persona se mide por qué tan consumista de tecnología puede ser, qué tan fanatico de la libertad puede demostrar ser o a qué organización maquillada para el afuera pertenece.
El único momento rescatable, aparte de un par de las charlas ofrecidas, fue ver como un fulano encaraba a otro sin conocerlo para charlar sobre experiencias comunes con Postfix; el rescate de este momento viene a cuento de que muchos fueron acompañados para tener un grupo en el que resguardarse.
Con lo que me cuesta interactuar con la gente, la gente no tiene mejor idea que ser más complicada de tratar.
Publicado el 11 de noviembre de 2007 en las categorías Personal
SVG en Opera 9.5 y su relación con -moz-border-radius.
En Changelog for Opera 9.50 Alpha 1 for UNIX mencionan que unas de las novedades de Opera 9.5 (nombre clave Kestrel) es la posibilidad de usar imágenes SVG en la propiedad background-image. Esto significa que por fín se podrán crear bordes redondeados usando svg:rect —el verdadero chiste de SVG no es intentar reemplazar a Flash sino poder crear imágenes simples escalables y esquinas redondeadas.
Lo gracioso de esto es que se superpone (como solución) con la tecnica de Gecko para bordes redondeados -moz-border-radius, webkit-border-radius o border-radius de WebKit (gracias Diego) y khtml-border-radius en KHTML. En principio no debería haber problemas; es posible definir una imágen SVG (un rectángulo de bordes redondeados) de fondo que sólo tomaría Opera y al mismo tiempo un color de fondo (que en Opera es superpuesto por la imágen) y crear el efecto redondeado con -moz-border-radius las variantes de border-radius.
En el caso de WebKit la posibilidad de definir múltiples fondos para crear esquinas redondeadas implicaría recurrir a la magia de la cascada:
background: imagen svg /* Para Opera */background: imagen 1, imagen 2 /* Para Safari */
Safari utilizaría la segunda definición de background por cascada (redefine la propiedad) y Opera tomaría sólo la primera por considerar a la segunda erronea.
Quizás algún problema recién ocurra cuando exista un navegador que implemente las dos opciones (ignoro si KHTML o WebKit lo hacen no creo que ni WebKit ni KHTML permitan usar SVG desde CSS) porque al recaer en el navegador el cálculo de cuánto redondear, puede ocurrir (en el peor de los casos) que el recorte en los bordes definido en CSS suprima parte de la imágen SVG de fondo.
Igualmente, siempre es posible usar bordes redondeados hoy en Internet Explorer.
Publicado el 7 de septiembre de 2007 en las categorías CSS, Opera, SVG