Cosas web, algunas úles, algunas buenas.
Fushioko, tiendas de productos de Asia

jueves, marzo 30, 2006

Sentido Web, nuevo blog para desarrolladores web

Uno de los motivos por los que no he podido actualizar display: NONE con tanta frecuencia como me gustaría, a parte del desarrollo de una extensión para Firefox, es que me han invitado a formar parte del nuevo blog Sentido Web, un nuevo blog de la gente de Blogs Media.

Sentido Web
Como se indica en la entrada de presentación:

Sentido Web es la nueva publicación creada por Blogs Media dirigida a los desarrolladores web e internautas apasionados por la programación, diseño, negocios y todo lo que ocurre en Internet.

Considéranos la revista que siempre has deseado comprar en el kiosko con la diferencia de que somos gratuitos y de publicación diaria.

Mi intención es seguir con ambos blogs, espero poder con ello.

lunes, marzo 27, 2006

Convertir PDF a SVG

Leo en SVG.org que han sacado una nueva versión de PDF2SVG, un programa que se ejecuta mediante línea de comandos, que convierte un PDF a SVG. Entre las características que ofrece se encuentra:

  • Gran cualidad al convertir los PDF, mantiene el diseño de capas, enlaces, colores, ...
  • Compresión y optimización de los archivos SVG
  • Ficheros SVG independientes
  • Miniaturas
  • Uso de Unicode
  • Incrustación de las fuentes y posibilidad de sustitución
  • ...

Es curioso que siendo un programa de evaluación, lo que te haga sea incluir un texto que ocupa casi todo el espacio diciendo que estás usando el programa en cuestión. El SVG es editable, solo es necesario borrar el nodo en cuestión y ya está. En Firefox se ve bastante mal, en IE con el pluggin de Adobe se ve correctamente.

martes, marzo 21, 2006

Presentación de imágenes mediante scrolling

Las posibles formas de presentar un grupo de imágenes son numerosas, algunas sencillas, otras más complejas. Podría estar todos los días (o al menos unos cuantos) realizando distintas presentaciones, aunque no quiero ser pesado ya que hice una en una de las primeras entradas.

En este caso, se van a mostrar las imágenes dentro de un contenedor que solo mostrará un espacio, no la totalidad, y se irán desplazando hacia la izquierda o derecha, según la posición del ratón dentro del contenedor. Cuando una imagen desaparece del contenedor irá a la parte final de la lista de imágenes.


Actualización Me he dado cuenta de que al subirlo el scroll se vuelve loco, esto sería fácil de solucionar si el scrolling lo meto en un iframe con overflow: hidden y las acciones realizarlas en el documento parent. No veo otra solución porque al tener las imágenes position: absolute, da igual si se le hace clipping al contenedor, porque a la hora del scroll cuenta como si las imágenes estuvieran visibles. Perdonad que no lo cambie, pero con esto de ir de barato (o sea Blogger), me quita mucho tiempo estar haciendo cambios y subiendo archivos a los servidores (baratos, también).

domingo, marzo 19, 2006

Problemas con WordPress

display: NONE ha estado unos días caidos (o no sé cuanto porque no he tenido acceso al ordenador) debido a que me instalé WordPress en mi ordenador y cuando quise importar este blog desde la herramienta que ofrece WP, pues le dio por modificarme la página de inicio de Blogger.

Está genial, yo le digo importar y el hace lo que le da la gana, cuando se importa algo, no se debe modificar el original.

Según la RAE:

importar.
(Del lat. importāre, traer).
1. tr. Dicho de una mercancía: Valer o llegar a cierta cantidad.
2. tr. Introducir en un país géneros, artículos o costumbres extranjeros.
3. tr. Llevar consigo. Importar necesidad, violencia.
estropear.
(Del it. stroppiare).
1. tr. Maltratar a alguien, dejándolo lisiado. U. t. c. prnl.
2. tr. Maltratar, deteriorar o afear algo. Esas casas tan altas estropean el paisaje. U. t. c. prnl.
3. tr. Echar a perder, malograr cualquier asunto o proyecto.
Espero que WordPress comprenda la diferencia.

viernes, marzo 17, 2006

Firefox 2.0 con problemillas con el SVG

Mientras me pego con un script, el XUL y otras cosas varias, no he podido perder la oportunidad de mencionar que Firefox está teniendo problemas para integrar la etiqueta <svg:textPath>, la cual se usa para escribir texto siguiendo un recorrido. Esperemos que la gente de Firefox vuelva a sorprendernos.

lunes, marzo 13, 2006

Cosas sobre CSS

Al menos en Firefox, me encuentro:

  • Si en una capa con position: relative escribo dentro unicamente una capa con position: absolute, el alto de la capa contenedora es cero. Para mí no tiene mucha lógica, porque lo que estás haciendo es "posicionar" la capa dentro de la otra, vale, está posicionada, pero sigue dentro de ella, y ¿cómo puede estar dentro de ella si la capa contenedora tiene tamaño cero?. Es como si me meto el monedero en el bolsillo, no puedo "posicionarlo" fuera del bolsillo. Aquí dentro va una capa, sí, la que está fuera.
    ¿Por qué esta capa está fuera de la contenedora si realmente está dentro?






    <span style="border: 1px solid #315C7C;   position: relative;">   Aquí dentro va una capa, sí, la que está fuera.   <div style="position: absolute;     top: 20px;     border: 1px solid #315C7C">       ¿Por qué esta capa está fuera de la contenedora si realmente está dentro?   </div> </span>

  • Si una capa tiene un width y un height fijos, si yo modifico el valor del padding, la capa aumenta el valor del padding en su tamaño. No tiene lógica, porque el padding es la distancia entre el borde y el contenido. Pues si el tamaño de la caja es 100px y el padding izquierdo es de 10px, quiere decir que empiezo a escribir en el pixel 10, pero no que el tamaño tiene que ser de 110px.
Bueno, quizás son cosas erróneas las que escribo, yo creo que a mí me ocurren. ¿Alguien sabe si esto tiene que ocurrir así? Actualización Federico me comenta que es debido a que al posicionarlo como absolute se sale del "normal flow", podéis ver su explicación en los comentarios.

Buscando blogs afines en del.icio.us

Una forma de aprender es leer y para ellos los blogs son para mí una gran fuente de sabiduría (o de copy/paste, según quieras verlo). Algunas veces me meto en Technorati, que es dónde normalmente la gente se pone a buscar blogs, pero no siempre encuentro lo que quiero. ¿Y dónde lo encuentro? en del.icio.us. Todo empezó por curiosdad, algo de ego, ilusión por ver que tu blog va funcionando... y otras mil cosas más. El hecho es que me dió por buscar quienes tenían a display: NONE dentro de sus favoritos, y digo yo, si les interesa lo que escribo, lo más seguro es que me interese lo que ellos escriben. Muy pocas personas tienen blog o lo han puesto dentro de su perfil de del.icio.us, pero dentro de esos pocos he encontrado cosas muy interesantes.

Cómo incluir SVG en tus aplicaciones Java

Aunque las librerías más populares de SVG en Java son las de Batik, mirando en SVG.org he visto que hay otras librerías para incluir Tiny SVG llamadas TinyLine, las cuales tienen muy buena pinta. Ejemplos: retro4.svg bass2.svg

domingo, marzo 12, 2006

Mis primeros usos en las expresiones regulares

Leyendo la entrada de alidhaey sobre expresiones regulares, me ha hecho recordar que la primera vez que me pegué con ellas fue porque teníamos que filtrar un fichero de logs en UNIX y mi compañero, que es una máquina en UNIX me dijo que usara el grep. Si eres de los que no usas UNIX o Linux, no te quedes sin probarlo, ya que cuando tu aplicación suelta gran cantidad de trazas, lo mejor son las herramientas que hay en UNIX: GNU utilities for Win32

viernes, marzo 10, 2006

Pasar de fotografía a dibujo mediante Inkscape

Ya he hablado de las cosas que se pueden hacer con SVG y quizás otro ejemplo de su uso pueda hacer que os enganchéis un poco más. En varios sitios he visto como hacer pseudo-caricaturas mediante Photoshop, lo que voy a explicar es similar, pero en vez de crear una imágen, será creando un gráfico vectorial. Una ventaja sobre el Photoshop es que al hacerlo vectorial, se puede crear del tamaño que se quiera sin perder resolución.

Inkscape es un editor de gráficos vectoriales (SVG) de código abierto. Yo es el que siempre uso cuando diseño algo en SVG, que es como suelo diseñar. Es un programa sencillo y que tiene bastante funcionalidades.
Para realizar esta transformación tenemos que pasar de un mapa de bits a un gráfico vectorial (raster). Lo primero es importar la imágen (ARCHIVO > IMPORTAR...), despues la seleccionaremos y después convertiremos la imagen en vectores (TRAZO > VECTORIZAR UN MAPA DE BITS).
De todas las opciones usaremos la Luminosidad de la imagen, aunque podéis probar con las otras. Esta opción nos crea una imagen de dos colores según sea el grado de luminosidad de la imagen, cuanto esté cerca de 0 mostrará los colores mas oscuros y cuanto esté cerca de 1 mostrará a partir de los mas claros.
Lo realizaremos en dos fases, primero con un valor cercano a 0.5 y le daremos un color negro y luego con un valor cercano a 0.6 y le daremos un color gris. Con el primer valor conseguimos obtener la silueta y con el segundo color obtenemos también parte de las sombras. Las superponemos y obtenemos la imagen final.
Por último podemos exportar el gráfico a una imagen PNG para poder usarla.

jueves, marzo 09, 2006

XUL: el mundo de Firefox

Me ha dado por intentar enterarme de cómo se crean las extensiones para Firefox, quizás por ello últimamente no escribo tanto como me gustaría. Lo poco que he visto me gusta, no hay demasiada información al respecto, pero se pueden ir averiguando las cosas poco a poco y pegándote con ellas.
Lo más importante es conocer XUL (XML-based User-interface Language), que es el lenguaje para crear interfaces de usuario de Mozilla, permite incluir hojas de estilo, javascript, ...
Crear extensiones simples es fácil, no tiene mucha dificultad, lo que sí es más complejo es realizar las acciones que más nos interesan: acceso a ficheros, eventos, listeners, ... Hay poca información en internet, si comparamos con otros lenguajes (PHP, Java, ...), debido a ello, una de las formas que estoy usando para enterarme de como hacer las cosas es destripando las extensiones de otra gente. No, no es un copy/paste en plan salvaje, es más bien ingeniería inversa. Para ello en vez de instalar una extensión, te la bajas a tu disco duro, la renombras como zip y la descomprimes, podrás ver toda la estructura de archivos y cómo funciona.
Estoy haciendo una extensión, a ver que tal, y cuando la acabe iré escribiendo como la realicé. Si te quieres meter en este mundillo, te recomiendo estos enlaces:

martes, marzo 07, 2006

Ejemplos de diseños con estilos

El método correcto de realizar un diseño web es mediante estilos (CSS) y no usando tablas (aunque reconozco que a veces las uso en ejemplos por vagancia). Claro, que a veces no es sencillo saber utilizarlos. He encontrado una página que tiene gran variedad de ellos, y más que usarlos simplemente, yo recomendaría que se les echara un vistazo por dentro para saber cómo funcionan:
Layout Gala
Visto en del.icio.us

lunes, marzo 06, 2006

Animaciones en SVG

SVG tiene una serie de etiquetas para realizar animaciones, las cuales son admitidas por el visor de Adobe, pero que no están implementadas por el visor nativo de Firefox. Ahora viene el problema, si queremos que nuestra animación se vea en ambos navegadores IE (con el pluggin de Adobe) y Firefox, tendremos que realizar la animación de forma dinámica. Existen dos formas de realizar la animación, mediante Javascript en la página que contiene el SVG o mediante ECMAScript.



Javascript

ECMAScript

En IE tiene que estar instalado la versión 6 del Adobe SVG Viewer

viernes, marzo 03, 2006

Autenticación en iframes

Normalmente suelo visitar una página para hacer copias de seguridad de las peliculas que tengo y así no preocuparme de si las extravio, se degradan, etc... El tema es que a esta páginas solo tenemos acceso una serie de privilegiados (todo aquel que se registre, vamos) y para bajarnos la copia de seguridad tenemos que autenticarnos. Ahora me encuentro con una página que quiero visitar y que me va a mostrar información capada cuando acceda a ella por no estar "logueado". Necesito meter mi usuario y contraseña en el formulario y darle a enviar. Por ahora todo está bien, el problema viene en que se me recarga toda la página y que va a la página principal, en vez de a la página en la que me encontraba, por lo que me toca volver a la página que yo quería. ¿Cómo se puede solucionar?, pues se me ocurren dos formas, o bien una vez "logueado" me vuelve a la página en la que me encontraba, o bien el formulario lo pongo en un iframe para así no tocar la página.
¿Cuál de las dos soluciones es la mejor?, no sabría decirlo. La primera solución me permite que si la página que estaba visitando tenía contenidos capados, al actualizarse la página estos contenidos se me muestren, pero también tiene la desventaja de que recargar la página puede llevar tiempo, cosa que no puede apetecer mucho (está página a la que me refiero suele estar un poco colapsada debido a la cantidad de gente preocupada por las copias de seguridad de su colección de películas). La segunda opción a mi es la que más me gusta, porque te autenticas y la información se guarda en la sesión sin tener que cargar pesadas páginas, claro que no se actualiza los datos de la página actual.

jueves, marzo 02, 2006

Tablas con cabecera estática

Algo que considero bastante importante a la hora de mostrar datos, es que las tablas no ocupen toda la página. Normalmente cuando se consulta la información, a no ser que sea un estudio profundo, no se suelen ver más que las primeras filas. Entonces, ¿por qué mostrar todos los datos?, no se trata de solo mostrar los primeros registros (que se podría hacer mediante paginación), sino de usar el scroll para poder ver el resto de los datos si es que nos interesan.

Por supuesto que la mejor forma que he visto para realizar esto es en: Pure CSS Scrollable Table with Fixed Header, pero debido a las diferencias entre navegadores, la CSS no está muy clara. Como no todo el mundo (y yo el primero) tiene la facilidad para hacer la tabla cuando quiera sin tener que ver como lo hacen en la página anterior, voy a intentar explicar una forma un poco más sencilla (aunque menos limpia) de hacerlo.

miércoles, marzo 01, 2006

Problemas resueltos, más o menos

Ya he solucionado el tema del servidor donde subía los archivos que usaba para los ejemplos. Después de usar unos cuantos, todos me daban problemas, o no me bajaba los archivos directamente (era necesario una página intermedia) o los archivos HTML no me los devolvía correctamente y salía la ventana de "Guardar como..." u otras mil cosas más. Total, que me he olvidado de los supersitios con Ajax, capacidad infinita, ancho de banda inmenso y demás gaitas y me he ido a la típica pagina personal que te ofrece un portal (si, un portal no es muy Web 2.0 pero siguen existiendo) y con los miseros 50Mb que me ofrencen estoy muy contento, ¿que me quedo corto? pues me creo otra cuenta.
Ahora solo me falta ir corrigiendo todas las entradas, eso me llevará un poco de tiempo.
La verdad es que display: NONE se parece a Madrid (afortunados los que no vivís allí).

Autómata para expresiones regulares

Aunque estoy bastante liado cambiando los archivos de un lado a otro debido al problemilla con los archivos para los ejemplos, no puedo pasar la oportunidad de poneros un enlace a una página que realiza autómatas para expresiones regulares que me ha enviado Gerardo: reAnimator: Regular Expression FSA Visualizer.
Yo miraría estos ejemplos (no escribáis la barra inicial y final en la página):

  • Comprobar si es fecha (DD/MM/YYYY): /\d\d\/\d\d\/\d\d\d\d/, ya que no admite /\d{2}\/\d{2}\/\d{4}/
  • La búsquedas necesarias para hacer un trim: /(^\s*)|(\s*$)/

Problemillas con el servidor de almacenamiento gratuito

Claro, si es que es gratuito y no se le puede pedir mucho. Espero poder pasarlos todos a otro sitio y que vuelva a estar funcionando en breve.