Domingo, 9 de marzo de 2014 (Hace más de 1 mes)

A estas alturas ya habrán oido hablar de Telegram, la alternativa libre y gratuita a Whatsapp. Visual y funcionalmente es idéntico a Whatsapp, literalmente es un clon, pero es gratuito y disfruta de las enormes ventajas del desarrollo Open source, una de las cuales es la posibilidad de que a su alrededor crezcan otros proyectos que amplían, complementan y enriquecen el original. Telegram dispone de una API de gestión y control de que se alimentan virguerías como Tg-master: un Telegram para terminal/consola.

A partir de aquí las posibilidades de usar este “Whatsapp libre” desde el ordenador y poder chatear desde un terminal con el teléfono de alguien, y viceversa. Pueden dar un juego inmenso. Podéis enviar mensajes, realizar chats y enviar/recibir archivos de vídeo/foto, mensajes privados, etc. A fecha de hoy (Marzo/2014) tg-master está en fase beta, pero ya me gustaría que programas en fase de producción tuvieran su estabilidad. Funciona perfectamente y es muy sencillo.

Podéis usar Tg-master con vuestra actual número de teléfono compartiendo la cuenta de Android con el ordenador. Al ingresar en Tg-master con el mismo número os llegará un chivatazo al móvil informando que “otro dispositivo se ha conectado a vuestra cuenta” pero sin más repercusiones. Pero claro, las posibilidades más creativas se presentan asignando una segunda cuenta de Telegram a vuestro PC. Aprovechando que tenía un número de teléfono en desuso de tarjeta prepago de mi anterior zapatófono lo he aprovechado para registrar en Telegram una segunda cuenta que es gestionada desde el PC con Tg-master y de esta manera disponer de un canal de chat entre PC y Móvil. Algo muy parecido a lo que ya hiciera con MCABBER (Jabber) (¿alguien se acuerda de aquellas charlas con la máquina?)

Para instalar Tg-master necesitáis descargar y descomprimirwget https://github.com/vysheng/tg/archive/master.zip -O tg-master.zip
unzip tg-master.zip && cd tg-master

Compilad (si es necesario tendréis que resolver dependencias)./configure --prefix=/usr
make

Ahora copiad el binario a /usr/bin y lo hacéis ejecutable para tenerlo disponible desde cualquier sitio.
cp ./telegram /usr/bin/telegram; chmod +x /usr/bin/telegram

Instalación

Una vez compilado e instalado en /usr/bin lo podéis ejecutar por primera vez para registraros en el servicio. En primer lugar Tg-master os pedirá el número de teléfono que queréis registrar en el servicio de Telegram. Introducid vuestro segundo número (con el +34 delante) y al instante os enviarán al móvil (tenedlo encendido cerca) un código de 5 dígitos que habréis de ingresar en Tg-master. Una vez validado ya estaréis listos para chatear con vuestro teléfono (claro os tenéis que agregar mutuamente en contactos).

Tg-master dispone de autocompletado con TAB (como la consola Linux) por lo que los comandos aunque no los conozcáis se escriben rápidamente.

Telegram via terminal
Telegram via terminal

Aunque Tg-master está en fase de desarrollo admite ya un tosco método de ejecución vía stdin recibiendo ordenes directas desde terminal. Para enviar un mensaje un contacto cualquiera en Telegram sin necesidad de entrar en el programa ejecutadecho "msg user#12345678 Mi mensaje al contacto | /usr/bin/telegram -k /home/tu-usuario/.telegram/tg.pub > /dev/null & sleep 1; killall telegram
(la carpeta /home/tu-usuario/.telegram/ se crea la primera vez que ejecutáis Telegram y registráis un teléfono y contiene el archivo tg.pub con la clave pública que debéis adjuntar con cada orden)
Como veis el método es bastante tosco porque requiere matar el proceso a lo bestia dándole un segundo para que envíe el mensaje. (el número de usuario destino lo obtenéis en Telegram haciendo contact_list). Este método es probable que cambien en breve con forme avance el desarrollo del programa.

Si necesitáis hacer videoconferencia con algo más de calidad de imagen de la que suelen ofrecer las webcams comerciales standard una opción a tener en cuenta es usar nuestra cámara de fotografía ó videocámara.

JVC y su conector VGAJVC y su conector VGA

Casi todas las cámaras digitales modernas, incluso las de gama baja, disponen de una conector salida VGA con la que podemos enviar la imagen a cualquier dispositivo grabador/reproductor como el televisor ó nuestro PC si este dispone de capturadora de vídeo ( si no tenéis tarjeta capturadora en Ebay podéis conseguir modelos PCI muy básicos y perfectamente válidos por 10-15 euros).

Para ver la imagen de cámara (GNU/Linux, openSuse 11.4) simplemente conecta el cable de la cámara a la tarjeta capturadora y en un terminal escribesmplayer tv:// -tv device=/dev/video1:driver=v4l2:width=320:height=240

Aplicar filtros y convertir V4l2 a V4l

Si en algún momento te pierdes hecha un vistazo a este apunte anterior: V4lo2loopback para Linux.
Una vez tengo la cámara conectada al PC cargo el módulo v4l2loopback_dcsudo modprobe v4l2loopack_dc Sigue leyendo…

Viernes, 22 de noviembre de 2013

Para GNU/Linux. La idea es sencilla: un script BASH que mediante el uso de ADB (Android Debug Bridge) mantenga una o varias carpetas sincronizadas entre nuestro Android y el ordenador de tal manera que siempre dispongamos de una copia en nuestro disco duro y esta se realice de manera automática (sin más intervención manual que conectar el teléfono al USB para cargarlo) y rápida.
En el siguiente vídeo se ve como funciona y como la sincronización es bastante rápida.


Idealmente esto lo empecé para mantener a mano en el ordenador las fotografías y vídeos que grabo con mi móvil (un Android – HTC Wildfire S) pero en realidad nada impide que esto puede ser usado para sincronizar otros contenidos ó simplemente como un modo cómodo de traspasar archivos al teléfono habitualmente para usarlo como pendrive.

La alternativa más evidente a este uso de ADB para sincronizar dos carpetas sería el montaje del teléfono como unidad de disco duro externo y a continuación usar alguna aplicación como sync para la sincronización, pero hay un par de ventajas a favor de ADB abismales: en el tiempo que tarda el teléfono en desmontar y montar en el PC la nueva unidad como un disco duro de nuestro ordenador he acabado yo de transferir alrededor de 200 Mg de archivos. La velocidad de transferencia es idéntica pero la conexión en inmediata (un par de segundos. Actualmente mantengo sincronizados 15 carpetas que contienen 250 archivos. Desde que conecto el teléfono al USB y aparece el diálogo informando de “No es necesaria la sincronización” pasan aprox. 6 seg).
Además de la velocidad, al no estar la tarjeta del teléfono montada como un disco duro/pendrive se gana en seguridad frente a archivos corruptos o desmontajes inapropiados. Si tienes que irte de improviso simplemente desconectas el teléfono y te lo llevas.

El único engorro es instalar ADB que viene con el kit de desarrollo de Android distribuido por Google. Si no las tienes ya instaladas simplemente sigue los pasos que se indican en la sección “Descargar Android SDK

Preparar el móvil

La única preparación o instalación en el teléfono móvil es dejar activa por defecto la depuración USB de tal manera que siempre que se conecte esté accesible de forma inmediata para la aplicación ADB. Para activar la depuración usb, en tu teléfono busca y activa: Ajustes->Aplicaciones->Desarrollo->Depuración USB

Sigue leyendo…

Lunes, 28 de octubre de 2013

Desde hace muchas versiones atrás que Digikam dejó obsoletos mis scripts para geolocalización de fotografías.

Desde su versión 2.0 la integración con GoogleMaps, Marble, OpenStreetMap y similares es uno de los aspectos que más ha atenciones ha recibido y actualmente mantener geolocalizadas y referenciadas todas las fotografías de nuestra colección es súmamente sencillo.

¿Y para que sirve tener las fotos geolocalizables?
Pues lógicamente como información anexa si se trata de fotografía con algún valor científico (flora, fauna), como recordatorio de algún lugar remoto que visitamos hace años y (sobretodo) como herramienta de búsqueda si el gestor de fotos (caso Digikam) dispone de alguna aplicación con la que localizar imágenes a partir de la navegación por áreas de un mapa.
&>sqlite3 -list /home/album/Fotografia/digikam4.db "SELECT COUNT(id) FROM images"
52387 fotografías salen en mi álbum de fotografías de Digikam, que hay que sumar las fotografías de Merche. Lógicamente localizar aquí una fotografía empieza a tener una dificultad considerable, pero si sabes donde se hizo y puedes coger un mapa y listar las fotografías que se hicieron en un área restringida pues la tarea es entonces notablemente más sencilla.

Geoetiquetado masivo de fotografías

(Nota 1: actualmente estoy usando una versión antigua de Digikam 2.1.1 – actualmente 3.3. Doy por hecho que lo que explicado aquí es igualmente válido para versiones posteriores y ha sido mejorado, pero no puedo confirmarlo.).
(Nota 2: la aplicación Geo-location no se instala por defecto al instalar Digikam).

El siguiente vídeo es bastante auto-explicativo sobre el modo de geoetiquetar una pila de imágenes, que básicamente consiste en

Sigue leyendo…

Lunes, 30 de septiembre de 2013

Parecía una tontería, pero me costó encontrar el modo de averiguar cuanto tiempo lleva el escritorio innactivo, básicamente lo que hacen los salvapantallas para lanzarse.
La instalación standard (hasta donde sé) de openSuse no dispone de ninguna aplicación que directamente indique los segundos ó milisegundos que el escritorio (KDE ó GNOME) llevan sin recibir actividad por el teclado ó el ratón. Hay modos indirectos, a traves del comando WHO (who -a) ó consultado /proc/interrupts (cat /proc/interrupts).
Al final opté por compilar una mini-applicación que encontré naufragando por internet y que hace eso mismo: imprimir el tiempo de inactividad en el escritorio gracias a las librerías de salvapantallas (cambié un par de líneas).

Copia estas líneas a un archivo:#include <X11/extensions/scrnsaver.h>
#include <stdio.h>
main() {
XScreenSaverInfo *info = XScreenSaverAllocInfo();
Display *display = XOpenDisplay(0);
if (display != NULL) {
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
printf("%u\n", info->idle); }
}
y guardalo como innactivo.c.
Ahora compilalo haciendo gcc -o innactivo innactivo.c -lXss
Copia el binario a /usr/bin y hazlo ejecutablesudo cp innactivo /usr/bin/innactivo
sudo chmod +x /usr/bin/innactivo

Listo. Ahora en cualquier consola al escribir innactivo se imprimen los milisegundos que lleva el sistema innactivo. En mi caso son siempre 8-9 los milisegundos que transcurren entre que ejecuto la orden y se imprime en pantalla.

Martes, 10 de septiembre de 2013

El otro día criticaba un comportamiento en KDE que me exasperaba, como para compensar no sé muy bien qué cosa otro comportamiento que me ha sorprendido gratamente alguna vez (suele ocurrir de forma no intencionada y siempre te quedas diciendo:hostias!! que sorpresa!) y que os presento a modo de adivinanza visual con un GIF animado cortado justo antes de destaparse la pista fundamental.

El directorio misteriosoEl directorio misterioso

No hay que tener grandes conocimientos de Linux para leer lo que ocurre en pantalla, pero para comodidad lo describo:
– estoy en /home/trebol-a
– creo un directorio (el nombre es indiferente): mkdir AA
– entro en el nuevo directorio: cd AA
– ahora estoy en /home/trebol-a/AA: pwd
– retrocedo al directorio padre: cd ..
– cha-chan!! ya no estoy en /home/trebol-a
– sino en uno llamado “files
– ¿como lo hice? :-)

En el GIF completo la animación acaba haciendo PWD y desvelando el misterio (a poco que se conozca el sistema archivos de Linux). Obviamente hay truco, y este es el que muestra un comportamiento que decía curioso de Linux.
Si nadie lo descubre en un rato incluyo en los comentarios un enlace al GIF completo.

Cuaderno de campo es un blog desarrollado y mantenido por Trebol-a y en el que escriben Trebol-a, Miguel, Merche y Mónica
Si quieres saber algo más sobre los autores acude a la página acerca-de, si quieres contactar con alguno de nosotros hazlo a través de contactar ó de Google+

Creative Commons: Todo el contenido de la web (imágenes, textos, vídeos, a excepción de aquellas obras de otros autores enlazados por Cuaderno de Campo) se acoge a los términos expresados en la licencia Creative Commons