Burdjia

Categoría Artículos, 20 entrada(s)

Feed Rss, Atom

Busca las diferencias

Entre las muchas herramientas de ayuda al desarrollo de páginas y aplicaciones web, hay una que te muestra una representación tridimensional de la página.  Esta representación muestra las capas que existen en el diseño de la página, la estructura interna del documento HTML, los nodos y etiquetas.  Usando esta herramienta se puede ver más fácilmente algunos fallos de diseño, como etiquetas de cierre olvidados, y también problemas potenciales, como un exceso de capas que ralentizan tanto la carga como la visualización de la información.

Sirvan de ejemplo estas dos páginas, la de una conocida red social y la de una web amiga.  ¿Cuál creéis que será más propensa a tener problemas?

Webs 3D

Por cierto, si a alguien le interesa esta herramienta, se trata de una de las que vienen incluidas en la extensión Desarrollador Web de Firefox.

Usar la herramienta adecuada

Últimamente me estoy encontrando a menudo con la situación en la que puedo comparar lo que es trabajar con la herramienta adecuada y con la que no lo es.  En el mundo de la programación profesional nos encontramos demasiado a menudo con la situación de vernos obligados a usar una herramienta* inadecuada para el trabajo que has de realizar.  Lo mencioné de pasada en este artículo, por ejemplo, pero todos los que trabajamos en esto lo vivimos casi a diario.

Uno de los últimos ejemplos con los que me he encontrado tiene que ver con Google.  Como muchos sabréis, esta empresa está desmantelando la plataforma iG, y junto a ella a varias de las aplicaciones como su directorio de marcadores (o bookmarks) y su lector RSS.  Como usuario me he visto obligado a buscar alternativas, y la verdad es que he descubierto que no estaba usando la herramienta adecuada para consultar mis correos y enlaces RSS.  Usando iG no era raro el día en el que tardaba casi una hora en revisarlo todo (y eso revisándolo diariamente, imagináos después de unas vacaciones), pero ahora, usando un cliente de correos y noticias, con una extensión para obtener las actualizaciones RSS (concretamente Claws Mail) tardo menos de media hora siempre.

Por eso, cuando alguien me viene y me dice, por ejemplo, que para una web de noticias están pensando en cambiarse desde Spip a Wordpress y yo les digo que no es buena idea y me contestan que por qué no si es lo mismo y Wordpress es más fácil de usar y tiene menos errores, pues me pongo malo.  Menos mal que alguien con seso (que no soy yo) sugiere que quizá los errores se deben a una mala actualización y hace que regrese mi confianza en la humanidad, aunque sólo sea un poco.


* Aquí también vale lenguaje de programación.

Chovinismo informático

No me extraña que la palabra “chovinismo” provenga del francés.  No hace mucho me han encargado hacer un trabajito relacionado con el sistema de gestión de contenidos Spip, de origen francés.  Al ser un sistema abierto y libre, se puede ver su código fuente, y todo él está escrito en francés.

Yo también suelo escribir código en castellano, pero últimamente me he fijado que he dado un giro hacia el inglés.  En proyectos como Allegro.pas esto es comprensible, dado que es un producto destinado a una comunidad internacional concreta y el inglés es la nueva lingua franca;  pero en otros proyectos de índole más personal también he usado el inglés más a menudo de lo que esperaba.  Tras pensarlo un rato, he llegado a la conclusión de que es el propio lenguaje quien me ha llevado por ese camino.

Por ejemplo, un lenguaje como C o PHP, en el que la mayor parte de sus palabras clave son símbolos sin significado lingüístico (como “++”, “->”, “!=:”, “{“, etc) no parece que existan problemas sea cual sea el idioma elegido para describir las variables, funciones y objetos.  La siguiente función de una utilidad de codificación por contraseña que hice hace el año pasado:


/* Realiza la codificación con la clave cargada en la memoria. */
  int CodificaConClaveEnMemoria (void)
  {
    unsigned char *CarClave = NULL, Caracter;

    CarClave = Clave;
    while (LeeCaracter (Origen, &Caracter)) {
      Caracter = (Caracter ^ (*CarClave)) & 0x00FF;
      if (fputc (Caracter, Destino) != (int)Caracter) {
	fprintf (stderr, "ERROR de salida (Caracter %d)\a\n\n", Caracter);
	return FALSE;
      }
      if (*(CarClave++) == '\x00')
	CarClave = Clave;
    }
    return TRUE;
  }

Salvo unas cuantas palabras clave y funciones de biblioteca, el resto está en castellano y no parece llevarse muy mal.

Sin embargo, un lenguaje como Pascal, que uso con más frecuencia últimamente, en el que casi todas las palabras clave tienen significado o son abreviaturas (como “INC”, “BEGIN”, “AND”, etc) parece que no funciona tan bien, y que queda mejor escrito en inglés.  Por ejemplo, el siguiente procedimiento extraído una de un editor de mapas en el que estoy trabajando desde hace tiempo:


(* Lee desde un archivo de disco. *)
  PROCEDURE TMapa.LeeDe (NombreArchivo: STRING);
  VAR
    Archivo: AL_PACKFILEptr;
    Firma, Ancho, Alto, X, Y: LONGINT;
  BEGIN
    Archivo := al_pack_fopen (NombreArchivo, AL_F_READ);
    IF Archivo <> NIL THEN
    TRY
    { Firma del archivo. }
      Firma := al_pack_mgetl (Archivo);
      IF Firma <> AL_ID ('MAP1') THEN
        RAISE Exception.Create ('Unknown file format');
    { Tamaño del mapa. }
      Ancho := al_pack_mgetw (Archivo);
      Alto := al_pack_mgetw (Archivo);
    { Creamos el mapa. }
      CreaNevoMapa (Ancho, Alto);
    { Casillas. }
      FOR X := LOW (Mapa) TO HIGH (Mapa) DO
        FOR Y := LOW (Mapa[X]) TO HIGH (Mapa[X]) DO
        BEGIN
        { Índice }
          Mapa[X, Y].Ndx := al_pack_mgetw (Archivo);
        { Valores extra. }
          Mapa[X, Y].Val1 := al_pack_mgetw (Archivo);
          Mapa[X, Y].Val2 := al_pack_mgetw (Archivo);
        END;
    FINALLY
      al_pack_fclose (Archivo);
    END
    ELSE
      RAISE Exception.Create ('Can''t open file "'+NombreArchivo+'" for reading.');
  END;

No sé a vosotros, pero a mi me chirría un poco.  Quizá sea, simplemente, porque no estoy acostumbrado.  Aun así, tras haber visto Spip y su éxito estoy experimentando un poco este chovinismo con el proyecto del editor de mapas, a ver qué pasa.

Sobre el borrador de la Ley Lasalle

Me ha pillado completamente de sorpresa, y eso que de estas cosas estaba yo bastante enterado.  No voy a explicar qué es, que ya lo han hecho, y muy fácil de entender, David Bravo y Sinergia sin Control.

A mi me preocupan varias cosas.  Primero, que parece que es verdad que piensan que los interneteros lo queremos "todo gratis", cuando gente como Iván Sarnago y Locomalito, por poner sólo dos ejemplos, han demostrado sobradamente que no es cierto.  Lo que pasa es que sólo queremos pagar por lo que a nosotros nos merezca la pena, y un precio que creamos justo.  Y es que eso de tener que comprar 20 canciones cuando sólo nos interesa o nos gusta una como que no es muy justo.  Y lo de pagar varias veces por lo mismo como que tampoco nos va.  El modelo que proponemos como alternativa funciona.  Existen multitud de proyectos de este estilo o diferentes que tienen mucho éxito.  Otro ejemplo: Jamendo.  Otro más: the Humble Bundle. Otro: Juán Gómez-Jurado y su 1 Libro, 1 Euro.

Otra cosa que me preocupa mucho más es la cultura en sí.  Ingenuamente podríamos pensar que consideran a la cultura una industria, como el ladrillo o el automóvil, pero no puedo evitar pensar mal.  Citando a Karraskedo, en su obra "El Libro de la Historia":

Bruja - (...) Sin cultura y sin historia, el País de la Felicidad, será un pueblo de bestias, de analfabetos, de torpes, de zoquetes y de inclutos.  Entonces, tú podrás gobernar a tu antojo el País. (...) Podrás explotar a tus súbditos, insultarles, dominarles.

José Luís Heras Karraskedo.  El Libro de la Historia.  Escena cuarta

No puedo evitar pensar que los poderosos lo saben.

En fin, no sigo.  Mejor le dejo la rabia a un profesional como Wardog, que ese sí sabe.  Y, encima, es otro ejemplo de autor que lo da todo gratis, y aun así la gente le paga.  Si es que estamos locos.

"Informáticos: El PC ha muerto"

Si alguno pensaba que me había olvidado, no es así.  Lo que pasa es que el lunes de la semana pasada compré un nuevo equipo y me pasé casi el resto de la semana preparándolo.  Si he de ser sincero, no estoy muy seguro de cuál es el problema, pero todos mis intentos de instalar, en el mismo equipo, Windows 7 y Linux (en dos sabores, Ubuntu y Fedora) fueron infrucutosos hasta el viernes por la tarde.  Para empezar, Ubuntu no arrancaba.  Luego pude instalarlo pero no era capaz de modificar la secuencia de arranque, por lo que sólo arrancaba Windows.  Cuando claudiqué y me pasé a Fedora, este arrancaba, se instalaba y modificaba la secuencia de arranque, pero era del todo incapaz de detectar que tenía Windows instalado, por lo que no podía utilizarlo.  Finalmente, y por pura chiripa, he conseguido que funcione.

Resulta que este, mi nuevo, ordenador no tiene BIOS, sino que usa una cosa llamada EFI, un invento de Intel para ser utilizado en servidores que ahora han adoptado los PC.  No es algo nuevo ya que existe desde mediados de los 90, lo que hace que tenga casi veinte años de existencia.  Lo que es nuevo es su uso en los PC... o, mejor dicho, en el sustituto del PC.  Porque estrictamente hablando, un ordenador que usa EFI no es un PC, ya que EFI no es "IBM PC Compatible".  Y a las pruebas me remito, porque si realmente fuera compatible esta entrada hubiera sido publicada el pasado martes con un título y un contenido bien diferentes.

Entonces, si ya no son PC, ¿por qué nadie ha anunciado su muerte?  Supongo que la razón es que, parafraseando el conocido adagio, cuando veo un ordenador que se ve como un PC, se usa como un PC y suena como un PC, a ese ordenador yo la llamo un PC1.  ¿Es importante?  Pues la verdad es que no, pero me apetecía comentarlo.


1 Who's Sitting on Your Nest Egg - Robin S. Davis.