Mostrando entradas con la etiqueta software libre. Mostrar todas las entradas
Mostrando entradas con la etiqueta software libre. Mostrar todas las entradas

sábado, 25 de diciembre de 2010

Gestores de bibilografía: BibTeX y BibDesk

Iba a hablar de gestores de bibliografía (por ejemplo, esto, esto o esto), pero he decidido posponer la entrada para explicar mi punto de vista sobre el tema. Un servidor produce sus documentos (científicos y no tanto) generalmente con LaTeX, no con un típico procesador de textos. Generalmente, con un procesador de textos, se puede utilizar una aplicación que gestiona la bibliografía y que a menudo instala un plug-in (un menú o una barra de herramientas) que permite ir añadiendo citas al documento (de todas maneras, OpenOffice, y parece que las últimas versiones de MSWord, incluye su propio sistema bibliográfico). Al acabar, basta con indicar el estilo de las citas y de la bibliografía para que el gestor genere la bibliografía y formatee las citas con el estilo deseado, voilà! ¿Que más adelante se necesita cambiar el estilo? Basta con indicarlo en el menú para que las citas y la bibliografía queden reformateadas con el estilo correspondiente.

LaTeX tiene un estupendo sistema para incluir bibliografía en los documentos, llamado BibTeX. Sin embargo, aquí no se necesitan plug-ins ni menús. La razón es que un documento LaTeX, para quien no lo haya mirado en el enlace de arriba, se escribe como un simple texto sin formato. La estructura del documento se indica con una serie de etiquetas, como \begin{document} o \section{Resultados}. Cuando se quiere ver el resultado, el texto se pasa por el compilador de LaTeX y se obtiene un hermoso documento PDF.

Cuando queremos introducir bibliografía en un documento LaTeX, utilizamos varias de esas etiquetas. Por ejemplo, \cite{ji2010a} indicaría que queremos citar un trabajo que hemos etiquetado como ji2010a. Allí donde queramos que aparezca la lista de referencias, escribimos \bibliography{mybib}. Al generar el PDF se tomarán los datos del archivo mybib.bib (lista de referencias en formato BibTeX), apareciendo las citas y la lista de referencias perfectamente formateadas (hay muchos más detalles que omito, por no ser cargante).

Lo importante es que veáis que para mí no es una prioridad el tener un sistema de gestión de bibliografía que incluya un plug-in para introducir citas en mis documentos. Ya lo hago yo mientras escribo, y LaTeX se encarga de todo lo demás. Lo importante para mí, es que el sistema que utilice tenga la capacidad de exportar las referencias en formato BibTeX, lo cual no es complicado, ya que, junto a RIS, se ha convertido en uno de los estándares para guardar información bibliográfica. A propósito, hay bastantes programas que utilizan BibTeX para almacenar referencias, pero esto no quiere decir que sólo se puedan usar con LaTeX. Muchos permiten generar bibliografías para utilizar con un procesador de textos.

Para gestionar mis archivos BibTeX utilizo BibDesk (a propósito, LaTeX, BibTeX y BibDesk son software libre, ¿lo dudábais?). Es un gestor de bibliografía bastante sencillo de usar y a la vez bastante potente, solo para MacOS, a propósito (para los desencantados, echad un vistazo a Bibus, JabRef y similares). Utiliza el formato BibTeX para guardar las referencias, por lo que puedo utilizar los archivos directamente con mis documentos de LaTeX, bastante cómodo. Como otros gestores bibliográficos, tiene integrados varios motores de búsqueda (PubMed, Web of Science) para poder realizar la captura de referencias sin tener que estar saltando al navegador. Además, puede importar y exportar varios tipos de formatos de bibliografía, para cuando hay que compartir bibliografías o hay que obtener referencias que no están disponibles en PubMed (puedo acceder a WoS —de pago— a través de FECyT por estar en una universidad, pero este tipo de acceso no lo reconoce BibDesk).

Generalmente, cuando encuentro una referencia nueva y puedo bajar el PDF, lo hago y lo guardo en mi "biblioteca" (un sistema de carpetas con el nombre de las revistas). Me gusta especialmente cómo enlaza BibDesk con los PDF, basta con arrastrarlos a un área lateral de la ventana mientras se tiene a la referencia en cuestión seleccionada, y ya queda disponible para ser abierto (incluso ojeado desde el propio programa). Y si el PDF se mueve a otra carpeta no hace falta reenlazar el documento, BibDesk hace uso de algunas características del sistema de archivos de MacOS para no perder la pista del archivo. Si éste cambia de sitio, el sistema le dice a BibDesk dónde encontrarlo, sin que nosotros tengamos que hacer ningún cambio.

Pues esto es lo que quería presentar antes de entrar a hablar de sistemas de gestión de bibliografía, para que veáis de dónde vengo y lo que estoy utilizando ahora. Esto no quiere decir que no me interese utilizar un sistema que me permita guardar la bibliografía de otra manera (tal vez más eficiente en cuanto al flujo de datos), o que me permita crear bibliografías con mi procesador de textos (OpenOffice, por supuesto). Sencillamente, no son prioridades para mí, o al menos no tanto como que me permita enlazar cómodamente PDFs, disponer de salida en formato BibTeX o, necesidad de última hora, poder tener mi bibliografía "en la nube" y compartirla ágilmente. Esto último no me lo permite hacer BibDesk (tiene alguna capacidad de compartir bibliografías, pero bastante limitada), y es lo que me ha movido a escribir sobre este tema. El próximo post, descubriendo nuevas posibilidades para la gestión bibliográfica.

A propósito, un ejemplo de una entrada en un archivo de BibTeX:

@article{ji2010a,
Author = {Ji, Yingbiao and Tulin, Alexei V},
Journal = {Curr Opin Genet Dev},
Month = {Oct},
Number = {5},
Pages = {512-8},
Title = {The roles of PARP1 in gene control and cell differentiation},
Volume = {20},
Year = {2010}
}

Cada línea corresponde a una parte de la referencia, creo que las etiquetas son bastante descriptivas (una pista: la referencia es de un artículo de una revista, y la etiqueta para citarla es ji2010a). Obviamente, cuando BibTeX procesa la entrada, reorganiza toda esta información de manera que el formato de la referencia corresponda a lo que deseamos.

martes, 16 de noviembre de 2010

Un primer encuentro con Firefox 4 (beta)


Acabo de aprovechar para bajarme la última versión, aún en beta, de mi navegador favorito, Firefox. Como es habitual, me ha sorprendido muy gratamente. El tiempo de arranque se ha reducido bastante, la navegación es muy ágil, y algunos defectillos parece que han desaparecido. Le han dado un nuevo "look", que en parte me gusta, pero al que tardaré unos días en acostumbrarme. En el breve tiempo que lo he probado, no ha hecho cosas raras ni se ha cerrado sin avisar. Buena cosa para una beta.

De momento, vuelvo al eficiente Firefox 3.6. La razón es que no todos los complementos funcionan en la versión 4 beta, y algunos realmente los necesito. Ha sido una experiencia breve pero intensa, esperemos que Firefox 4 salga pronto.

Para los aventureros, se puede bajar de:
http://www.mozilla.com/es-ES/firefox/beta/

domingo, 8 de noviembre de 2009

Sincronizando datos: rsync (4) y un toque de SSH

Hablamos de crear unos scripts para automatizar el proceso de sincronización con el servidor. Nada más sencillo que abrir un editor de texto y escribir:

#!/bin/bash
rsync -axzuvh --delete --force-delete --exclude='.*' "/Users/myuser/Documents/miBiblioteca/Libros" my.server.com:/home/biblioteca/

Guardamos (por ejemplo, con el nombre bibliosync.libros) y convertimos el archivo en ejecutable. Para mayor comodidad, podemos añadir el directorio donde guardamos nuestro script a las rutas de búsqueda del intérprete de comandos que estemos usando. Esto se queda un poco fuera del tema, así que pongo lo que usé yo, y lo podéis adaptar a vuestro caso sin más que buscar por la red:
  • Para convertir bibliosync.libros en ejecutable: chmod og+x ~/bin/bibliosync.libros
  • Para añadir ~/bin a las rutas de búsqueda de bash (el intérprete de comandos que yo uso), basta con abrir el archivo ~/.profile (o ~/.bashrc) y buscar (o crear) una línea parecida a export PATH=$PATH:/sw/bin, y añadir dos puntos y nuestro directorio de scripts al final. Por ejemplo: PATH=$PATH:/sw/bin:~/bin.
Como yo tengo varios directorios que sincronizar, he creado varios scripts con el nombre bibliosync.lo_que_quiero_sincronizar, más que nada, para ahorrar un poco de tiempo cuando quiero sincronizar un solo directorio. Para cuando quiero una sincronización general, tengo otro script que lo único que hace es ir ejecutando los scripts particulares secuencialmente.

Por último, voy a comentar un pequeño detalle sobre SSH. Cada vez que queramos sincronizar, SSH nos va a pedir la contraseña para acceder al servidor, lo cual puede ser un poco pesado. Para evitarlo, y si la seguridad de nuestro ordenador no está comprometida (e. g., no lo vamos dejando a todo el mundo, o tenemos una cuenta de invitado sin privilegios para ello), podemos crear un archivo de clave en nuestro ordenador y copiarlo al directorio de claves autorizadas del servidor. De esta manera, nuestro ordenador se autentificará automáticamente con el servidor cada vez, sin tener que introducir nosotros la clave. Muy brevemente, sería algo así:
  • Creamos una pareja de claves (privada y pública) escribiendo ssh-keygen en nuestro ordenador. Nos pedirá una passphrase (hagámosla complicada).
  • Esto nos creará un par de archivos. Por defecto, éstos serán id_rsa e id_rsa.pub, en el directorio oculto ~/.ssh. Dejaremos id_rsa (o como lo hayamos llamado) allí, que está bien.
  • El archivo pub lo copiamos al servidor, al directorio ~/.ssh, y le cambiamos el nombre a authorized_keys. Ojo, tiene que ser en la cuenta de usuario que utilizamos para realizar la sincronización. Si ya existe un archivo authorized_keys, hay que copiar el contenido de nuestro nuevo archivo al final de aquel.
Con esto debería bastar, y nuestro backup sería tan simple como escribir el nombre del script adecuado.

sábado, 7 de noviembre de 2009

Sincronizando datos: rsync (3)

En el post anterior os conté cómo se hace una sincronización básica con un servidor remoto. Sin embargo, la última orden que os puse no hacía lo que yo deseaba:

rsync /myuser/biblioteca/ myusername@myserver.address.com:/users/biblioteca

Recordad que en el primer post os dije que, por defecto, rsync realiza una copia simple, sin borrar archivos que ya no existen en el origen, sin copiar directorios, etc. La orden que me sirvió fue ésta:

rsync -axzuvh --delete --force-delete --exclude='.*' /myuser/biblioteca/ myusername@myserver.address.com:/users/biblioteca

Como veis, hay varios códigos precedidos por guiones. Son opciones de rsync, que me permitieron que funcionase como yo quería. Aunque tenéis su significado en los enlaces del primer post (y no olvidéis que tenéis el manual de rsync escribiendo en consola man rsync), voy a describirlas una a una. Un aviso, estas opciones tienen su forma larga (precedida por --) y su forma abreviada (precedida por -). En la forma abreviada, se pueden concatenar varias opciones. Por ejemplo, -axzuvh equivale a -a -x -z -u -v -h.

-a
Modo de archivo, equivale a escribir -rlptgoD. ¿Y qué significa -rlptgoD? Pues que rsync debe comportarse recursivamente (-r), es decir, que debe copiar directorios y los archivos que contengan (un problema que quería resolver); también debe copiar enlaces simbólicos (-l, no entro en esto); debe preservar los permisos de los archivos, su propietario, su grupo, y, si son archivos de dispositivo o especiales, deben permanecer como tales (-pgoD, tampoco entro, pero es muy importante si queremos que los archivos sincronizados se "comporten" como los originales); y debe preservar la hora de modificación de los archivos (-t) ya que, si no, la hora de modificación se cambiaría a la de copia. Vamos, que con -a rsync nos realiza una sincronización del directorio que le ordenemos, con todos sus contenidos y exactamente tal como estaban esos contenidos, sin que haya modificaciones de sus propiedades de por medio.

-x
Esto evita que si dentro del directorio a sincronizar hay una ruta que lleva a un dispositivo de almacenamiento distinto, evite el salto al otro dispositivo. Esto no les será familiar a los usuarios en general, pero es que, en sistemas Unix, los sistemas de almacenamiento (discos duros, DVD, etc.) aparecen como simples directorios. Es decir, que si en mi ruta hay un directorio llamado Pendrive, donde he "montado" mi pendrive de 4 GB, los contenidos de ese pendrive se sincronizarán, a menos que incluya -x. La verdad es que es un concepto un poco difícil de explicar en poco espacio, y, en mi caso, yo no tendría ese problema. Pero me parece que es útil incluir esta opción como precaución.

-z
Le decimos a rsync que comprima los archivos durante la transferencia. Más uso de CPU y memoria (poco importante con los maquinones que utilizamos estos días), pero se aligerará la transferencia por red. Que sepáis que hay opciones adicionales para evitar, por ejemplo, recomprimir archivos ZIP o JPEG (lo cual no tendría beneficios), o para forzar una compresión más rápida o más intensa.

-u
Imprescindible en toda buena sincronización. Con esta orden, no transferimos al destino los archivos que tienen una fecha y hora de modificación más reciente que en el origen. Imaginemos que he subido al servidor (por otra vía distinta a rsync) el archivo "Informe actualizado.pdf". Cuando rsync revise el destino, verá que "Informe actualizado.pdf" es más reciente que su copia en el origen, y no lo actualizará. Esta opción tampoco es necesaria en mi caso, pero la he incluido "por si acaso".

-v
Con esta opción, rsync nos va informando de lo que va haciendo (archivos transferidos, velocidad, etc.), con lo cual podéis ver si suceden cosas raras.

-h
Modo "legible para humanos". Es decir, el tamaño de los archivos no se muestra en bytes (por defecto, sino en KB, MB o GB. Muy útil para entender la información que se muestra en pantalla.

--delete
Si un archivo existe en el destino, pero no en el origen, se borra. Recordad que me interesa que el destino sea igual al origen. Si borro algo en mi ordenador, quiero que desaparezca del servidor.

--force-delete

En principio, si un directorio en el destino no está vacío, no se borrará aunque uséis --delete. Con --force-delete, si borráis un directorio en el origen, desaparecerá en el destino, aunque contenga archivos.

--exclude='.*'
Esta opción os permite utilizar expresiones para evitar que rsync copie determinados archivos. Por no entrar en ello, en mi caso estoy diciendo a rsync que no considere los archivos que empiezan por un punto (que son archivos ocultos en sistemas UNIX). Yo utilizo Mac OS X, que tiene la costumbre de crear archivos ocultos en determinados directorios para guardar cierta información de sistema. Como no me interesa que esos archivos se copien al servidor, utilizo esta opción.

Y ya está. No tengo más que realizar pequeñas modificaciones para acomodar rsync a mis propósitos. En la siguiente (y última entrada sobre el tema, espero), os contaré cómo simplifiqué este proceso con scripts y cómo evité tener que introducir la contraseña de SSH cada vez que quería sincronizar con el servidor.

jueves, 27 de agosto de 2009

Sincronizando datos: rsync (2)

En el post anterior lo dejamos con lo básico, pudiendo transferir los archivos nuevos, pero sin sincronizar realmente. Veamos algo de lo que puede hacer rsync.

Lo primero es comentar una curiosidad que resulta crucial a la hora de decirle a rsync lo que tiene que copiar. Recordemos la forma básica del comando:

rsync /myuser/mydata/ /myuser/mydata_copy

Si os fijáis, puse una barra al final del nombre de la carpeta origen (/). Por si no lo sabéis, en Unix se utiliza la barra inclinada (/) para separar los nombres de las carpetas, mientras que en Windows se utiliza la barra invertida (\). Pues bien, el poner la barra final le dice a rsync que copie el contenido de la primera carpeta en la segunda. ¿Y si no ponemos la barra? Pues rsync copiará la carpeta misma. Es decir, en este caso, nos aparecerá la carpeta mydata dentro de mydata_copy, tal que así: /myuser/mydata_copy/mydata

Continuemos con la historia. Recordad que quiero sincronizar mi biblioteca personal con la de un servidor, de manera que la copia del servidor sea idéntica a la de mi ordenador. Entonces, lo primero será indicar a rsync que debe sincronizar con otra máquina. Veamos:

rsync /myuser/biblioteca/ myserver.address.com:/users/biblioteca

Como veis, lo único que he hecho es preceder la ruta de la carpeta de destino con la dirección del servidor (puede ser el nombre DNS o la IP), separándolos con dos puntos. Los dos puntos le dicen a rsync que debe establecer conexión con esa máquina. Y ya está. Bueno, no todo. En realidad, lo que hace rsync es utilizar SSH (secure shell), así que en la máquina de destino tendrá que estar funcionando un servidor SSH (si es Linux, OpenSSH se instala rápido y sin problemas). No voy a entrar en detalles, sólo decir que SSH permite acceder a otra máquina de forma "segura", y que es lo que utiliza rsync para identificarse y poder así transferir los archivos. Excepto por el hecho de que los archivos se transmiten por red, no hay más complicación para nosotros. Lo que sí tendremos que hacer es entrar nuestra contraseña de usuario cada vez que usemos rsync para transferir archivos de o hacia otra máquina (sí, podemos hacer rsync miservidor.com:/carpeta_origen/ /mi_ordenador/carpeta_destino). Ojo, la contraseña que usemos en la otra máquina. Tengamos en cuenta que rsync manda automáticamente el nombre de usuario que estemos usando en el momento de ejecutar la orden. ¿Y si tenemos un usuario distinto en el otro sistema? Pues nada más sencillo que esto:

rsync /myuser/biblioteca/ myusername@myserver.address.com:/users/biblioteca

Donde myusername es un nombre de usuario de una cuenta activa en la máquina remota. Entramos su contraseña y ya está (en otro post os comentaré cómo evitar tener que estar introduciendo la contraseña cada vez).

Hay otra opción, que es tener a rsync corriendo como servidor en la máquina destino. En ese caso, tendríamos que separar el nombre de la máquina de la ruta de la carpeta destino por :: en vez de usar :, pero esto es otra historia en la que no nos meteremos (más información en los enlaces que os pasé en el post anterior).

Y por hoy ya es suficiente. La próxima entrada: cómo hacer una sincronización de verdad.

sábado, 22 de agosto de 2009

Sincronizando datos: rsync (1)

Hace bien poco he conseguido algo que tenía ganas de hacer desde hace bastante tiempo: sincronizar fácilmente mi ordenador de trabajo con un servidor que monté en el curro para diversas cosas (página web, bases de datos varias, archivo de bibliografía). ¿El secreto? Un pequeño programa llamado rsync.

Un requisito era que el sistema tenía que ser sencillo, no comercial, libre e incluido en los sistemas UNIX con los que trabajo: MacOS X y Linux (Ubuntu). Rsync está también disponible para Windows, por supuesto.

La situación es ésta: la máquina con Linux es el servidor del que hablaba. Tiene un directorio llamado biblioteca con varios subdirectorios, donde mantengo una selección de documentos (casi todos PDF) a disposición del grupo de investigación: Congresos y simposios (copias de proceedings, abstracts sueltos, etc.), Libros y Tesis (eso mismo), Separatas (artículos científicos procedentes de revistas, casi todas peer-reviewed) y Otros (patentes, legislación y miscelánea). A propósito, directorio es más conocido como carpeta, así que utilizaré esa denominación.

Hasta ahora, mantenía todo esto organizado a mi gusto en mi ordenador personal, pero la necesidad de compartirlo con el resto del grupo me llevó a tener que resolver un problema: ¿cómo actualizar la copia del servidor cada vez que actualizaba mi copia personal? Desde luego, replicar los cambios era imposible (son más de 7 GB, con más de 20000 PDF y otros tantos ítems diversos). Copiar los 7 GB completos, posible con un disco duro portátil, demasiado lento por red. Obviamente, conociendo las posibilidades de hacer una sincronización que transmitiese sólo aquellos elementos nuevos o modificados, me puse a buscar la manera. Tardé poco, ya que ya había hecho algo similar en el pasado para realizar copias de seguridad de otro servidor (aunque esa vez, a un disco duro externo conectado por USB). Rsync sería mi elección.

Hay varias páginas donde se puede obtener información sobre rsync (ejemplo), posiblemente mucho mejor explicado que aquí. Yo voy a describir cómo lo hice, por si alguien quiere hacer algo similar.

En primer lugar, rsync en su modo más básico simplemente compara un grupo de archivos con otro, y copia sólo aquello que ha cambiado. Haciendo una comparación con el "arrastrar para copiar" entre ventanas, es básicamente lo que ocurre cuando arrastramos un grupo de archivos de una carpeta a otra y el sistema copia aquellos que no existen en el destino, preguntando si debe sobreescribir aquellos que tienen el mismo nombre. En esa situación, nosotros miraríamos si la fecha de modificación de los archivos y su tamaño son distintos, y, sólo en ese caso, aceptaríamos la copia. Eso es lo que hace Rsync, sólo que automáticamente, si escribimos algo como:

rsync /myuser/mydata/ /myuser/mydata_copy

Rsyinc compara los archivos de la carpeta mydata con los de mydata_copy y copia los archivos de mydata que no existen en mydata_copy, y aquellos que sí existen pero que tienen distinta fecha de modificación o distinto tamaño. Aquellos archivos que no cumplan esas condiciones no se tocan, por lo que el proceso es muchísimo más rápido que una simple copia, especialmente si hay muchos archivos y se modifican raramente.

Sin embargo, rsync tal cual es muy limitado. Por ejemplo, si un archivo ha sido borrado de mydata, no desaparece de mydata_copy (se supone que quiero sincronizar, es decir, al final ambas capetas deben tener la misma información). Si hay subcarpetas, resulta que sus contenidos no se tienen en cuenta (si creo una subcarpeta en mydata y la lleno con archivos, en mydata_copy aparecerá esa subcarpeta... vacía). Además, las fechas y horas de modificación de los archivos sincronizados cambian a la hora en la que se realizó esa sincronización (igual que otros parámetros del archivo). Obviamente, rsync "tal cual" no me vale para mi propósito, hay que darle algunas órdenes, pero lo dejo para otra entrada.

Os dejo algunos enlaces por si queréis irlo descubriendo vosotros mismos:
rsync web pages
Página de manual de rsync
rsync en la Wikipedia
Algunos ejemplos del uso de rsync

martes, 2 de septiembre de 2008

Un nuevo (y prometedor) navegador en la red

Lo han hecho otra vez. Google está en trámites de sacar a la luz su nuevo navegador, llamado Google Chrome. Al parecer, querían mantener el secreto un poco más, pero alguien se equivocó y... mejor leéis la historia, mejor contada, en Google Bogloscoped y en el blog oficial de Google.

Brevemente, el nuevo navegador está basado en el trabajo de Mozilla (desarrolladores de Firefox y Thunderbird) y Safari (el navegador de Apple). Si Firefox y Safari ya son buenos de por sí, es de esperar que Chrome sea un navegador al que, como mínimo, haya que dar una oportunidad. Han desvelado bastantes cosas en un cómic : estabilidad, seguridad, rapidez. Y lo más importante, es un proyecto de código abierto, así que otros podrán aprovechar el trabajo (igual que ellos se han aprovechado del código abierto de Firefox y Safari, y estos a su vez de otros...).

Respecto a la relación con otros navegadores, tal como se comenta en John's Blog, esto no tiene por qué ser malo para Firefox. Será bueno para los usuarios: más competencia, más desarrolladores compartiendo código, productos mejores y más seguros.

Para los que no será bueno es para los que quieren seguir viviendo en la era pre-Internet. Veremos qué cara ponen los amiguitos de Redmon (esos que comercializan un sistema operativo hortera e inseguro). Ahora que Exploiter 7 por fin había conseguido mejorar con respecto a otros navegadores (aunque no mejorarlos, eso es difícil cuando todo lo que haces es copiar) y está a punto de salir la versión 8, se encuentran con un nuevo competidor que potencialmente les va a dejar muy atrás. Cuentan que IE, a pesar de estar optimizado para Windows, obtiene resultados muy mediocres cuando se compara con otros.

jueves, 7 de agosto de 2008

Antivirus

Aprovecho que he estado haciendo algunas indagaciones por ahí, para pasar alguna información sobre antivirus.

He de decir que es un tema que desconozco, ya que desde hace 5 años no trabajo más que con Mac OS X y Linux. Sin embargo, los virus los sufrimos todos, ya que a menudo producen tráfico de red e intentos de ataque a máquinas al azar, con lo cual la conexión a Internet se ralentiza.

Usuarios de Windows: no olvidéis que el peor problema no es que el ordenador vaya más lento o se borre el disco duro, sino que buena parte de los virus/troyanos se dedican a vigilar vuestra actividad y a mandar datos a los spammers, en el mejor de los casos. En el peor, mandarán vuestras contraseñas y números de tarjetas de crédito.

La primera reseña es sobre una página del sitio web de Alerta-Antivirus.es, que trata sobre productos antivirus gratuitos. Desconozco las prestaciones de los productos listados, pero me han llegado críticas muy malas de algunos de ellos, principalmente por copar los recursos del sistema (siendo peor tener el antivirus que el propio virus).

Sin embargo, en esa lista no aparecen dos productos muy interesantes. El primero es el avast! Home Edition. avast! comercializa varios productos, y su versión doméstica, que tiene bastante buen aspecto, se puede descargar sin coste ni limitaciones.

Otra opción interesante es ClamWin. No es sólo gratis, sino además libre. Es decir, el código está disponible para todos y no hay limitaciones tipo patentes, etc. Está basado en ClamAV, un antivirus multiplataforma. Lo que han hecho con ClamWin es dar a ClamAV una envoltura amigable, ejecutable en Windows y, si no me equivoco, con algunas características típicas de los antivirus habituales (integración con clientes de correo, buscador de virus en demanda, etc.). Aunque no parece tan completo como los otros, el que sea libre da cierta confianza, tanto en la bondad de su diseño (nunca sabes lo que se ha programado realmente en otros antivirus) como en que en el futuro se produzcan mejoras significativas.

En el mundo de los virus informáticos, como en el nuestro, es mejor prevenir que curar. Windows es una plataforma muy vulnerable (no voy a decir que se deje de usar, pero no está nunca de más hacer alguna prueba con Linux, o incluso Mac OS X), así que hay que tomar ciertas medidas. El punto de entrada más frecuente de virus es mediante la navegación web o por el correo electrónico. Por lo tanto:
  • Aunque Internet Explorer ha mejorado mucho en cuanto a seguridad (o eso esperamos), hay otras opciones mucho más convenientes en el mercado. Firefox, Opera o Safari son con mucho más fiables, tanto en seguridad como en velocidad y prestaciones (parece increíble, pero el navegador que viene con Windows parece ser bastante inferior).
  • Sustituye Outlook por Thunderbird, por ejemplo; además, visualizar mensajes en texto sin formato (es decir, no en HTML), no descargar imágenes ni otros objetos automáticamente de sitios externos y descargar los adjuntos a una carpeta en vez de abrirlos directamente son prácticas que evitarán muchos problemas.
N. B.: Firefox y Thunderbird, y Safari en parte, son software libre, razón de más para usarlos. Además, Firefox y Thunderbird tienen gran cantidad de plugins y complementos, con posibilidades de personalización inacabables.