Google Chrome… el cómic

Descubrí hace unas semanas que la gente de Google había publicado documentación acerca de su navegador Chrome… en forma de cómic.

El cómic se puede leer directamente por la web, o bien descargarse el PDF que he creado compilando todas las imágenes. Para crearlo, lo hice desde la línea de comandos con un poco de ayuda del paquete ImageMagick (para instalar en Debian o Ubuntu: sudo apt-get install imagemagick) y el wget.

Con esto nos descargamos cada una de las 39 páginas del cómic a un directorio:

mkdir gccomic
cd gccomic/
for i in {1..39}; do wget -O pagina`printf %02u $i`.jpg http://www.google.com/googlebooks/chrome/images/big/$i.jpg; done;

La expresión `printf %02u $i` sirve para que el número de página siempre tenga dos dígitos, siendo el primero de ellos 0 para números entre 0 y 9: pagina09.pdf, pagina10.pdf, etc. De esta forma, al ordenarlos alfabéticamente, los 10 ficheros con las respectivas 10 primeras páginas apareceran los primeros.

Y con esto juntamos todas las imágenes (en shell se encargará de que sea en orden alfabético) en un único PDF:

convert *.jpg Google\ Chrome\ Comic.pdf

A continuación, nos quedamos con el PDF resultante, lo difundimos bajo licencia Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License, y borramos todo el directorio gccomic/.

El cómic merece leerlo porque ilustra muy bien el funcionamiento de Chrome y la gran cantidad de ideas innovadoras que hay en ese navegador.

Pero además, opino que es un gran logro divulgativo presentar un producto y/o su documentación en forma de cómic, ya que simplifica enormemente su lectura y con ello acerca el producto al usuario final.Creo que puede ser un ejemplo a seguir para otros proyectos.

Shell scripting

Comments (0)

Permalink

Configuración de servicios en CentOS 5

Como a veces no me acuerdo, dejo por aquí una chuleta para saber cuáles son los comandos que más habitualmente uso para gestionar los demonios y servicios de CentOS 5:

Por un lado está el comando /sbin/service, que permite arrancar, parar, reiniciar o ver el estado de un servicio:

/sbin/service <servicio> start
/sbin/service <servicio> stop
/sbin/service <servicio> restart
/sbin/service <servicio> status

Este comando lo que hace es ejecutar el script contenido en /etc/init.d/<servicio> con el argumento pasado a service. Tal comando al menos deberá tener implementadas las opciones start, stop y status.

Otras opciones son ejecutar todos los scripts en orden alfabético con la opción de status:

/sbin/service ––full-status

O bien primero todos con la opción stop, y a continuación otra vez todos con start:

/sbin/service ––full-restart

Y por otro lado está /sbin/chkconfig, para configurar cuáles arrancan con qué runlevel:

/sbin/chkconfig ––list

Para listar todos los servicios de todos los runlevels

/sbin/chkconfig ––level 345 <servicio> on

Para activar el demonio <servicio> en el arranque de los runlevels 3, 4 y 5.

/sbin/chkconfig ––level 345 <servicio> off

Para desactivar el demonio <servicio> en el arranque de los runlevels 3, 4 y 5.

Fuentes:

CentOS

Comments (0)

Permalink

Un cd mejorado

A menudo echaba en falta poder hacer

pablo@golgi:~$ cd dir1/dir2/

sin preocuparme de si

dir1/

y/o

dir2/

estaban creados, confiando en que

cd

los crearía.

Si bien se puede hacerle un hack al fuente de bash, es más laborioso que crear una función para la shell y añadirla a

.bashrc

:

ccd () {
if [ $# == 1 ]; then
if [ -d $1 ]; then
cd $1;
else
mkdir -p $1 && cd $1;
fi;
else
if [ $# == 0 ]; then
cd $HOME;
else
printf “Too many arguments\n”;
fi;
fi;
}

Por ejemplo:

pablo@golgi:~/md$ ccd d1/d2

(no existen ni d1/ ni d2/, así que los crea)

pablo@golgi:~/md/d1/d2$ cd ../..
pablo@golgi:~/md$ ccd d1/d2

(ya existen d1/ y d2/, así que no los crea)

pablo@golgi:~/md/d1/d2$ cd ../..
pablo@golgi:~/md$ ccd d1 d2
Too many arguments
pablo@golgi:~/md$ ccd
pablo@golgi:~$

Y ahora lo que hecho en falta es un plugin para wordpress que represente código adecuadamente.

Shell scripting

Comments (0)

Permalink