lunes, 27 de octubre de 2008

Novedades en www.publico.es/cine

En los últimos meses hemos recibido bastantes sugerencias de los lectores para la sección de cine, así que en las últimas semanas hemos desarrollado algunas mejoras en nuestra sección de cine, www.publico.es/cine

Lo más destacado es lo siguiente:

  • Se separan en distintas secciones las carteleras y las salas de cada población.

  • Las películas que son estrenos salen destacadas en el inicio.

  • Se puede acceder rápidamente a las películas que se emiten en cada sala de una determinada población.

  • Hemos incorporado un buscador por título.

  • Tenemos dos secciones nuevas y diferenciadas: noticias sobre cine y "Público te invita" donde periódicamente se harán públicas invitaciones a películas o preestrenos.

  • Ahora hay RSS de las noticias, promociones, cartelera en ciudades y en cines.


Seguiremos mejorando esta sección, es una de nuestras predilectas.

martes, 14 de octubre de 2008

¿Virus en Público.es?

Nos llamó ayer un lector comentándonos que cuando entraba en la web de Público su antivirus le avisaba de que la página contenía un archivo malicioso, un troyano, para ser más concretos.

Nos sorprendió mucho porque, salvo la publicidad, todo el contenido lo generamos en la redacción y en el sistema de publicación sólo entra texto (nunca código) y recursos multimedia. Los puestos de trabajo tienen un antivirus que está siempre actualizado.

Era un poco extraño que desde la redacción hubiese llegado un virus o algún otro "bicho" a la web, así que todo apuntaba a que el supuesto "virus" venía de algún proveedor de contenido externo (banners o contenidos similares).

Al poco rato este amable lector (gracias, Vicente) nos remitió una captura de pantalla del error que le mostraba su antivirus (era Kaspersky). En la captura se veía que el archivo que provocaba este aviso era un JavaScript externo (no alojado en www.publico.es).

Concretamente, era un contador de visitas de la empresa Nielsen. Tras hablar con ellos, rápidamente nos confirmaron que era un falso positivo del antivirus y que habían avisado a la empresa que desarrolla este antivirus. En estos momentos, el problema está arreglado. Las personas que utilicen este antivirus deben actualizarlo para incorporar la nueva base de datos de virus.

Parece que no sólo nos ha pasado a nosotros, en más sitios que audita Nielsen ha ocurrido este incidente. Tampoco es la primera vez que un antivirus se "equivoca". Los falsos positivos son bastante habituales.
Nota al pie: si les preocupa la seguridad informática, les recomiendo el servicio de noticias sobre seguridad informática "Una al día" de Hispasec.

miércoles, 8 de octubre de 2008

El procesador de textos menos conocido

Si su campo profesional está dedicado a la ciencia básica (física, química, matemáticas, etc) seguramente conocerá, aunque sea de oídas, el sistema de procesamiento de texto LaTeX. También es bastante popular entre el sector informático, pero fuera de estos campos, no es tan conocido.

¿Qué es LaTeX?

Empecemos haciendo un poco de historia: Donald E. Knuth desarrolló a finales de los años 70 un sistema de composición tipográfica informatizada porque no le gustaba mucho cómo estaban quedando algunos volúmenes de su obra "The Art of Computer Programming". Este sistema lo denominó TeX. Posteriormente, en los años 80, Leslie Lamport desarrolló un conjunto de instrucciones (macros) que hacían más fácil la utilización del sistema de Knuth. Este desarrolló se llamó LaTex.

¿Qué ofrece LaTeX?

  • LaTeX se orienta totalmente al contenido del documento que estamos escribiendo y a su estructura. En nuestro documento definiremos encabezados, secciones, subsecciones, listados, definiciones, etc, sin preocuparnos en ningún momento de cómo van a quedar en el documento final.

  • Otro punto fuerte de LaTeX es su especialización en la notación científica y técnica. Las fórmulas y ecuaciones más complejas se pueden representar y con una calidad muy alta. Muchas publicaciones científicas de prestigio exigen que los trabajos a publicar se entreguen en formato LaTeX.

  • LaTeX trae sus propias fuentes, no depende de las que vienen instaladas con nuestro sistema operativo. Y estas fuentes son muy buenas, con una calidad y un uso contrastado de más de 20 años.

  • Actualización: Al ser un formato basado en texto plano es idóneo para integrarlo en un sistema de control de versiones, como CVS o Subversion.

  • Actualización: notas al pie (footnote), citas (quote) y otros formatos típicos de la edición impresa son muy fáciles de hacer y se maquetan automáticamente. Se pueden hacer anotaciones (comentarios) que luego no se ven en el documento final.


¿Cómo se utiliza LaTeX?

Aquí viene el único "pero" que puede tener LaTeX: no es un entorno "WYSIWYG". El texto se escribe en un archivo de texto plano (con la extensión .tex) y en este texto se incluyen instrucciones para el sistema LaTeX. En realidad, LaTeX es un lenguaje de marcado (un concepto parecido al HTML con el que se sirven las páginas web).
No es tan fácil como abrir el procesador de textos y empezar a escribir: hay que saberse (o tener cerca una referencia) las instrucciones básicas.

Una vez que tenemos nuestro texto escrito y "marcado", invocamos al programa latex (o pdflatex, una versión especializada en generar archivos PDF) y obtenemos el documento final procesado y listo  en formato .dvi (latex) o .pdf (pdflatex). El funcionamiento es parecido al de un compilador. Índices, referencias cruzadas, listados de ecuaciones, figuras o tablas, bibliografía, ... Todo lo gestiona (y muy satisfactoriamente) LaTeX.

Actualización: Distribuciones y editores de LaTeX

Para Windows, una de las distribuciones más conocidas es MikTeX. Para MacOSX, encontramos MacTeX (o la distribución que provee Fink). En otros sistemas como Linux o *BSD, generalmente LaTeX viene incorporado al sistema de paquetes.

Respecto a los editores, hasta el más modesto editor de texto vale (como el Bloc de notas de Windows), pero algunos editores más especializados proporcionan facilidades como resaltado de sintaxis, accesos directos a las funciones e instrucciones más habituales, botones para invocar directamente al programa latex, etc.

Kile (Linux), TeXnicCenter (Windows) y  TeXShop (MacOSX) son algunos de los más habituales. Otros editores más genéricos disponen de "plugins" o añadidos especializados.

También existen programas "WYSIWYG" que funcionan internamente con LaTeX, como LyX y TeXmacs.

Para terminar este pequeño homenaje a este magnífico sistema, les dejo unas muestras:

Esta es la estructura típica de un documento LaTeX:

fuentelatex.png

El pdf final queda así:

pdf-final.png

Ampliado. Las fuentes son muy bonitas y agradables de leer en papel impreso:

fuentes.png

jueves, 2 de octubre de 2008

Máquinas virtuales

La emulación de un dispositivo por parte de otro no es nada nuevo, pero es relativamente reciente en los sistemas "de escritorio".

Existen sistemas que pueden ser emulados por un ordenador con relativa facilidad: una máquina recreativa "arcade" (1), un dispositivo móvil (2), etc. Sin embargo, lo más ambicioso es emular un ordenador completo y que la máquina virtual que ejecutemos sea utilizable (que no sea extremadamente lenta, que pueda ejecutar un sistema operativo más o menos moderno con fluidez, ....)
Hoy en día esto es posible y existen muchos productos, (los hay comerciales, gratuitos y de código abierto [ver enlaces]) que dan un rendimiento excelente, siendo posible ejecutar varios sistemas operativos simultáneamente con un rendimiento bastante decente.

En estas configuraciones existe un sistema operativo "anfitrión" que ejecuta el programa de emulación o virtualización. Este programa se encarga de crear "máquinas virtuales", cada una con sus propias características (memoria RAM, disco duro, procesador, dispositivos, etc) que pueden ejecutar su propio sistema operativo ("huésped") y programas (3).

¿Para qué sirve tener un ordenador corriendo "dentro" de otro ordenador?
Las aplicaciones son numerosas, enumero algunas de las más típicas:

  • Probar programas en distintos sistemas.
    Existen muchos lenguajes y herramientas de programación que pueden ejecutarse en distintos sistemas operativos ("cross-platform"). Es vital probar cómo se ven estos programas, ya que cada sistema funciona diferente en la gestión de ventanas, tamaño de los elementos visuales (botones, menús, fuentes), etc.
    Teniendo varios sistemas virtualizados se puede probar el mismo programa sin necesidad de tener varios ordenadores diferentes o reiniciar el ordenador con otro sistema operativo.
    En la siguiente captura de pantalla (4) se muestra el típico programa de ejemplo (una ventanita que dice "¡Hola, mundo!") en los sistemas operativos MacOSX (anfitrión), Linux y Windows (huéspedes).

  • Centros de soporte a usuarios.
    Cuando se distribuye un programa, aunque esté diseñado para funcionar sobre sólo un sistema operativo, se pueden encontrar múltiples combinaciones de versiones, actualizaciones, parches, etc. Por ejemplo, podemos tener sistemas Windows XP con diferentes "Service Pack", diferentes versiones de Internet Explorer, algunos con la versión "Home Edition", otros con la "Professional", etc.
    Se puede tener un conjunto de máquinas virtuales con todas las combinaciones posibles y probar los programas en estas configuraciones con suma facilidad.

  • Servidores dedicados.
    Cada vez es más frecuente que se ofrezcan servidores dedicados que realmente son una máquina virtual corriendo sobre un servidor real. Al usuario que contrata este servidor dedicado la impresión que le queda es que tiene una máquina para su uso exclusivo, sin embargo, la máquina "real" es compartida por más usuarios, cada uno con su máquina virtual.

  • Evitar reinicios y/o cambios de ordenador.
    Existen programas que sólo se ejecutan sobre un sistema operativo. Si disponemos de una máquina virtual con este sistema y el programa en cuestión instalados, podemos trabajar habitualmente con nuestro sistema preferido y arrancar la máquina virtual cuando necesitemos el programa en cuestión.
    No siempre esto es posible, puede que este programa requiera muchos recursos y no funcione bien en una máquina virtual, o que necesite un controlador de vídeo específico, etc, pero en muchos casos, es una solución viable. Las máquinas virtuales se pueden ejecutar a pantalla completa y su velocidad es bastante buena en muchos casos (5).


¿Algún lector nos puede poner más usos y ejemplos? Si tienen alguna captura de pantalla puedo incorporarla a esta entrada.


Captura 1: emulación de una máquina recreativa arcade. El programa emulador es MAME.

MAME

Captura 2: emulación de un teléfono móvil. El programa es el entorno de desarrollo Netbeans.

Móvil

Captura 3: un ordenador con MacOSX (anfitrión) ejecutando dos máquinas virtuales (huéspedes) corriendo Linux y Windows (pulsar para ver a pantalla completa).

Host MacOSX

Captura 4: el típico "¡Hola, mundo!" en tres sistemas operativos diferentes (pulsar para ver a pantalla completa).

Hola mundo en tres sistemas operativos

Captura 5: se muestra una sesión de trabajo en la que un anfitrión Linux ejecuta una máquina virtual Windows, a pantalla parcial y pantalla completa.



Enlaces:
VMware: ofrece varios productos, unos gratuitos (VMware Player) y otros comerciales.
VirtualBox, Qemu, Bochs, Xen: gratuitos y de código abierto.