Un reto relacionado con la edición de PDF’s

Me gustan los retos informáticos. Los que seguís este blog lo sabréis, y seguramente habréis disfrutado como yo con retos como el HackIt, HackIt2 y HackIt3. Pero no sólo de HackIts vive el hombre (ya podría ser!) 🙂 Así que, hoy traigo un reto más mundano: tenemos un PDF sin números de página (las hojas no están paginadas, vaya). El reto consiste en añadirle a cada página su número (1, 2, 3… etc.). Repito: es un PDF (no tengo el documento original a partir del cuál se creó). Y no quiero añadir los números a mano, claro, porque podría eternizarme 😉 Quiero que el ordenador trabaje por mí, y por supuesto, sólo se admiten soluciones basadas en software libre. ¿Te animas a superar el reto? Mañana (día 3 de Marzo), postearé la solución, pero mientras, ¡espero vuestras aportaciones! 😉

Implementación de OpenOffice.org en el Gobierno Vasco

Ya hablamos hace un par de meses sobre una propuesta del parlamentario del PNV Álex Etxeberria Aranburu:
«Relativa a la implementación de Open Office en el entorno software del Gobierno Vasco». La respuesta del gobierno, allá por noviembre de 2010, venía a decir que estaban a la espera de algunos informes técnicos por parte de la oficina del software libre. Álex vuelve ahora – han pasado ya 3 meses- a la carga, en busca de respuestas:

«A LA MESA DEL PARLAMENTO VASCO

Alex Etxeberria Aranburu, parlamentario del grupo Nacionalistas Vascos, al amparo del vigente Reglamento, formula la siguiente solicitud de información documentada a la consejera de Justicia y Administraciones Públicas del Gobierno Vasco, relativa al estudio sobre la suite ofimática de software libre solicitado a la Oficina Técnica de Software Libre.

JUSTIFICACIÓN

En la respuesta a la solicitud de información documentada 09/1 0/05/03/1 626, se menciona que el estudio sobre Open Office es uno de los que aún no había entregado la Oficina Técnica de Software Libre.

Por todo ello, se solicita la siguiente documentación:

Relación de todos los estudios que todavía no ha entregado la Oficina Técnica de Software Libre, con indicación de la fecha de finalización y los objetivos.

Copia íntegra de todos los estudios que ha entregado la Oficina Técnica de Software Libre.

Copia de los contratos firmados con la Oficina Técnica de Software Libre. Y copia íntegra de los expedientes administrativos correspondientes a esos contratos.

Vitoria-Gasteiz, 25 de enero de 2011 Fdo.: Alex Etxeberria Aranburu»

Aunque el documento esté firmado a 25 de Enero de 2011, se envió al Gobierno Vasco el 2 de Febrero.

Nota:
* he podido encontrar esta información gracias a Parlio. Normalmente suelo encontrar este tipo de información a través del servicio Zabalik, pero últimamente su boletín me llega de pascuas a ramos.

Identificación facial en ComFusion 3

Marco A. «Pollolinux» nos envía el siguiente artículo:


A todos nos gusta probar cosas, sobre todo si son como en las peliculas, donde todo el mundo se loguea en su sitema informatico con un simple escaneo de retina, de rostro, de huella dactilar, etc.

Pues bien, esto en Comfusion es algo que se puede hacer muy fácil con solo un par de clicks, ( y poniendo tu cara para la foto), así de sencillo, ahora te explicamos como…

Inicia sesión e identíficate normalmente, luego ejecuta Aplicaciones/Otras/Qt Face Trainer, y verás una ventana como la siguiente:

Es nuestro gestor de Qt Face Trainer, que nos ayudará a que esta tarea sea simple; pulsamos en Qt Face (Paso 1), se nos abrirá el Qt Face Trainer;

Pulsamos en Next, y nos hacemos varias fotos (cuantas más mejor); esto será lo que haga que nos reconozca más facilmente el programa.

Cuando tengamos bastantes fotos, (aconsejo como mínimo 3), pulsamos en Next, luego en Finish y volveremos a la utilidad de configuración.

Ahora pulsamos en Enable GDM (Paso 2), se nos abrirá una terminal que configura el sistema, cuando haya acabado la cerramos, y luego salimos pulsando Cancel.

Lo que hemos hecho al pulsar en Enable GDM, ha sido grabar la configuración del Qt Face Trainer en nuestro GDM, ahora ya podemos salir de la sesión actual y loguearnos con solo mostrar nuestra cara en la pantalla de acceso GDM, sin teclear una letra, la camara web escaneará nuestro rostro y si somos la persona correcta, nos dará acceso.

Para revertir el proceso, es decir para poder volver a loguearnos escribiendo la contraseña, abrimos la utilidad en Aplicaciones/Otras/Qt Face Trainer y pulsamos en «Disable GDM».

ADVERTENCIA: cuando configuramos nuestro GDM con Qt Face Trainer, TAMBIÉN habremos configurado por defecto nuestro salvapantallas, es decir si bloqueamos la pantalla, esta no se desbloqueará con contraseña, sino con nuestro rostro.

Espero que este Mini-Tutorial os haya sido de utilidad.
Como habéis visto, con ComFusion 3 el proceso es muy fácil, basta con un «par de clics»!

Froyo, G.O.T., Milestone y Motorola

Llevaba un buen tiempo documentando el proceso a seguir para migrar mi Motorola Milestone a la versión 2.2.1 (Froyo) de Android y hoy lo he conseguido. ¿Por qué cuesta tanto si Froyo está ya anticuado? (Gingerbread 2.3 y Honeycomb 3.0 ya han sucedido a Froyo) Bien, primero porque a Motorola Europa se le ocurrió meter una protección para evitar la instalación de ROMs no oficiales. Segundo, porque la propia Motorola lleva un retraso enorme: primero dijo que en Noviembre de 2010 saldría una versión, pero luego retrasó la noticia al comienzo del primer trimestre de 2011 (obviamente ha vuelto a incumplir su promesa). De hecho no estoy seguro de que vaya a ver alguna vez la luz este upgrade oficial.
En fin, un desastre del que como consumidor tomo nota para el futuro.

Mientras Motorola sigue trabajando en busca de un Froyo estable para el Milestone, la comunidad (G.O.T. en concreto) ha conseguido saltarse protecciones, compilar dicha versión y distribuírla para distintos continentes (Canada, UK, Francia, resto de Europa…)

El proceso no es sencillo, para qué nos vamos a engañar. De hecho mi intención era documentarlo en DiarioLinux una vez ejecutado, pero la gente de desentropia.com me ha ahorrado el trabajo con un EXCELENTE tutorial paso a paso en castellano. La única diferencia entre el tutorial de Desentropia y los pasos que yo he seguido son que he instalado la versión «Retail Europe» del firmware de G.O.T. y que el APN he tenido que reconfigurarlo a mano (por defecto detectaba mi proveedor móvil – Telefónica – pero el APN que metía – telefonica.es – no funcionaba, y en su lugar he metido los datos relativos a – movistar.es – tal y como podéis ver aquí. Misma compañía pero dos configuraciones distintas de APN.. curioso)

Así que sabes copiar archivos, ¿eh?

Update 25/02/2011: las respuestas que habéis enviado son correctas. Explicaré entre líneas lo que hacen los distintos comandos (pulsa sobre More>>).

¿Estás seguro? Sí, es una operación básica, pero sin que os ponga la solución en este post (lo dejo para el siguiente), ¿sabrías decirme con absoluta certeza qué hacen cada uno de estos comandos cp? ¿ y el mkdir o touch del ejercicio 0? No te mientas 😉

0.

mkdir -p /tmp/tests/{d1,d2}
cd /tmp/tests
 touch d1/{.oculto,a,b}

[hide-this-part]
Crea dos directorios, d1 y d2 dentro de tests. Si tests no existiera, la opción -p fuerza su creación.
Con touch, creamos 3 archivos (.oculto, a y b) dentro de d1
[/hide-this-part]

1.

cp d1/* d2/

Pista: ¿se han copiado TODOS los archivos o sólo 2 de ellos?

[hide-this-part]
Sólo 2 de los archivos han sido copiados. El * en cp NO funciona exactamente como una expresión regular (si así fuera, un * abarcaría cualquier cosa, incluyendo nombres de archivos que empiecen por punto). Pero no, el * casa con cualquier nombre de archivo que no sea uno oculto. También casaría con un archivo de nombre c.d por ejemplo
[/hide-this-part]

Reseteamos (Borramos el contenido de /tmp/tests y desde ese mismo directorio ejecutamos 0 de nuevo…)

2.

cp d1/ d2/

Pista: ¿se ha copiado algo?

[hide-this-part]
No se copia nada. Hay que especificar qué es lo que se quiere copiar de d1 en d2. No se debe a que ya exista d2… puedes probar con cp d1/ d3/ y ocurrirá lo mismo. Ídem si lo pruebas sin la / del final.
[/hide-this-part]

Reseteamos

3.

cp d1/*.* d2

Pista: ¿se ha copiado algo?
[hide-this-part]
No se copia nada. El * no puede ser sustituído por el conjunto vacío en las órdenes copy. Si así fuera (si se pudiera sustituir por el conjunto vacío, el archivo .oculto sí que se hubiera copiado). Ojo! Si en d1 tuviéramos un archivo de nombre c.d, entonces los comodines sí que casarían con dicho archivo y sería copiado.
[/hide-this-part]

Reseteamos

4.

cp d1/. d2

Pista: ¿se ha copiado algo?

[hide-this-part]
No copia nada pues la orden es equivalente a la dada en el ejercicio 2.
[/hide-this-part]

Reseteamos

5.

cp -R d1/. d2

Pista: vaya… si no hay subdirectorios, para qué habré usado el flag -R };-)

[hide-this-part]
¡Por fin! Esta orden sí que copia TODO el contenido de d1 en d2 (archivos ocultos incluídos). Si hubiera subcarpetas, también las copiaría. ¡Ojo_1! -R -r –recursive son equivalentes. ¡Ojo_2! No hay subdirectorios, pero aún así hemos usado -R para copiar de forma recursiva. ¡Ojo_3! No es lo mismo el ejercicio 5 que el ejercicio siguiente: cp -R d1/ d2/ (esto último copiaría dentro de d2 el directorio d1 – incluído el propio nombre d1 – )
[/hide-this-part]