la solucion esta en ser libres

espacio producto

Archivos RAW vs JPEG en fotografía digital

Por Alejandro Martínez
Project manager at OpenSistemas

Hace no mucho me decidí a dar el paso y comprar una cámara reflex digital (DSLR – Digital Single Lens Reflex). La calidad de las fotografías es mucho mayor que en una cámara compacta, ya que el sensor (el componente encargado de recibir la luz a través de la lente) es mayor con diferencia. Otra de las características de estas cámaras respecto a la mayoría de las compactas (algunas de alta gama también lo permiten) es la posibilidad de disparar en RAW y en JPEG. JPEG lo conocemos todos: es un formato gráfico que lleva muchos años entre nosotros y que funciona muy bien con fotografías. Pero, ¿qué es es un archivo RAW?

Primero, vamos a repasar qué sucede desde que pulsamos el disparador hasta que vemos la fotografía en la pantalla de nuestra cámara:
– La cámara mide la cantidad de luz que entra a través de la lente y calcula cuánto tiempo es necesario abrir el obturador para que la fotografía quede correctamente expuesta. Se puede decir que es una pequeña cortina que tapa al sensor.
– Al pulsar el disparador, la cámara abre el obturador durante el tiempo que ha calculado permitiendo que la luz incida en el sensor.
– El sensor está formado por fotoreceptores que se excitan al recibir luz y generan una señal eléctrica cuya intensidad varía en función de la luz recibida.
– El procesador de imágenes de la cámara se encarga de traducir las señales digitales del sensor en los píxeles que van a formar la imagen.
– La cámara genera un archivo JPEG a partir de esa información de píxeles y la guarda en la tarjeta de memoria de la cámara.
– La imagen JPEG de la tarjeta es leída y mostrada en la pantalla.

Un archivo RAW es la información que ha generado el sensor y que necesita ser interpretada para convertirla en una imagen. Por lo tanto, un archivo RAW NO es una imagen, es un “volcado” de la información que ha capturado el sensor. Cada fabricante crea su propio formato RAW (CR2/CRF para Canon, NEF para Nikon, PTX para Pentax…). Incluso dentro de un mismo fabricante, cambia el formato. Es diferente el archivo RAW generado por una Canon 5D Mark III que por una Canon 70D.

Es importante tener en cuenta que los archivos RAW son grandes, MUY grandes. Un JPEG que ocupa 5MB puede irse a los 25MB en un RAW de una cámara moderna. Esto se debe a que guarda mucha más información. Los JPEG tienen una profundidad de color de 8 bits (hay 256 valores posibles para cada canal de color RGB de cada píxel). Los RAWs generalmente tienen una profundidad de color de 12 bits, lo que permite 4096 valores distintos en vez de 256. Como se puede ver, la diferencia es grande. Ahora, ¿ese aumento de profundidad es perceptible por nuestros ojos? La respuesta es que sí, rotundamente. En fotografías con mucho cielo azul se puede ver que el degradado del color en los JPEG a veces no es suave. Con un archivo RAW esto no sucede. Pero lo cierto es que no solo nos interesa esa información adicional que podemos percibir, también es importante la información que NO podemos ver. Sí, sí, ya sé que suena raro, pero toda esa información es la que nos va a permitir desencadenar todo el poder de este formato. ¿De qué manera? ¡Cuando vayamos a revelar nuestras fotos!

Revelado digital

Con las cámaras analógicas de toda la vida, después de sacar las fotografías había que convertir los carretes en fotografías en papel. Los fotógrafos profesionales se encargaban del revelado, ya que durante esta parte del proceso se pueden tomas muchas decisiones que modifican el aspecto final de la fotografía. Los que no teníamos los conocimientos necesarios nos limitábamos a llevar el carrete a la tienda de fotografía del barrio y ellos hacían el revelado por nosotros (o se lo remitían a un laboratorio).

Con la fotografía digital, nosotros mismos podemos ser ese laboratorio. Efectivamente, también es necesario revelar las fotografías digitales, pero en lugar de hacerlo en una habitación a oscuras iluminada con una bombilla roja, lo vamos a hacer usando el ordenador. Los archivos RAW son también conocidos como “negativos digitales”. Y, al igual que en el caso de los negativos de toda la vida, el proceso de revelado es el que va a decidir cómo va a quedar nuestra fotografía. En realidad, cuando tomamos una fotografía en JPEG el revelado se está produciendo, pero lo está haciendo la cámara por nosotros. Al utilizar los archivos RAW, vamos a ser nosotros los que decidamos cómo interpretar la información capturada por el sensor.

Y aquí es donde entra la importancia de la información que no vemos, pero que está dentro de los archivos RAW. Al utilizar el software de revelado, podremos incluso corregir la exposición de la fotografía y hacer que zonas que se veían completamente negras nos enseñen sus detalles. La verdad es que verlo en funcionamiento es algo impresionante… ¡Parece brujería!, pero no, se trata del programa que extrae la información que estaba capturada por el sensor y la interpreta de diferente manera.

Para revelar archivos RAW tenemos dos opciones:
– Utilizar el software suministrado por el fabricante de la cámara (como Canon Digital Photo Professional).
– Utilizar un software de terceros (como Adobe Lightroom).

El software del fabricante es el que mejor va a procesar el archivo RAW. En los metadatos de los archivos RAW hay algunos que vienen cifrados y son para uso exclusivo del fabricante. Pero lo cierto es que esos metadatos no son demasiado importantes. Los realmente útiles (fecha de creación, lente utilizada, información de apertura, velocidad de obturación, …) sí pueden ser leídos por software de terceros. Adobe Lightroom es capaz de abrir RAWs de muchos modelos de cámara de distintos fabricantes. Además, el software como tal está a años luz del de los fabricantes (al menos respecto al de Canon, que es el que yo he visto). Así que mi consejo es claro: Lightroom, sin dudarlo. Es una herramienta compleja, pero la verdad es que con tener algunas nociones tu proceso de revelado digital puede hacerse muchísimo más sencillo. Y después, si te apetece, puedes ir poco a poco profundizando en esta aplicación hasta llegar a dominarla.

Así que ya sabes, ¡empieza a disparar en RAW y adéntrate en todo un mundo nuevo de posibilidades con tu cámara digital!

The post Archivos RAW vs JPEG en fotografía digital appeared first on Blog de OpenSistemas.

Backups LANFREE mediante copia de punteros

Por Juan Manuel Conde
Software engineer at OpenSistemas

Cuando necesitamos hacer backup de una gran cantidad de información de un servidor, puede llegar a ser inviable hacerlo por red. No obstante, existen agentes de backup que permiten realizar estas copias por fibra (LANFREE), pero si nuestro software de backup no dispone de ellos, podemos hacerlo aprovechando la copia de punteros con la que cuentan la mayoría de las cabinas de disco hoy en día.

La copia de punteros permite sacar fotos de discos sin tener que copiar su contenido, por lo que su creación y borrado es prácticamente inmediato. Para utilizarlas, solo tenemos que instalar el software de administración de la cabina por línea de comandos y reservar un espacio en disco donde crear las fotos.

El proceso para una cabina DS4800 de IBM sería el siguiente:

Se crea la foto (flashcopy en terminología IBM) del disco del que se va a hacer backup (system_ftp en este caso):
/usr/bin/SMcli -e -c "create flashcopylogicalDrive baselogicaldrive=\"system_ftp\" repositoryArray=24 repositorypercentofbase=5 userLabel=\"system_ftp-Foto\"; "

Asignamos la foto al servidor de backup por la lun 22:
/usr/bin/SMcli -e -c "set logicalDrive [\"system_ftp-Foto\"] logicalUnitNumber=22 hostGroup=\"BACKUP\"; "

Se hace un descubrimiento de discos en el servidor de backup para que vea la foto:
/usr/bin/rescan-scsi-bus.sh -i

Realizamos el backup del disco en local, desde el servidor de backup:
mount /dev/system/ftp /backup/ftp
hacer_backup /backup/ftp
umount /backup/ftp

Una vez finalizado, quitamos el disco del servidor:
echo "1" > /sys/class/scsi_disk/1:0:2:22/device/delete
echo "1" > /sys/class/scsi_disk/1:0:3:22/device/delete

Por último, se borra la foto y se desasigna del servidor de backup:
/usr/bin/SMcli -e -c  "delete LogicalDrive [\"system_ftp-Foto\"] ;"

The post Backups LANFREE mediante copia de punteros appeared first on Blog de OpenSistemas.

elementary OS: un sistema operativo para todos

Por Carlos Mendoza
Consultor Open Source en OpenSistemas

200px-Elementary_logo.svg_-150x150¿A cuántos os ha pasado que tenéis un portátil viejo o un PC muy antiguo y no sabéis qué hacer con él? O como al típico informático: ¿quién no tiene un amigo que le dice que le vea su ‘ordena’ porque le va muy lento? En algunos de estos casos la solución “simple” sería formatear el ordenador y reinstalar Windows, pero también existe otra alternativa: instalar una distro de GNU/Linux.

Si has elegido la segunda opción, llega el momento en que te preguntas, ¿pero y qué distro le instalo? Sabemos que GNU/Linux tiene muchos “sabores” para escoger, pero dado que el ordenador que queremos revivir tiene especificaciones no tan buenas, es necesario escoger una distribución que no requiera altos niveles de memoria y/o procesamiento.

Este fin de semana me he preguntado esto, y averiguando un poco me he encontrado con una distribución un tanto simpática y con muy buenos comentarios, se trata de elementary OS, una distribución de GNU/Linux basada en Ubuntu 12.04 (una versión de tipo LTE). Esta distribución promete ser una solución abierta y rápida para reemplazar Windows y OS X.

Instalar esta distribución ha sido similar a instalar Ubuntu con su Wizard, incluso se puede instalar desde un dispositivo USB como las distribuciones más actuales.

Para quienes deseen probarla, entre el 11 y 12 de abril se lanzó una nueva versión estable llamada Freya, la sucesora de Luna (Agosto 2013) y que incluye algunos cambios/mejoras como:

  • Vista multitareas rediseñada y mejorada.
  • Notificaciones interactivas descartables y un nuevo panel de ajustes que establece el modo “No molestar” para no recibir interrupciones.
  • Una interfaz más refinada gracias a una nueva hoja de estilos, iconos mejorados, un nuevo tema oscuro para las aplicaciones, mejoras en las animaciones, nuevos iconos simbólicos, transparencia inteligente del panel superior y otros detalles más.
  • Mejoras en el soporte de emojis y tipografías de Microsoft para la web.
  • Una nueva herramienta de firewall que incluye un “modo privado”.
  • Menú de aplicaciones mejorado, que ahora soporta acciones rápidas, drag & drop desde la caja de búsqueda y operaciones matemáticas.
  • Soporte para UEFI, la versión del kernel de Linux es la 3.16, y Freya usa Gtk 3.14
  • Nuevo asistente para facilitar la conexión a WiFi.
  • Cuentas de usuario rediseñadas, nuevos fondos de escritorio, nuevas pantallas.
  • Nuevas aplicaciones (Calculadora, Cámara, Vídeo, Fotos), y nuevos ajustes para los elementos de fecha y hora.
  • Soporte para calendarios en línea (Google Calendar y CalDAV).
  • La terminal y el gestor de archivos ahora soportan búsquedas.
  • Cabe mencionar que desde que lanzaron la versión Luna, ha sido descargada más de tres millones de veces y se ha convertido en una de las distros más populares en la actualidad. Pero asimismo, elementary OS no es una empresa, sino una comunidad de voluntarios que dedican parte de su tiempo al desarrollo de esta distribución, por lo que si puedes donar, deberías hacerlo.

He probado elementary OS en los últimos 3 días y ha ido perfectamente, así que…

¿Cuántos de vosotros os animáis a probar esta distribución?

The post elementary OS: un sistema operativo para todos appeared first on Blog de OpenSistemas.

Orisinal, juegos con arte

Por Facundo Ferré
Web Designer de OpenSistemas

Nunca es pronto para jurar que todo está dicho, sobre todo cuando en la Red el acceso a múltiples puntos de vista sobre un mismo concepto puede resultar un auténtico abanico de experiencias inauditas.

En el caso que nos ocupa, pretendo hablaros de los juegos hechos en flash. Pese a que todos conocemos cientos de páginas que cosechan estos entretenimientos por docenas, pocas veces nos podemos encontrar con un diseño tan mimado tanto en la forma como en el contenido. Me refiero a los juegos de Ferry Halim, disponibles en su página Orisinal.

Ferry Halim es un diseñador de juegos en flash y tiene una amplia galería de su vertiente comercial en su web, que además de darle de comer a la tripa alimenta también su mente inquieta. Con juegos no venden nada ni a nadie.

El autor concibe el juego como algo tan básico como sencillo, y así nos sumerge en acuarelas y otros brochazos multicolores para hacer deambular a su antojo, siempre con gracia y delicadeza, a personajes de aspecto inocente en un mundo no menos inocuo.

No hay disparos a partes innobles, ni hemoglobina brotando como manantiales, ni siquiera un miserable misil teledirigido. No, Halim no se conforma con lo ya hecho, sino que satisface su paladar con lo que nadie aún ha querido probar. De hecho, ha descartado ideas muy buenas para sus juegos porque ya había sido explotado en la Red… “Siempre trato de hacer algo diferente -explica- y ese el problema. A veces se me ocurre una buena idea, pero es muy difícil de llevar a cabo. Así que la deshecho”.

Todo esto da como resultado un mundo de juegos a explorar que, a modo de marca personal, combinan a la perfección el arte del acabado artístico con lo aditivamente simplón de su planteamiento.

Y si el apartado plástico de los juegos ya es para quedarse con un cubo bajo la barbilla que recoja las babas, la selección musical lo acompaña como cogido de la mano. En la mayor parte, son piezas de musicales del país del sol naciente, “el problema es que no sé leer japonés -confiesa Halim- así que muchas veces no tengo ni idea de cuál es el título de la canción”.

El resultado no podría ser menos sorprendente, lo que tiene el mérito de sobresalir en una red llena de juegos de todo tipo. Tal vez lo que realmente le haga único es precisamente haber sabido pulir la misma idea de un modo tan sencillo que cala hondo. Su concepto es de cuento, de niño, sumamente inocente. No deja de notarse la mano del autor en todos sus juegos y eso le confiere un encanto especial que es difícil de definir hasta que no juegas con ellos, es la firma del artesano. Es, en resumen, un autor de juegos.

The post Orisinal, juegos con arte appeared first on Blog de OpenSistemas.

¿Qué pasa cuando pulsamos el botón de encendido de nuestro ordenador?

Por Laura Maño
Desarrolladora Open Source en OpenSistemas

Una de las cosas que más me ha llamado la atención siempre es cómo con un simple gesto podemos convertir un montón de hierros y plástico en una máquina tan compleja como es un ordenador. ¿Qué pasa cuando pulsamos el botón de encendido de nuestro ordenador? ¿Cómo se define este proceso y qué partes tiene? Voy a intentar explicarlo de la manera más sencilla posible.

Empecemos por la definición…

El proceso de arranque de un ordenador es un conjunto de acciones que inician el sistema operativo cuando el usuario enciende la máquina, y termina una vez el ordenador está preparado para contestar a los requerimientos del exterior.

La parte más o menos física es algo que podemos entrever: el botón de encendido está conectado con la fuente, esta se enciende y convierte la corriente de alterna a continua y empezamos a pasarla a través de los circuitos de la placa. Después, llegamos a la BIOS y aquí ya entran en juego los programas aun a medio camino entre el software y el hardware. En este punto la BIOS pide un chequeo de los dispositivos conectados al ordenador y lee la CMOS-RAM que contiene la información de los dispositivos físicos. Aquí ya ha reconocido el disco duro principal, la hora y la fecha del sistema y está preparado para cargar el sistema operativo, leyendo el primer sector del disco, que en él se encuentra el MBR (master boot record), un programa que determina el proceso de arranque.

La principal diferencia entre los sistemas Linux y Windows en el proceso de arranque reside en este punto. Mientras que en Linux este sector está vacío, en Windows además del código ejecutable, tiene información sobre el sistema de archivos.

En el MBR de Windows hay una partición del disco duro marcada como activa, y busca en ella el SO, comprueba si este sector es válido y carga el código del mismo sector. Después aparece el promt o la interfaz de Windows. En el caso del Linux existe un programa, el gestor del arranque, que busca el núcleo
del SO, lo carga en memoria y le cede el control. Algunas veces, también se lo pasa la dirección del disco duro que contiene el sistema de ficheros.

Un gestor de arranque (bootloader) es un programa sencillo que está diseñado para preparar todo lo que necesita el sistema operativo para funcionar. En la década de los 50 se utilizaban tarjetas perforadas para arrancar el SO y que estaban preparadas para ejecutar en la máquina (bastaba con apretar un botón para que se cargara el programa en la memoria).

Actualmente, el sistema de arranque es más complejo pero la idea es la misma, como hemos visto antes y dependiendo de las características los gestores pueden clasificarse de varias maneras.

Ficheros Map

El principal problema que tenemos cuando cargamos el sistema de arranque es que el kernel se encuentra en alguna parte del disco duro, en algún sector, y esto no es comprensible para la BIOS.

Para solucionar este problema tenemos los ficheros MAP, en los cuales se anotan los bloques físicos que contienen archivos lógicos. La BIOS los lee en orden de este fichero y se anotan los archivos lógicos en la RAM.

E gestor de arranque LILO se basa principalmente en estos mapas, cuando queremos cambiar algo en el gestor debemos reinstalarlo. El gestor tiene que volver a escribir los bloques físicos donde están ubicados los sistemas operativos, que daremos como opción de arranque.

Actualmente el sistema de arranque es más complejo, pero la idea es la misma. El gestor de arranque GRUB los utiliza pero se libera de ellos porque es capaz de examinar el sistema de archivos; esto le facilita acceder a ellos mediante la ruta y no mediante números de bloque.

Este es solo un pequeño ejemplo de las diferencias que existen entre los distintos gestores de arranque más conocidos en Linux. Ambos pertenecen al tipo de gestor de arranque de segunda etapa, ya que consisten en varios programas pequeños que se llaman los unos a los otros hasta que el último carga el sistema operativo. Este tipo es el más común aunque existen otros como los gestores de arranque flash, de red, para sistemas empotrados, etc.

Proyecto GNU GRUB

GNU GRUB (GNU Grand Unified Bootloader) es un gestor múltiple desarrollado por el proyecto GNU y se usa sobre todo en sistemas operativos GNU/Linux. La versión más conocida de este gestor es GRUB Legacy, aunque es mejor que sus predecesoras, se ha optado por cambiar completamente el gestor, reescribirlo de nuevo y crear GRUB 2.

Este proyecto se inició con el nombre de PUPA. Su objetivo era desarrollar un GRUB más limpio, seguro, robusto y potente, así como más portable y con soporte para diferentes idiomas.

El proyecto PUPA fue apoyado por la organización IPA (Information-technology
Promotion Agency) en Japón. PUPA se integró en el desarrollo de GRUB 2 alrededor del 2002 cuando la versión 0.9x de GRUB fue renombrada como GRUB Legacy. Desde febrero del 2008, GRUB 2 sigue en desarrollo y ha sido renombrada formalmente como GRUB, aunque está siendo usado en las versiones más recientes de distribuciones de GNU/Linux.

Fue diseñado por Erich Stefan Boleyn para formar parte del sistema GNU Hurd, en 1999. Gordon Matzigkeit y Yoshinori Okuji consiguieron que este fuera parte del paquete oficial del proyecto GNU, además de permitir que se pueda desarrollar libremente. Algunos de los objetivos del proyecto incluyen numerosas funcionalidades como, por ejemplo, el soporte de plataformas no-x86, la internacionalización, localización, caracteres no ASCII, módulos dinámicos, gestión de memoria, un mini-lenguaje de escritura de scripts, la migración de plataforma específica (x86) de código a la plataforma de módulos específicos y un marco orientado a objetos…

Arranque con GRUB

Este gestor tiene dos etapas. La primera está guardada en el MBR o en el sector de arranque de una partición. La etapa 1 puede cargar ya sea la etapa 1.5 o directamente, la 2.

La etapa 1.5 de GRUB Legacy, ubicada en los siguientes 30 kilobytes del disco duro, carga la etapa 2. En GRUB, esta fase ha dejado de existir. La segunda etapa contiene el código del gestor que presenta al usuario un menú de inicio y puede acceder al sistema de archivos, esta etapa se carga el núcleo del SO.

Cuando GRUB arranca vuelve a acceder a los archivos del menú de inicio, incluyendo las rutas, las particiones actuales hacia el kernel y el Ramdisk de inicio encuentra los archivos rápidamente.

El menú de arranque que vemos cuando inicia el ordenador está almacenado el
/boot/grub/menú.lst. Este archivo contiene la información de las particiones o de los sistemas operativos que se pueden arrancar desde el menú.
Dicho fichero está compuesto por comandos sencillos tipo bash, cada línea contiene un comando seguido de un parámetro.

Para reconocer cada entrada de un sistema operativo diferente se le da el título que vemos en el menú, esto nos permitirá seleccionar la partición que queremos. Por ello, el gestor puede acceder a los sistemas de archivos en los dispositivos de disco soportados por la BIOS antes de arrancar el SO, de esta forma los cambios en la BIOS no obligan a reinstalarlo. Esto es una gran ventaja, ya que permite cambiar todos los parámetros de arranque antes de reiniciar el ordenador y, además, podemos introducir parámetros en la consola del gestor, comprobar el kernel y el initrd antes de arrancar.

Este gestor nos ofrece múltiples posibilidades de arranque. Podemos seleccionar un SO concreto para que arranque si expira un tiempo de espera, un tiempo que también podemos modificar. Además del menú tenemos varios archivos más que nos permiten cambiar las direcciones de los archivos lógicos, darle una contraseña para el arranque, etc.

La diferencia que observamos a primera vista es que si solo tenemos un sistema operativo, el menú desparece y entramos directamente en la pantalla principal. En el caso de tener más de un sistema instalado en el equipo, el aspecto del menú es muy parecido al anterior.

Otras diferencias que encontramos son, por ejemplo, que la etapa 1,5 ha sido
eliminada, el gestor arranca directamente desde la dirección guardada en el MBR. La lista de kernels disponibles se genera automáticamente mientras actualizamos el archivo de configuración del gestor, incluso busca la de otros sistemas operativos tipo Windows.

Con un enfoque hacia el interior del gestor debemos comentar que la numeración de las particiones cambia, la primera es 1 en lugar de 0, aunque se puede modificar si es necesario en el archivo device.map en la carpeta /boot/ grub.

El archivo menú.lst ha sido reemplazado por grub.cfg, que es el producto de varios scripts y normalmente no debería ser editado directamente. Este archivo se actualiza cuando se modifica el núcleo o si el usuario ejecuta update-grub.
Este comando lanza la ejecución de los scripts del directorio etc/grub.d que genera automáticamente el fichero anterior con los ajustes del menú contenidos en /etc/default/grub.

Como hemos podido comprobar, la tarea de encender un ordenador es compleja y sumamente importante, así que resulta bastante interesante conocer un poco nuestros sistemas operativos y los diferentes tipos de arranque que nos pueden proporcionar e, incluso, podemos ser parte de su creación o mantenimiento.

The post ¿Qué pasa cuando pulsamos el botón de encendido de nuestro ordenador? appeared first on Blog de OpenSistemas.