miércoles, 30 de enero de 2008

Tira nº 59: 2PCs1Mac



Perdón por el retraso. Volverá a suceder ;-)

Correo sospechoso

Voy a pegar el texto de un correo que he recibido hoy mismo. No es un "pishing" (no pide ningún dato comprometido), más bien parece correo basura, pero tiene muy mala pinta. He marcado en rojo y resaltado los elementos más reveladores.
De: dasport
Asunto: Le invito a trabajar en una empresa internacional concesionaria de automóviles.

Buenos dias
Nuestras encuestas demostraron que el 59% de las personas de su edad no estan satisfechas de sus ingresos y desean aumentarlos.
Por eso nos gustaria proponerle la posibilidad de trabajar con nosotros a media jornada. Para ganar 137-415 euros a la semana, tendra que gastar 2-4 horas a la semana.
Tiene que tener un telefono de contacto (preferentemente un movil), un ordenador y e-mail. Si lee estas lineas, significa que tiene todo lo necesario para el trabajo.
La reclutacion durara hasta el fin del mes. De momento, tenemos 76 vacancias en su region.
Tendra que procesar transferencias de nuestros clientes. Es un trabajo sencillo que exige atencion y exactitud. Proporcionaremos soporte y todo lo necesario para el trabajo.
No se necesitan inversiones.
?Quienes somos? Somos un enorme intermediario internacional de automoviles. Si decide hacerse nuestro empleado, recibira como prima suplementaria el 5% de descuento sobre la compra de un coche con nosotros y ayuda, si es necesario, en la tramitacion del credito del coche.
Me gustaria proporcionarle personalmente la informacion complementaria. No utilizamos programas automaticos de contestacion. Leemos cada carta y contestamos por escrito.
Para agilizar la respuesta, por favor, escribeme a la direccion: JerryWattsJJ@gmail.com

Gracias por indicar los siguientes datos personales:
1. apellido
2. pais
3. ?esta interesado por trabajar a jornada completa o a media jornada?

Tengo que advertirle que la respuesta puede tardar varios dias por causa de la gran carga de nuestros servidores de correo. Pero no dude que su carta estara leida y que le contestaremos.
Espero con impaciencia su respuesta,
VictorB.
Jefe del servicio de personal

Diseccionemos:

  1. ¿Quién nos está escribiendo realmente? ¿dasport, JerryWattsJJ ó VictorB?

  2. ¿Por qué el remitente utiliza una cuenta de infomail (perteneciente a Telefónica) y no el de una empresa?

  3. ¿Por qué nos piden contestar a una cuenta de Gmail? ¿No tienen ni siquiera un dominio propio para enviarles correo?

  4. dias, estan, gustaria, tendra, ... ¿No saben ortografía o qué? Ni una tilde en el texto.

  5. Tiene que tener ... y un poco más adelante Proporcionaremos soporte y todo lo necesario ...
    ¿En qué quedamos? ¿Pongo yo el ordenador o ellos?

  6. ?Quienes somos? Todas las frases interrogativas comienzan con el signo de cierre de interrogación, no el de apertura.

  7. puede tardar varios dias por causa de la gran carga de nuestros servidores de correo. Genial, nos dan como contacto una dirección de correo de Gmail y luego nos cuentan que tienen una sobrecarga en sus servidores de correo.


Hay que mirar con lupa cualquier correo "rarito" que nos llege. Éste tiene toda la pinta de ser el típico correo para captar incautos y blanquear dinero.

lunes, 28 de enero de 2008

No soy paranoico

Hoy vamos a hablar de medidas elementales de seguridad para la navegación en Internet. Cada vez se detectan formas más sofisticadas de engaños y explotación de vulnerabilidades, y no son simples bromas de adolescentes.

Los delitos informáticos (estafas, robo de contraseñas, suplantación de identidad, ...) se extienden y todos estamos en el punto de mira de los delincuentes.
No pretendemos ser alarmistas, está ocurriendo y es relativamente fácil prevenir: sólo se necesita sentido común y tomar algunas precauciones.

  • Uno de los ataques más típicos es el intento de robo de contraseñas ("phishing")
    Consiste en conseguir las credenciales de alguien para acceder a un sitio suplantando a esta persona (bancos o cualquier otro servicio "online"). Imagine que alguien accede a la cuenta de su banco. No sería agradable.
    Si recibe un correo, llamada telefónica, mensaje o SMS de algún sitio donde tenga abierta una cuenta (banco, PayPal, eBay, ...) en el cual le solicitan su nombre de usuario y contraseña "para comprobar su acceso" o "para realizar labores de mantenimiento" o alguna otra excusa similar, desconfíe por sistema.
    La forma más típica es poner enlaces "falsos" en el mensaje (parece que apuntan a un sitio pero realmente llevan a otro) o utilizar nombres de dominio que parecen "auténticos".

    • Ningún banco ni sitio serio pide a los usuarios su nombre, identificador de acceso y la contraseña. Ninguno.
      Si su banco se lo pide, cambie de banco. No es seguro.

    • Estos mensajes sospechosos son muy característicos: a menudo contienen faltas de ortografía, errores de conjugación o concordancia, no tienen tildes, o presentan caracteres "raros".

    • Se suelen dirigir a ud. como "estimado usuario", con un saludo genérico, sin especificar su nombre propio ("estimada Sra. Zutánez").

    • Utilice alguna herramienta "anti-phishing".



  • Otro ataque posible es el "Cross-site scripting"
    Es un ataque más peligroso puesto que no se aprovecha de los usuarios sino de vulnerabilidades de los navegadores y fallos de programación de las páginas web. Sin profundizar mucho, podríamos decir que consiste en el robo de las credenciales para un sitio "A" desde un sitio "B".
    A los usuarios finales no nos quedan muchas opciones para protegernos frente a este problema. Los siguientes consejos pueden minimizar el riesgo:

    • Mantener nuestro navegador actualizado es una buena medida de seguridad.

    • Mientras que esté realizando una transacción no abra otras páginas web.
      Una vez que termine su transacción o trámite, utilice la opción "Desconectar" o "Salir" o "Logout" que ofrecen la mayor parte de los sitios web o cierre todas las ventanas activas del navegador.



  • Capturadores de teclas (keyloggers)
    Son programas que capturan las páginas web que visitamos y registran las teclas que pulsamos. Estos datos luego los envían de alguna forma a un tercero.
    Por supuesto, nadie instala un "keylogger" voluntariamente. Son un tipo de virus llamados "troyanos".
    Prevención, la típica de siempre: no instalar programas de fuentes no verificadas y utilizar un antivirus (en Windows).

  • Pharming
    Consiste en suplantar la dirección de un dominio de internet por una falsa. Este ataque se puede llevar a cabo de forma local (en su ordenador personal) o en un servidor de nombres (más grave: afecta a todos los usuarios).


Para concluir esta entrada, les recomendamos encarecidamente que dediquen unos minutos a leer estos dos artículos en la página Alerta Antivirus en la que explican (mucho mejor que nosotros) algunos peligros y formas de evitarlo.

viernes, 25 de enero de 2008

Bulos que rulan

Es raro el mes en que no recibo el típico mensaje con el asunto "Urgente: virus muy peligroso. Pásalo" o algo parecido. Con el tiempo, uno llega a la conclusión de que practicamente todos estos mensajes son bulos (hoax, en inglés).

La próxima vez que le llegue un mensaje de este tipo puede realizar un experimento: copie el título del mensaje y junto a la palabra "hoax" haga una búsqueda en Internet. Enseguida verá bastantes referencias e indicios de que el mensaje no es muy fiable.

Por supuesto no hay que desconfiar de la persona que nos lo envió: seguro que lo hizo con la mejor intención. Ésta es una de las razones por las que estos mensajes se difunden tanto.

La temática de estos bulos no se reduce a asuntos técnicos. Muchos de estos falsos mensajes apelan a nuestra solidaridad, otros amenazan con maldiciones y todo tipo de desgracias si no los reenviamos, ...

Se preguntarán ustedes qué cuál es el problema: si el mensaje no le interesa lo borra y punto.

Pues no, no es tan simple. Cada vez que se reenvía un mensaje de este tipo, si no se tiene cuidado y se eliminan las direcciones de correo de las personas por las que ha ido pasando el mensaje, estas direcciones se van acumulando en las cabeceras y/o en el cuerpo del mensaje.
Al final esta suculenta colección de direcciones de correo electrónico válidas acaban cayendo en las manos de "spammers" o comerciantes sin escrúpulos que las venden.
Puede sonar paranoico, pero es real: los mensajes reenviados múltiples veces son una buena fuente de direcciones de correo electrónico.

Otros perjuicios que provocan los mensajes en cadena son la sobrecarga de servidores de correo y la pérdida de tiempo que suponen.
Para saber más:

jueves, 24 de enero de 2008

Hoy toca formatear

¿Cuántas veces hemos podido escuchar la siguiente conversación?

- El ordenador cada vez va más lento ...
- Lo mejor es que formatees y reinstales el Windows de nuevo.

¿Por qué ocurre esto? ¿Es normal que con el uso habitual se ralentice y sobrecarge el sistema?

Cuando instalamos un programa en Windows el procedimiento suele ser el siguiente: ejecutamos el programa de instalación y éste se encarga de copiar los archivos necesarios en la ubicación necesaria. Cuando desinstalamos el programa, un programa de desinstalación borra los archivos que se copiaron.

Esta es la teoría. En la práctica, el proceso de desinstalación no siempre es todo lo eficaz que debería: algunos archivos no se borran, otros se quedan en carpetas "del sistema" (dentro de C:windows o sus subcarpetas), ...

Por otra parte, muchos programas, al instalarse también instalan programas auxiliares que se ejecutan en segundo plano (algunos dejan un iconito en la barra de tareas -al lado del reloj-). Estos programas o servicios (muchas veces prescindibles), ocupan memoria y consumen tiempo del procesador (CPU). Algunos programas permiten configurar estos servicios en segundo plano (habilitarlos o deshabilitarlos), pero otros programas no ofrecen esa posibilidad.
Otros programas se ejecutan automáticamente al iniciar la sesión (algunos salen listados en el "Menú inicio" > "Programas" > "Inicio") sin que nosotros podamos controlar este comportamiento.

En resumen, el proceso de instalar y desinstalar programas puede ir "ensuciando" el sistema. Esto ocurre sobre todo con las aplicaciones o programas "para usuarios finales" (los programas orientados al segmento profesional suelen ser menos instrusivos y permiten controlar más el proceso de instalación y desinstalación).

[Ojo a las negritas en "puede" y "suelen": todo esto son generalizaciones]

Mi hipótesis es que todo esto es una de las causas más frecuentes de la ralentización del sistema.

Tenemos que tener en cuenta que los (necesarios) antivirus y otros programas de seguridad también introducen una sobrecarga. Por supuesto, los virus, gusanos, troyanos y todo tipo de "malware" también ralentizan bastante.

Mi consejo es mantener una "higiene" estricta con nuestro ordenador:

  • Asegurarnos de que no tenemos virus ni guarrerías similares. Utilizar programas bajados de redes P2P es un riesgo: pueden estar "infectados".

  • Antes de instalar un programa cualquiera, asegurarnos de que realmente lo necesitamos e informarnos un poco (foros, listas de correo, documentación) de sus funciones y los posibles problemas que puede dar.

  • Al instalar programas, molestarse en leer los distintos cuadros de diálogo y opciones que ofrece el programa de instalación. En ocasiones éste permite un control fino de lo que se instala y su funcionamiento.

  • Curiosear en las opciones o configuración del programa una vez instalado para ver si está habilitada alguna característica que pueda provocar algún enlatecimiento en el sistema.


Queda la lista abierta: si conocen más métodos preventivos, pueden dejarlos en los comentarios.

miércoles, 23 de enero de 2008

Viejitos muy actuales

Parece que en esto de la informática se evoluciona muy rápido, que todo es lo último de lo último, ... pero no.

En esta entrada quiero recordar algunas tecnologías con varias décadas a sus espaldas que se siguen utilizando hoy en día.

  • El lenguaje de programación C:
    En 1972 Ken Thompson y Dennis M. Ritchie diseñaron un lenguaje de programación para utilizarlo en el sistema operativo UNIX. 35 años más tarde, sigue siendo uno de los lenguajes más utilizados en la programación de sistemas operativos, programas en los que el rendimiento es crítico y muchas más aplicaciones.

  • El sistema operativo UNIX:
    Íntimamente ligado al lenguaje C, su desarrollo comenzó en 1969, basado en otro sistema llamado MULTICS. A lo largo de los años se han desarrollado múltiples variantes y clones. Algunos sistemas UNIX actuales: Mac OSX, Linux, la familia de sistemas BSD, Solaris, ... y bastantes más.

  • El lenguaje COBOL:
    Son las siglas de "Lenguaje Común Orientado a Negocios" (en inglés). Como su nombre indica, se utiliza principalmente en sistemas financieros: bancos, aseguradoras, etc. Se diseñó en 1960 y se estima que es uno de los lenguajes más utilizados (en líneas de código escritas).

  • El protocolo TCP/IP:
    Desarrollado en los años 70, este protocolo (conjunto de reglas y especificaciones que utilizan los dispositivos para comunicarse a través de una red) ha demostrado ser fiable y proporciona la base de Internet tal y como la conocemos hoy en día. Otras arquitecturas o protocolos de red han "sucumbido" y no se usan tan ampliamente como TCP/IP.

  • Bases de datos relacionales:
    La teoría fue desarrollada por Codd en 1970 y a lo largo de esa década surgieron distintas bases de datos relacionales. Durante la década de los 80 las bases de datos relacionales (y su lenguaje propio, SQL) se impusieron a otros sistemas de bases de datos, de tal forma que algunas personas jóvenes no hemos conocido otro sistema que no sea el relacional.


Hay muchísimos más ejemplos de tecnologías y sistemas bastante veteranos que siguen utilizándose ampliamente. Existe en todos ellos un denominador común: son tecnologías muy probadas y estables. En muchos entornos, ésta es una cualidad muy valorada.

Animo a los lectores que nos dejen más ejemplos de "viejitos" actuales en los comentarios.

martes, 22 de enero de 2008

Los informáticos contamos empezando por 0

A veces tengo que llamar a un servicio técnico que funciona de la siguiente forma: llamo, digo quién soy, qué problema tengo y a continuación me validan una contraseña que nos han asignado. Por seguridad (no es muy recomendable decir la contraseña en voz alta rodeado de gente), en vez de pedirme la contraseña completa, me piden sólo algunas letras o cifras de la misma: "por favor, dígame las posiciones 1, 6 y 7 de su contraseña".

La primera vez que llamé no fui capaz de decirle las letras que me pedía hasta el tercer intento por lo menos. ¿Qué pasó?
Sencillo: estaba contando los caracteres como si estuviese programando, empezando por 0.

Normalmente, procederíamos así a la hora de contar (en la línea de arriba, la palabra, en la de abajo, la numeración o posiciones):
 C | o | n | t | r | a | s | e | ñ | a

 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10

Sin embargo, un programador contará así:
 C | o | n | t | r | a | s | e | ñ | a

 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Casi todos los lenguajes de programación y sistemas siguen este esquema: empezar a contar desde cero. ¿Por qué se hace de esta forma tan poco intuitiva?
La razón que me parece más sencilla es la siguiente: el número 0 también contiene información.

Cuando utilizamos los números naturales para contar empezamos con el 1 porque el 0 no tiene significado: si no hay nada que contar, no contamos. Si hay algo que contar, empezamos por la unidad: "una manzana, dos manzanas, ..."

Sin embargo en los ordenadores cuando contamos en realidad lo que estamos es enumerando direcciones o posiciones.
Vamos a ver un sencillo ejemplo:

Supongamos que tenemos una ínfima memoria RAM de 8 bytes. Esto quiere decir que sólo disponemos de 8 "huecos", "casillas", posiciones o direcciones de memoria.
Podemos pensar en la memoria RAM como en un montón de buzones de correo apilados.

Si queremos acceder a una de estas direcciones para recuperar el contenido o escribir algo necesitamos saber su dirección. Como sabemos, los ordenadores sólo utilizan ceros y unos para contar, así que con tres bits seremos capaces de direccionar toda la memoria:
000 - 001 - 010 - 011 - 100 - 101 - 110 - 111

Estas ternas de números binarios son en el sistema decimal:
0 - 1 - 2 - 3 - 4 - 5 - 6 - 7

Así que tendremos el buzón 0, el buzón 1, el buzón 2, ... hasta el buzón 7. Total, 8 buzones.
Si nos hubiésemos empeñado en numerar los buzones desde el número 1 no nos hubiesen bastado 3 bits (*), puesto que el número 8 en binario es 1000 (**).

Los mayoría de los lenguajes de programación trata las cadenas de texto de la misma forma. Por ejemplo, el lenguaje PHP (con el cual están programados estos blogs) tiene una función o instrucción para extraer parte de una cadena de texto:
substr('Contraseña', 1, 5) nos proporciona 5 caracteres de la palabra 'Contraseña' a partir de la posición 1, esto es, "ontra".
Como ven, también cuentan desde 0.


Notas

(*) Existe una regla muy sencilla para saber cuántas posiciones podemos abarcar con n bits: 2^n.

  • Con 3 bits podemos contar 2^3 = 8 posiciones, esto es, del 0 al 7.

  • Con 4 bits podemos contar hasta 2^4=16 posiciones (del 0 al 15).


Un ordenador que funcione con 32 bits (los Pentium "clásicos", por ejemplo) podrá direccionar 2^32 = 4.294.967.296 direcciones, es decir, 4 Gigas de memoria. No compre más memoria que esta cantidad para su viejo Pentium. No podrá utilizarla.

(**) A los informáticos también se nos dan muy bien las potencias del número 2. Pregúntenle a un programador "¿cuanto es 2^10?". Seguro que le contesta con bastante rapidez ;-)

viernes, 18 de enero de 2008

La batalla de los formatos (3ª parte)

Hoy, formatos de documentos ofimáticos.
A finales de la década de los 80 uno de los programas más populares en todas las oficinas era el Word Perfect. Este programa era (y sigue siendo) un procesador de textos potente y muy completo que dominó el mercado. Por entonces el sistema operativo en los ordenadores personales era generalmente MS-DOS y al parecer, este programa funcionaba y se integraba muy bien con el sistema (escribo un poco de oídas, nunca utilicé el Word Perfect).
A principios de los 90, Microsoft publicó el sistema Windows y una versión de su procesador de textos, Microsoft Word, para este sistema. A la vez que Windows crecía en popularidad, Word (y la "suite" ofimática completa, Microsoft Office) pasó a ser el producto ofimático más utilizado.
En 1995 Microsoft publicó el sistema operativo Windows 95 y una versión actualizada de su suite ofimática, Office 7.0. En ese momento, ya era el producto dominante del mercado. Con el paso del tiempo, los formatos .doc (procesador de textos MS Word), .xsl (hoja de cálculo MS Excel) y .ppt (editor de presentaciones MS PowerPoint) se convirtieron en un estándar "de facto".
(Se rumorea que una posible razón del rápido éxito de los productos ofimáticos de Microsoft era la facilidad con la que se podían "piratear" estos programas. No recuerdo donde lo leí ...)
Mientras tanto, los productos competidores cada vez se utilizaban menos y sus desarrolladores se veían obligados a implementar la posibilidad de leer y escribir documentos en el formato (no documentado y propietario) de MS Office para no perder aún más usuarios. Lotus Smart Suite, WordPerfect Office, Star Office y otros productos cada vez eran menos utilizados.
Microsoft empezó a tener problemas legales a partir del año 2000 en EEUU y en la Unión Europea por abuso de su posición dominante en el mercado. En la Unión Europea y algunos estados de EEUU se empezó a considerar que utilizar como formato por defecto un producto propietario no era adecuado porque creaba una dependencia tecnológica indeseable.
Alternativas
En 2006 se aprobó por la ISO (International Standars Organization) el formato Open Document, basado en el formato interno utilizado por la suite ofimática Open Office. Apoyan este formato prácticamente todos los "grandes": IBM, Adobe, Sun MicroSystems, ...
Al ser un formato abierto y público rápidamente lo han implementado la mayor parte de programas y suites ofimáticas, excepto la suite de Microsoft (aunque existe un "añadido" para que pueda manejar este formato).
A finales del mismo año, Microsoft contraatacó presentando su propio formato de archivo ofimático, Office Open XML e intentando que también sea reconocido como estándar por la ISO. Las críticas no se hicieron esperar.
La jugada comercial parece clara: intentar que su propio formato sea reconocido como estándar para evitar problemas legales y poder seguir vendiendo su producto a organismos oficiales (un buen cliente) sin trabas.
En estos momentos el proceso de estandarización no está cerrado y Microsoft ha presionado todo lo que ha podido para conseguir que su especificación sea aceptada.
El problema es que Microsoft no ha esperado para empezar a utilizar este formato, aprobado por la ISO o no. La última versión de su producto, Office 2007 ya utiliza este formato por defecto (totalmente incompatible con versiones anteriores de Office).
La próxima vez que envíe un documento creado con Word 2007, observe si la extensión es .docx. Si es así, es muy probable que el receptor de este documento no lo pueda abrir si no tiene la última versión de Office (1). Creanmé: no todos usamos el MS Office ni mucho menos, su última versión.
(1) Casi todos los programas alternativos a Word pueden manejar el formato antiguo, el .doc de siempre, pero el nuevo .docx todavía no.

martes, 15 de enero de 2008

Esclavizados por Google

"Si no sales en Google, no existes". Ésta parece ser la máxima que estamos adoptando todos los que trabajamos en este mundillo de Internet.

Se diseñan las páginas web pensando en Google, se escriben y redactan los contenidos pensando en Google, se enlazan las páginas pensando en Google, ...

En algunos "estudios" se proporciona como dato para estimar la popularidad o importancia de un asunto o término el número de páginas que salen al buscar en Google una palabra o frase determinada.
Cuando Google "penaliza" un sitio web por alguna práctica que considera inadecuada, en algunas empresas ruedan cabezas. Tener un "PageRank" alto parece ser el culmen profesional de todo responsable de una web.

Al final, la motivación de todo esto es, en muchos casos, económica. Un buen posicionamiento garantiza muchas visitas y posibilita que nuestro sitio web sea más atractivo a los anunciantes. Algunas personas pensábamos hace unos años que el día que Internet se convirtiese en un negocio muchas cosas cambiarían para peor (otras para mejor, todo hay que decirlo) y esto ya ha ocurrido.

Google para muchas personas se ha convertido en el sinónimo de Internet. Cada vez menos gente teclea direcciones (me incluyo) en el navegador: directamente meten el nombre de la página web en el cajetín de búsqueda de Google y listo. Otros buscadores lo tienen cada vez más difícil. En España se estima que el 77% de las búsquedas se hacen a través de Google (fuente). Si esto no es un monopolio, poco le queda.

lunes, 14 de enero de 2008

Usabilidad vs. diseño

Nos contaba Amparo Estrada el otro día en su blog las dificultades que encontró para realizar un sencillo trámite en el sitio web de una operadora de telefonía. Me pregunto qué interés tienen algunas operadoras en que sus páginas web parezcan más una feria de colorines que un sitio web útil y funcional.

En informática se dice que algo es usable cuando (según las normas ISO 9126 y 9241) un producto permite que los usuarios puedan interactuar satisfactoriamente con el producto, más concretamente:

""La usabilidad se refiere a la capacidad de un software de ser comprendido, aprendido, usado y ser atractivo para el usuario, en condiciones específicas de uso"

"Usabilidad es la eficiencia y satisfacción con la que un producto permite alcanzar objetivos específicos a usuarios específicos en un contexto de uso específico"

Según estas definiciones, las páginas que mencionaba nuestra compañera no eran nada "usables" (1).

Para algunos/as diseñadores/as de páginas web, parece que usabilidad y diseño son términos opuestos. Nos da la impresión que algunas páginas web parecen más un escaparate que otra cosa. Por supuesto, no todos los diseños son así, menos mal. La mayor parte de los/as diseñadores/as son capaces de hacer diseños agradables, atractivos, bonitos, con una navegación fácil e intuitiva sin caer en estridencias (2).

Uno de los mayores enemigos de la usabilidad es el mal uso y abuso que se hace de la herramienta Flash. Se ven sitios web totalmente realizados en Flash, sin ninguna alternativa de texto tradicional. Lo peor es cuando el diseño además exige una versión diferente del "plugin" de Flash a la que tenemos instalada en nuestro navegador.

Ni siquiera la misma página de la compañía Adobe, propietaria de la tecnología Flash, utiliza la misma es su página web. Cualquier diseñador o desarrollador web medianamente informado sabe que las páginas realizadas con Flash no son legibles por los buscadores si no están bien hechas (ni por muchas personas que, por la razón que sea, no utilizan un "plugin" de Flash en su navegador).

No sólo los diseñadores cometen errores de usabilidad ni estos se reducen a las páginas web. Los programas informáticos "de escritorio" también son pasto de malos diseños, esta vez realizados por los programadores.

Vean el siguiente cuadro de preferencias de un programa de visualización y retoque de imágenes para Windows:

captura-iv.jpg

¿Qué ven? Es un cuadro de diálogo de los que hemos visto miles de veces, pero ... ¿no les agobia un poco?
Tenemos 12 pestañas, cada una con muchas opciones. Esto no es malo, el programa del que hablamos es un buen programa y tiene muchas opciones configurables.
El problema son las tres pestañas rotuladas como "Varios 1", "Varios 2" y "Varios 3". Autoexplicativo, ¿verdad?
Una de las opciones de este programa que a mí me gustan más es que se puede configurar para que nunca haya más de una ventana abierta del programa, todas las imágenes se cargan en la misma ventana. Adivinen cómo viene rotulada esta opción: "Permitir sólo una instancia activa de IrfanView".
No parece muy afortunado el término instancia. Si el usuario no tiene una formación técnica (y no tiene porqué tenerla) probablemente no entienda qué quiere decir esta opción.

Otro ejemplo de diseño poco usable es el sistema operativo UNIX y algunas de sus versiones (como Linux o MacOSX). En estos sistemas operativos se puede utilizar una interfaz de comandos para trabajar (3).
El problema es que las opciones de estos comandos suelen ser muy poco uniformes. Por ejemplo, en algunos programas la opción "v" solicita al programa su versión, pero en otros programas significa "verbose", esto es, que el programa proporcione más información de la habitual.
Algunos programas UNIX requieren que las opciones se les pasen con un guión "-" y una letra única (p. ej: -v), otros con dos guiones "--" y una palabra completa (p. ej: --version) y otros, una mezcla de ambas (-version).

En este caso es la herencia de un sistema operativo con más de 30 años de antiguedad.
Afortunadamente, la mayoría de los programas y "utilidades UNIX" hoy en día admiten los dos "estilos" (con guión simple y doble)

(1) Entrecomillo el término por no ser una palabra reconocida por la RAE.
(2) Existe una especie de museo de los horrores de páginas web realmente desagradables en la página QuéWeb!
(3) No voy a entrar (hoy) en el debate de si una interfaz de líneas de comandos es algo obsoleto, difícil o no. A muchos nos resulta muy útil -aunque poco usable a veces ;-)

miércoles, 9 de enero de 2008

La batalla de los formatos (2ª parte)

Hoy: formatos de audio

Desde que se han popularizado los reproductores de audio portátiles con memorias flash (reproductores de MP3, para entendernos) nos hemos familiarizado bastante con el formato MP3, pero, ¿sabemos en qué consiste? ¿Conocemos alguna alternativa? Trataremos de arrojar un poco de luz sobre el asunto.

Hay dos formas de digitalizar el sonido: sin comprimir o con compresión, ésta a su vez puede ser sin pérdida y con pérdida.

Los formatos de audio sin comprimir guardan la información sonora tal cual la recogen, dependiendo la calidad de esta conversión principalmente de dos parámetros: la frecuencia de muestreo y el ancho de palabra o número de bits empleados en la cuantificación.

Muestreo y cuantificación son dos conceptos relativamente complejos, mencionaremos sólamente que cuanto mayor es la frecuencia de muestreo y mayor el número de bits empleados al cuantificar, mejor (o más fidedigno) es el proceso de conversión del sonido al formato digital. Por ejemplo, en los CDs de audio la frecuencia de muestreo es aproximadamente 44 kHz y el ancho de palabra utilizado es de 16 bits.

Los formatos de audio sin comprimir más conocidos son WAV (Waveform Audio Format), AIFF (Audio Interchange File Format) y AU. De ellos, el formato wav es el más conocido, principalmente por ser utilizado como formato de audio predominante en el sistema operativo Windows. Los otros dos formatos tienen un ámbito de utilización más restringido [1], son utilizados en aplicaciones profesionales (sistemas de audio profesional, CDs de audio, ...) y en los sistemas operativos Macintosh y UNIX, respectivamente.

Estos formatos sin comprimir se caracterizan como ya hemos dicho por la alta fidelidad del sonido digitalizado (dependiendo siempre de los parámetros que mencionábamos anteriormente) y por ser bastante "pesados", esto es, ocupan mucho espacio.

Hemos grabado dos fragmentos de audio con dos frecuencias de muestreo diferentes en el mismo equipo, uno a 8 kHz y el otro a 48 kHz. El primero ocupa 92 KBytes, el segundo 432 KBytes (¡casi medio mega!), y el fragmento de audio apenas dura unos segundos. Comprueben la calidad de cada uno de ellos: 8khz.wav y 48khz.wav

Ya que el audio sin comprimir es muy pesado se han diseñado distintas formas de reducir el tamaño de los archivos de audio manteniendo más o menos la fidelidad del sonido. A este proceso se le denomina compresión.Si en el proceso de compresión (reducción de tamaño) se conserva toda la información sonora original, hablamos de formatos de compresión sin pérdida. No son los más conocidos, FLAC (Free Losssless Audio Codec) es, probablemente, el más importante.

Los formatos de audio comprimido con pérdida son aquellos en los que al tratar la muestra sonora original reducimos el tamaño sacrificando la fidelidad al utilizar una técnica llamada "codificación perceptual":
Los humanos no somos capaces de discriminar todos los sonidos que suenan simultáneamente cuando algunos son mucho más intensos que otros (enmascaramiento).
Si eliminamos de la muestra sonora estos sonidos enmascarados reduciremos la cantidad de información que guardamos (y por lo tanto el tamaño) sin que apreciemos pérdida alguna.

El problema es que el umbral de enmascaramiento no es el mismo para todas las personas. Un oído entrenado puede discernir sonidos en una mezcla que otros no pueden. Los algoritmos de codificación con pérdida no pueden tener en cuenta estas particularidades y utilizan modelos estadísticos.

El parámetro más importante en una compresión de audio es el "bitrate" o "tasa de bits". Cuanto mayor es éste valor, mayor fidelidad al original conseguimos (se suprimen menos sonidos), pero no se consigue tanta reducción de tamaño. Se utilizan tasas de 48 a 96 kbps (kilobits por segundo) para aplicaciones de baja fidelidad (voz, ...), tasas de 128 kbps para música con una calidad aceptable y de 192 kbps para una mayor calidad.
Se dice (rumorea) que un fragmento de música comprimido en MP3 a 256 kbps es prácticamente indistinguible del original, incluso para los oídos más finos y entrenados.

En los siguiente archivos hemos comprimido un fragmento de música desde un CD a diferentes tasas. Los tamaños de archivo son, respectivamente, 48 kB, 128 kB y 256 kB (curiosamente ha coincidido el tamaño del archivo con la tasa de compresión: si hubiese querido hacerlo adrede, no lo hubiera conseguido).
Escuchen los resultados: 48kbps.mp3 128kbps.mp3 256kbps.mp3 [2]

Los formatos de audio comprimido con pérdida más conocidos son los siguientes:

  • MP3
    Es uno de los formatos más veteranos, extendidos y soportados. Probablemente sea el formato que adolece de más limitaciones técnicas de los cuatro.
    Es un formato patentado por el Instituto Fraunhofer IIS. Esto quiere decir que cada cachivache o programa que maneja ficheros MP3 debe pagar a esta institución. Los usuarios no pagamos directamente, aunque supongo que una pequeña parte del precio que pagamos por nuestro aparatito debe ir destinado a abonar por la patente.

  • Vorbis
    Formato que destaca principalmente por ser libre (sin patentes, de código abierto) e incorporar bastantes mejoras respecto al formato MP3. El principal lastre de este formato es que no está apoyado por ninguna compañía, por lo que no tiene tanta penetración en el mercado, aunque poco a poco ésta va aumentando.

  • WMA
    Formato creado y apoyado por Microsoft. Destaca principalmente porque es el formato de audio comprimido "por defecto" en el sistema operativo Windows.

  • AAC
    Formato creado por Apple [3] por varias compañías (Dolby, Fraunhofer IIS, AT&T, Sony y Nokia) y utilizado intensivamente por Apple. Es el formato de audio predeterminado en algunas tiendas de música "on-line" y en los reproductores portátiles de la marca Apple (aunque pueden reproducir otros formatos).


Estos dos últimos formatos (WMA y AAC) incorporan la posibilidad de limitar de alguna forma la reproducción de los archivos y el uso que se hace de ellos, principalmente para impedir copias y reproducciones no autorizadas.

Podemos decir que los formatos que incorporan tecnologías DRM (Digital Rights Management o Gestión de Derechos Digitales) limitan en cierto modo la libertad del usuario por un producto que ha pagado. Además, en algunos países (como en España) la copia privada de música (para uso personal y sin ánimo de lucro) está permitida y autorizada, por lo que estas tecnologías son bastante cuestionables desde el punto de vista legal.

Hasta que el formato Vorbis tenga una mayor implantación (algunos reproductores ya lo soportan), prefiero utilizar MP3 e ignorar estos formatos propietarios.
Que cada uno se informe y use lo que le convenga.

[1]: Corrección: como bien indica un lector en los comentarios, el formato AIFF es el que internamente se utiliza en los CDs de audio.

[2]: En otra entrada un lector me reprochaba el haber caído en el tópico facilón cuando escribí, medio en broma, medio en serio que "el mejor Jazz era el de los años 50". Para resarcirme un poco, el fragmento de ejemplo es un tema del primer disco de Joshua Redman (saxofonista), grabado en 1993.

[3]: Corrección: otro lector me ha indicado que Apple no diseñó el formato AAC.

domingo, 6 de enero de 2008

Navegadores en Windows

En las anteriores entradas comparábamos el consumo de recursos entre varios navegadores en Linux y MacOSX. Le toca el turno a los navegadores más típicos en Windows (XP).

Hemos probado Internet Explorer 7, Firefox y Opera.

navegadoreswindows.png

En esta ocasión sólo hemos abierto 6 pestañas en cada uno de ellos. El resultado me ha sorprendido: IE7 consume más del doble de memoria que Opera.

procesoswindows.png

miércoles, 2 de enero de 2008

Comenzamos mal el año

Los lectores más madrugadores del día 1 de enero han podido comprobar que la página "Edición papel" no funcionó por la mañana durante un rato.

La culpa ha sido del que firma estas líneas: debido a un error de programación, la página trataba de mostrar todas las portadas hasta el año 2038. Obviamente, todavía no publicamos el periódico con tanta anticipación. Tras un breve repaso, descubrí mi error (un error trivial, todo hay que decirlo) y en unos minutos ya estaba todo arreglado.

Pero, ¿por qué trataba de mostrar las portadas hasta el 2038 y no otra fecha? La razón es la forma en que la mayoría de los sistemas informáticos manejan las fechas: miden el tiempo basándose en una fecha "cero" o inicial y contando los segundos desde esta fecha. La fecha de referencia más habitual es el 1 de enero de 1970 a las 00:00:00 horas.

El número de segundos desde esta fecha de referencia se denomina "timestamp" (marca de tiempo) y, como decíamos, es uno de los métodos más habituales de manejar las fechas/hora en informática.

En el momento en que estoy escribiendo esto, mi sistema me dice que el "timestamp" es 1199227361, esto es, han pasado ese número de segundos desde el 1 de enero de 1970.

La mayor parte de las máquinas actuales utilizan 32 bits para representar el tiempo, esto quiere decir que pueden manejar valores entre -2147483648 y 2147483647. En el momento que alcancemos el segundo 2147483648, los sistemas fallarán y seguirán contando en el segundo -2147483648, una cifra sin mucho sentido. Por ejemplo, mi equipo "piensa" que el segundo 2147483648 corresponde al 13 de diciembre de 1901.

El segundo 2147483647 realmente lo alcanzaremos el día 19 de enero de 2038. Si para entonces no se han modificado los sistemas actuales, tendremos un problema, el llamado "Problema del año 2038". Se espera que en ese momento la mayoría de equipos utilizarán 64 bits para manejar las fechas y horas, pero ¿qué pasará con los sistemas que todavía utilicen 32 bits? Todavía no hay una solución definitiva, pero no hay mucha prisa, tenemos 30 años por delante para arreglarlo. Esperemos que no nos "pille el toro".