Speed dial, developer tools y correcciones de seguridad.
Publicado el 17 de abril de 2007 en las categorías Opera
¡Presto! ¡Te comiste al viejo Jenkins!
En mi familia estamos muy acostumbrados a tener perros y no aceptar gatos dado la cantidad de pajaros que hay en el patio.
El nuevo integrante es un Pointer Braco Alemán (o German Shorthaired Pointer), uno de los cinco cachorros de la última camada que tendrá la pareja de Pointers de mi hermano; también es el unico que salió con un pelaje casi completamente liso como su padre, obviando el detalle de la estrella en el pecho.
Mi intención es que lo terminen bautizando Presto en honor a Presto (motor de navegación), aunque aún necesito quorum.

Como convivió los primeros dos meses con sus cuatro hermanos más una nena de cuatro años es terriblemente hiperactivo, y lo que es peor me tomo a mí de punto para jugar de manera más violenta. Si alguien lo quiere, se lo presto por unos días. Realmente necesito un descanso.
Para los no iniciados que no entienden la bajada del título, es una referencia a My Pretty Seahorse.
Publicado el 28 de marzo de 2007 en las categorías Personal
Juego escondido en Xubuntu.
Por alguna razón el juego Cuyo viene instalado por defecto en Xubuntu pero no aparece mencionado en el menú de aplicaciones (no al menos usando XFCE, aunque si usando Fluxbox). Para ejecutarlo alcanza con invocar cuyo. Lo malo es que los paneles del escritorio de Xubuntu/XFCE tapan la ventana principal del juego; en mi caso, las veces que lo jugué fue desde Fluxbox.
Para los que tuvieron un Super Nintendo, este juego es Kirby's Avalanche con más imaginación.
5 comentarios
Publicado el 4 de marzo de 2007 en las categorías Linux
Otro más que prueba Ubuntu.
A veces la vida te da señales.
- Corel Linux
- Damn Small Linux
- Kubuntu 5.10
- Kubuntu 6.06
- Mandrake 7
- Mandrake 7.2
- Mandrake 8
- Mandrake 10.1
- Suse 7.2
- Slackware 7.1
- Slackware 8
- Ubuntu 4
- Ubuntu 5.10
- Vector Linux 5.1
- Xubuntu 6.10
Si Taly pudo, mi orgullo no se iba a quedar atras.
De momento la transición funciona bien, porque no me hago mala sangre sobre todo aquello que deba ser configurado o por tener que usar la consola para algunas tareas. Hay que sumarle que poco y nada me ata a Windows (de momento extraño muchisimo a GreatNews).
Lento
Es increible que viniendo de Windows XP, mi computadora sea considerada tan inferior en el ámbito de las distribuciones de Linux. El elegido terminó siendo Xubuntu por una simple razones: Ubuntu 5.10 es terriblemente lento y está siempre usando el 100% de recursos del CPU --ni hablar de usar Kubuntu. Para los curiosos, hablo de un Celeron 733 (que se quedará conmigo muchos años más, entusiastas de los procesadores bicéfalos)
Internet
Conectarme usando un conexión dial up siempre fue mi único obstaculo, y lo he solucionado sólo en parte. Aún no encuentro un marcador con interfaz gráfica en X que funcione (todos fallan la autentificación) así que todo se resuelve con pppconfig, pon y poff (gracias DialupModemHowto).
Firefox
Firefox es la mierda más grande de Ubuntu. No porque este navegador funcione mal, sino porque es imposible desinstalarlo sin que se desinstale la interfaz gráfica de escritorio (en mi caso sería xubuntu-desktop). En el caso de Ubuntu sumenle ese monstruo llamado Evolution que tampoco usaría. O sea que en (ciertas distribuciones de) Linux existe el mismo problema de aplicaciones obligatorias visto entre Internet Explorer y Windows (aunque en este caso desconozco personalmente de dónde proviene la dependencia).
Opera
Y Opera tiene más problemas de funcionamiento que su versión en Windows. De momento me persiguen dos errores:
- La función de "pegar e ir" borra lo que ya está escrito en la barra de direcciones y lo reemplaza por lo que se encuentra en el portapapeles. Esto me impide escribir el atajo a Google y luego agregar el término a buscar.
Al abrir nuevas pestañas con el botón del medio del mouse, la nueva pestaña trata de conectarse a una URL formada por aquellas palabras que estén seleccionadas en la pestaña activa.
Epilogo
Sí, son más problemas que soluciones lo que vengo encontrando de momento, pero siempre supe iba a ser así. Aún así, la principal razón para tenerle paciencia es que representa una oportunidad de aprender y estimular un poco la mente después de tantos años de apretar "siguiente". Igualmente reconozco que estoy tomando un cámino fácil al elegir una distribución que detecto absolutamente todo mi hardware (incluso una webcam muy genérica fue reconocida de entrada, mientras que en Windows requería un pequeño ritual) y que es tan conciente de las dependencias para las instalaciones.
Si normalmente hablo demasiado de Opera, lamento informar que seguramente ahora hablaré mucho de los problemas que vaya teniendo con Linux. Y sí está distro realmente funciona, quizás vuelva a prender mi viejo Celeron 400.
Publicado el 20 de febrero de 2007 en las categorías Linux
Usando word-spacing para remover espacios en blanco (y volver a agregarlos).
Ignacio Marcos me pasa el meme del pequeño tip para CSS y yo lo tomo casi como un reto.
Supongamos que necesitamos armar un menú horizontal basado en una lista de elementos (UL > LI).
<ul>
<li><a>foo</a>
<li><a>bar</a>
<li><a>dim</a>
</ul>
/* Saltos de linea agregados a propósito */
La primera regla sería que los elementos de la lista se muestren en linea.
li {display: inline}
Si definen un fondo para los A, notarán que se muestra un espacio entre cada uno de ellos. Esto ocurre porque el salto de linea es mostrado como un espacio en blanco —existe en los navegadores una heurística para determinar cuándo debe agregarse un espacio. Ejemplo 1
Una de las soluciones sería modificar el código HTML original borrando los saltos de linea (y de paso se ahorrarían un problema con Internet Explorer en otras circunstancias). La otra es recurrir a la propiedad word-spacing.
word-spacing tiene un valor por defecto de 0; los valores negativos disminuyen el espacio entre palabras. La solución es definir un valor negativo (entre 0.2em y 0.3em).
ul {word-spacing:-0.3em;}
li {display:inline;}
a {background:lime;}
Ejemplo 2.
Dos consejos más:
- Definiendo un
padding horizontal se mantiene el efecto (de fondo continuo) y se simula un poco de espacio entre palabras (para evitar que éstas queden superpuestas).
- Si uno de los
A contiene dos palabras pueden volver a definir word-spacing: 0 para que se muestre un espacio normal entre palabras.
El ejemplo final sería:
ul {word-spacing:-0.3em;}
li {display:inline;}
a {
background:lime;
padding:0 0.3em;
word-spacing:0;
}
Ejemplo 3.
10 comentarios
Publicado el 13 de febrero de 2007 en las categorías CSS
Finalmente Acid2, más inline-* y XHTML.
Extractos de Mozilla Gran Paradiso Alpha 2 Release Notes.
Resolved remaining issues with ACID2 test compliance.
Finalmente una versión compilada (relativamente) final que supera el test ACID2.
The inline-block and inline-table values of CSS 2.1's display property are now implemented.
No pienso ponerme ahora a modificar todas las veces que aclaré que en Gecko se usaba -moz-inline-box en lugar de inline-block.
XML documents can now be rendered as they're downloaded instead of only after the full document has been loaded.
Incremental rendering en XHTML; una razón menos contra él.
Curiosidades del destino, lo lanzan justo el día que cumplo 26 años.
4 comentarios
Publicado el 8 de febrero de 2007 en las categorías Firefox
Las Opera developer tools son presentadas en sociedad.
La weekly build de Opera 9 8713/Win incluye una nueva Developer Console, que no es más que la inclusión en los menús de las Opera developer tools:
Las herramientas
El DOM Console funciona como equivalente del DOM Inspector de Mozilla, y siendo esta última la principal razón que tengo para utilizar Firefox cada tanto, la versión de Opera me resulta un tanto más útil (aunque suene poco objetivo viniendo de mí).
Un detalle de esta herramienta, y que carece el DOM Inspector de Mozilla, es que al mostrar las reglas de CSS que se aplican a un nodo, también se especifican qué propiedades son heredadas y cuales redefinidas por conflicto.
El CSS Editor se ve también útil para probar cambios rápidos (en sitios problemáticos, por ejemplo) aunque no es útil cuando se está desarrollando ya que los cambios no pueden ser guardados —para este caso, nada mejor que un buen editor de texto.
Y el DOM Snapshot… quizás cuando tenga que compartir código.
JavaScript
Las Opera developer tools son simplemente JavaScript, así que traiciono todo lo que pienso sobre este lenguaje. Aún así (también yo) sufro el dilema de si esta solución es mejor que una solución nativa que podría llegar a estar mejor integrada. Quizás si la ventana pudiera ser agregada a la barra lateral…
Se me ocurre como ventaja que la actualización de estas herramientas no está atada a la versión de Opera (siendo un archivo remoto que se solicita a un servidor con cierta frecuencia). Claro que eso también significa que hay que descargar los archivos necesarios en casi cada uso (aunque en Developer tools unleashed comentan como configurar Opera para usar una copia local del archivo).
Conclusión
No es posible una conclusión útil en este caso viniendo de mí. Es bien sabido que hace años me enamoré de Opera, y a diferencia de los widgets, esta funcionalidad me compró mucho más. Y no me salgan con una lista de extensiones para Firefox que pueden hacer más cosas; sinceramente, le daré un uso poco frecuente a las Opera developer tools (y menos aún aprovecharía una herramienta más potente), pero se agradece de sobremanera no tener que cambiar de navegador para utilizar estas pequeñas ayudas.
2 comentarios
Publicado el 4 de febrero de 2007 en las categorías CSS, Opera
Google is so evil que quiere que incluyamos HTML invalido en nuestros feeds.
Vía Google Reader muestra ya vídeos de YouTube, Mangas Verdes.
Para que Google Reader muestre videos (o cualquier otro archivo de Adobe Flash) incrustrados en anotaciones debería ignorar las recomendaciones para sanear HTML, entre ellas las de borrar todos los elementos OBJECT; y lo hacen, pero con limitaciones.
Probé subiendo un testcase en Atom en /greader/001.atom que incluye seis anotaciones distintas.
Los que fallan estrepitosamente
Las dos primeras anotaciones referencian a una imagen GIF. La primer anotación incluye <object data="image.gif" type="image/gif" /> mientras que la segunda incluye <embed src="image.gif" type="image/gif" />.
En ambos casos el elemento es saneado.
Lo que podría no fallar
Tomando en cuenta que esta característica de Google Reader está limitado a ciertos servicios, se me ocurrió que el algoritmo de saneamiento se basaría en la URL: si referencia a YouTube, se consideraría seguro. Lamentablemente <object data="http://www.youtube.com/v/yeoPmCkji0Y" type="application/x-shockwave-flash" /> también falla.
Lo que sí funciona
Olviden los progresos del Flash Satay. La única forma que funciona es copiar completo el código que recomienda cada servicio; en el caso de YouTube esto significa incluir un EMBED.
Contraprueba
Suponiendo que el algoritmo se basa en el DOM final (lo que justificaría la necesidad de que aparezcan tantos elementos) y tomando el código ofrecido por YouTube, se reemplazan las URLs por URLs relativas y se define xml:base. Tampoco funciona.
5 comentarios
Publicado el 1 de febrero de 2007 en las categorías Atom, RSS