Failed on WHIRLPOOL verification


Buenas.

Ayer el webmaster quería que se le instalará dropbox en el servidor he hicieran modificaciones al script de incron que hizo +Rafael Gawenda. Bien la sorpresa vino cuando fue se fue a actualizar algunos paquetes, entre otros el sys-apps/portage, que depende de app-shells/bash.

Bien, el problema es:

2013-10-10 12:22:59 (521 KB/s) - `/usr/portage/distfiles/bash-4.2.tar.gz' saved [7009201/7009201]
!!! Fetched file: bash-4.2.tar.gz VERIFY FAILED!
!!! Reason: Failed on WHIRLPOOL verification
!!! Got:      fe3c0fde90e8cb919140ea91c01b558729d9d5792b3221a00b53afbddeeaf5c29ccfa52503e830a72a714ee5bfada44117b29946f173275f6aff16d05162feb8
!!! Expected: fd5f321a8a89381904b1dd1f5acb5100186ce48cccc9b248cf68b35a1c1932177df1fc2b0215131999ee6018decf3264c45e54d407bf4b74ff8e4cc8215c630a
Refetching... File renamed to '/usr/portage/distfiles/bash-4.2.tar.gz._checksum_failure_.0sX7W0'
!!! Couldn't download 'bash-4.2.tar.gz'. Aborting.
 * Fetch failed for 'app-shells/bash-4.2_p45', Log file:
 *  '/var/tmp/portage/app-shells/bash-4.2_p45/temp/build.log'
 * Messages for package app-shells/bash-4.2_p45:
 * Fetch failed for 'app-shells/bash-4.2_p45', Log file:
 *  '/var/tmp/portage/app-shells/bash-4.2_p45/temp/build.log'

Ejecutamos lo siguiente:

r2d2 ~ # emerge -a1O portage
r2d2 ~ # eselect python set 2
r2d2 ~ # eix-sync ( emerge --sync )
r2d2 ~ # dispatch-conf

Una vez solucionado el problema, pasamos a instalar los paquetes necesarios.

PD: No dejar caer en el olvido las actualizaciones!!! Que después pasa lo que pasa ;)






Instalando KDE Connect en GNU/Linux


Buenas.

Hoy les voy a contar un poco sobre KDE Connect, un proyecto muy interesante para tener una mejor convivencia con nuestros Android (si no lo es ya, perfecta al 98%). Desde mi punto de vista lo peor que le veo a día de hoy a Android, es la comunicación con el PC ( Sí, no es necesario, se hace todo de forma intuitiva y fácil, diremos la mayoría pero siempre hay alguno en contra). Yo particularmente uso ADB para pasar archivos y copiar cosas del PC al teléfono.

dguillermo@dguillermo ~ $ adb push /path/to/file /sdcard/

Pero entiendo y comparto que en otros sistemas operativos es un un poco más tedioso realizar la instalación del ADB. Vamos al lío, con KDE Cconnect, podremos compartir archivos del PC al Teléfono de forma fácil, desde el teléfono compartir seleccionamos KDE Connect y listo, además también podrás:

  • Notificar llamadas
  • Notificar SMS
  • Indicar el estado de la batería del móvil
  • Sincronizar portapapeles
  • Control Multimedia (audio/video)
  • Notificaciones de pings

Gentoo

dguillermo@dguillermo ~ $ emerge -av git cmake 

Variantes de Debian

dguillermo@dguillermo ~ $ apt-get install cmake kdebase-workspace-dev libqjson-dev git
dguillermo@dguillermo ~ $ git clone git://anongit.kde.org/scratch/albertvaka/kdeconnect-kded
dguillermo@dguillermo ~ $ cd kdeconnect-kded
dguillermo@dguillermo ~/kdeconnect-kde $ cmake -DCMAKE_INSTALL_PREFIX=/usr ~/kdeconnect-kde
dguillermo@dguillermo ~/kdeconnect-kde $ make
dguillermo@dguillermo ~/kdeconnect-kde $ make install

Todo el proceso, lo hice desde mi usuario sólo el make install, lo hice como root. Ahora ejecutamos

dguillermo@dguillermo ~/kdeconnect-kde $ qdbus org.kde.kded /kded loadModule kdeconnect
true
Una ves hecho esto, ejecutaremos.

dguillermo@dguillermo ~/kdeconnect-kde $ kcmshell4 kdeconnect

Ahora, sólo tendremos que ir al Google Play e KDE Connect, abrimos, seleccionamos el PC y creamos el vinculo y listo... 
Llámate desde otro teléfono y verás la notificación en el PC!! ;)

PD: está un poco verde el proyecto, pero la idea es fantástica!!! 




















Y se hizo la luz!

Buenas.

Para variar, he pasado una buena temporada sin escribir nada en el blog, me gustaría poder decirles que no volverá a pasar, pero soy un desastre.... Como muchos sabrán tengo una Rapsberry Pi desde hace bastante tiempo, algo de lo que tenía muchas ganas, era de hacer el típico experimento de encender leds mediante el GPIO.

Este fin de semana por fin me he decidido, hace unas cuatro semanas aproximadamente adquirí una protoboard, cables, botón y led. La intención de ese material, es dotar a la Raspberry Pi de un botón de encendido y apagado, ya que hacerlo quitando el cable de corriente es dañino para la SD e incómodo. Hoy sólo he jugado con los led, intentaré entre hoy y mañana que el botón de encendido y apagado funcione.

Primero descargarse el Wiring Pi, es una librería escrita en C , la cual  nos permite controlar GPIO , pudiendo controlar los diferentes pines de IO.  (Yo  he podido activar el GPIO, pero no asignarle valores a los pines que activo).

# sudo su
# apt-get install git-core
# git clone git://git.drogon.net/wiringPi
# cd wiringPi/
# git pull
# ./build

Una vez  instalado,
# gpio -v
gpio version: 2.13
Copyright (c) 2012-2013 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty 
This Raspberry Pi is a revision 1 board.

Y así sabremos (si no sabemos) que revisión del GPIO tenemos.



Como se puede observar, conectamos del GPIO3 a la protoboard, y del GPIO6 a la protoboard, y la resistencia en la misma zona que el led, una vez conectado todo encendemos la Raspberry Pi

La gran mayoría de opciones que vi, estaban hechas en C, python ... Yo me decanté por Bash, pasteo las lineas del script

root@raspbmc:~# cat leds
#!bin/bash
#
echo "Export GPIO0" ; echo 0 > /sys/class/gpio/export ; echo "... Done"
echo "Export GPIO1" ; echo 1 > /sys/class/gpio/export ; echo "... Done"
echo "Direction GPIO0" echo out > /sys/class/gpio/gpio0/direction ; echo "... Done"
echo "Direction GPIO1" echo out > /sys/class/gpio/gpio1/direction ; echo "... Done"
while true; do
echo 1 > /sys/class/gpio/gpio1/value
sleep 0.5
echo 0 > /sys/class/gpio/gpio1/value
sleep 0.5
echo 1 > /sys/class/gpio/gpio0/value
sleep 0.5
echo 0 > /sys/class/gpio/gpio0/value
sleep 0.5
done
echo "Power off GPIO0" ; echo 0 > /sys/class/gpio/unexport ; echo "... Done"
echo "Power off GPIO1" ; echo 1 > /sys/class/gpio/unexport ; echo "... Done"

Y aquí unas instantáneas del blink. 





En lo que tenga el botón a funcionar, pondré imágenes y conexiones, saludos! 





Solucionar problemas con RoundCube de addressbook


Buenas...

Desde hace algún tiempo vengo usado las versiones de RoundCube desde sus faces betas hasta la estable que salio hace poco, en una de las ultima actualizaciones me encontré con una serie de pequeños problemas que son el fruto de no hacer los UPGRADE bien, todo hay que decirlo desde luego.

Al usuario le aparece este mensaje, después de crear el usuario y darle a guardar.

An error occured while saving

Primero que nada, hacemos una copia de la DDBB para evitar problemas.

$ mysqldump -u USER roundcubemail > ~/201210241053.roundcubemail.sql -p



Pues bien, uno de los problemas que tenía era que los usuarios NO podían añadir nuevos contactos a sus addressbook, este problema viene de la TABLE users, donde no encuentra 'words' a la hora de guardar el contacto el debug canta...


[Last executed query: INSERT INTO contacts (user_id, changed, del, `vcard`, `name`,
  `email`, `firstname`, `surname`, `words`) VALUES ...
  [Native code: 1054] [Native message: Unknown column 'words' in 'field list']

Pues para solucionar esto.

$ mysql - USER -p
mysql> use roundcubemail;
mysql> ALTER TABLE `contacts` ADD `words` VARCHAR( 500 ) NULL DEFAULT NULL;

Ok, ahora nuestros usuarios podrán añadir contactos a sus addressbook.

Otro problema con el que me encontraba desde la versión 0.7.1 con está 0.8.1 era de que X usuarios no podían hacer login en RoundCube, pero sí en un squirrelmail. A diferencia del error anterior este no cantaba nada por ningún lado, ni logs de postfix, dovecot, apache.... Así que mi parche es el siguiente.

$ mysql -u usuario -p
mysql> SELECT *  FROM  `users`;    # Vemos la lista de usuarios.
mysql> INSERT INTO `roundcubemail`.`users` (`user_id`, `username`, `mail_host`, `alias`, `created`, `last_login`, `language`, `preferences`) VALUES (NULL, 'elmisterioso', 'dominio.org', '', '2012-10-20 10:00:00', '2012-10-24 10:00:00', 'es_ES', 'a:1:{s:11:"search_mods";a:4:{s:1:"*";a:2:{s:7:"subject";i:1;s:4:"from";i:1;}s:4:"Sent";a:2:{s:7:"subject";i:1;s:2:"to";i:1;}s:6:"Drafts";a:2:{s:7:"subject";i:1;s:2:"to";i:1;}s:5:"INBOX";a:2:{s:7:"subject";i:1;s:4:"from";i:1;}}}');   # Ok, aquí simplemente añadimos al usuario que no puede hacer login.
mysql> exit;


Procedemos a entrar en nuestro roundcube, con el usuario en cuestión.ACLARO esto es para salir del paso, lo ideal sería borrar la BBDD y crearla como es debido.

Saludos



Como actualizar firmware deco HD400S.


  1. Descargar el firmwre F170 y F202
  2. Descomprimir y copiar hd400s_0170_2to4m.upb en un pendrive.
  3. conectar el pendrive a la parte posterior del deco, una vez que lo reconozca hacemos click en Menú (mando a distancia/control remoto) y nos desplazamos hasta el apartado Tools/herramientas.
  4. Una vez aquí, seleccionamos la opción upgrade by usb, dentro de ésta opción seleccionamos:
    1. upgrade mode: ALLCODE
    2. upgrade file: hd400s_0170_2to4m.upb
    3. start

Esto le llevará unos pocos segundos instalar el nuevo firm, cuando finalice el propio deco se reinicia, tarda un poco en arrancar, pero arranca él sólo.
Copiamos el firm202.upb al pendrive y repetimos la operación con el hd400s_f0202.upb

  1. upgrade mode: ALLCODE
  2. upgrade file: hd400s_f0202.upb
  3. start

Recomiendo que copien un sólo firm, para evitar confundirse a la hora de seleccionar. Una vez actualizado, seleccionamos el satélite que vamos a usar (en mi caso Hotbird) buscamos los canales. Una vez tengamos todos los canales localizados, nos desplazamos hasta el JSC+2 y deberíamos poder disfrutar de los canales que tenemos contratados.

Bueno, tengo que decir que a mi me ha funcionado el FIRM202 con la ayuda de los compañeros de zackyfiles sin ellos nada de esto habría sido posible. Muchas gracias a todos por la paciencia que han tenido, con todas mis preguntas.


No me hago responsable de cualquier problema que estas acciones puedan ocasionar al deco, cada quien es responsable de lo que hace...

Configurar rtorrent y flexget (Parte I)

Buenas a todos, pido otra vez disculpas por tenerlos abandonados.

Gente, voy a dividirlo en partes, primero FlexGet y RSS después rtorrent...

Bueno desde hace algunas semanas llegó mi queridísima RaspberryPi, sólo tengo palabra de elogio para ella, me sorprendió en algunos aspectos _(sabía que era pequeña, pero es aún más de lo que esperaba jajajaja)_ no ocupa espacio, es discreta y su consumo es ridículo _(yo la tengo conectada al router del ISP, así que... ¿consume 0, no? ;-Þ )_. Yo tenía pensada una función específica para ella, quería suplir la Xbox Original que tan amablemente Lolo _(uno de los sysadmins krtux)_ ha  cedido para que el pequeño pudiera reproducir sus diferentes archivos multimedia. y para que le tuviera actualizada la versión de XBMC4XBOX.

Pero bueno, unos días antes de que llegara mi nuevo amor, repentinamente el router que tenía funcionando desfalleció, con lo cual me quedé bastante tirado, esperé por la RaspberryPi para ver si podía encargarse de esa función de router y lo está haciendo a las mil maravillas todo lo que le pido, que tampoco es tanto (unos routes por aquí, una OpenVPN por allá, unas iptables rules más acá, DNS local y poco más).

La atracción que tengo con FlexGet sinceramente data de un año y pico atrás, pero por vagancia, tiempo no había podido concretar la unión entre él y algún cliente torrent, si no era por problemas con python era por cualquier otra cosa. Hasta que la semana pasada, después de configurar los demonios antes mencionados y me decidí al 100% hacer funcionar a FlexGet, la verdad es que TODO lo que da esto es simplemente descomunal...

FlexGet como dicen ellos "FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, series, movies, etc. It can use different kinds of sources like RSS-feeds, html pages, csv files, search engines and there are even plugins for sites that do not provide any kind of useful feeds."

Esto va a ser útil para aquellos que sigan varias series y quieran despreocuparse de tener que ver cuando emiten el episodio en USA _(o de donde quiera que sea la serie que sigas)_ y buscar una fuente para conseguirlo, además le puedes decir qué tipo de archivo quieres, los episodios, temporada que ya viste para que se baje los siguientes, la calidad que quieres que sea el archivo, incluso puedes decirle que quieres que del grupo XXX no se baje nada. Con este pequeño resumen de qué es FlexGet creo que queda claro cual será su función (me quedo corto en sus posibilidades, leer en su web TODO lo que pueden hacer con él).

Yo estoy usando Raspbian “wheezy” es una distro oficial y optimizada para raspberrypi.
su -
apt-get install python2.6 python-setuptools

después de que hayamos instalado esto, seguimos...


easy_install flexget
flexget -V


Ok, ya lo tenemos instalado. ¿Ahora? fácil, crear el fichero de configuración. ¿Sabes exactamente lo que quieres ver, hacer y de donde sacar la información?

en la configuración NO USAR TAB, sólo DOS ESPACIOS. Paso a explicar mi configuración:


feeds:
  Series TV Shows:
    rss:  turss ;-Þ
    series:
      hdtv h264:
      - breaking bad:
          watched: S05E02
 
    content_size:
      min: 300
      max: 1000
          # email:
#   from: user@u'redomainDOTcom
#   to: user@u'redomainDOTcom
#   smtp_host: smtp.gmail.com
#   smtp_port: 587
#   smtp_username: user@u'redomainDOTcom
#   smtp_password: password
#   smtp_tls: yes 
    download: /media/net/nas/woxter/rtorrent/Torrents/

  • Series TV Shows - Nombre para el Grupo Series
  • rss - lugar desde donde vamos a adquirir nuestros torrents para después disfrutar de la Serie, Lolo me comentó sobre ShowRSS y es muy cómodo, suelo tirar más de eztv pero para gustos...
  • Series - Mi listado de series
  • HDTV - la calidad en la que quiero los episosios
  • Watched - Temporada/Episodio visto
  • content_size - específicas tamaño min/max del archivo
  • content_filter - simplemente tengo todas las temporadas de los ripeos de este grupo, me gusta y los subtíulo son fáciles de conseguir 
  • Download - Es donde baja el torrent (para que el rtorrent lo ponga a bajar en lo que esté en esa carpeta)
  • email - Estoy tentado a usarlo, lo tengo configurado pero aún no lo puse en producción.
Por ahora sólo tengo Breaking Bad añadida, pero en los próximos días iré añadiendo TODAS las demás, porque en Septiembre empieza lo bueno y hay que tenerlo listo para que sólo tenga que bajar el subtítulo y disfrutar de tu serie favorita.


Después de que está todo añadido, comprobaremos la configuración con:

flexget --check

hacemos una prueba de ejecución:

flexget --test

Sí todo sale bien, sólo nos queda meterlo en con cron para que se ejecute cada 10-20 o 5 minutos, si no tienes un tracker privado... No tienes que mantener prestigio ni nada por el estilo así que yo lo ejecuto cada 30 mins...

crontab -e

añadimos...


*/10 * * * * /usr/local/bin/flexget --cron


Listo señores, con esto ya podremos dedicar el tiempo ahorrado en otras cosas, saludos y disfruten mucho.

fuentes: aquiyaceelrootflexget

UPDATE:  Sat Aug  4 15:40:41 CEST 2012  Gracias gazpachoking por la información. ( Thabks gazpachoking for corrections)

Configurar cliente GNU/Linux con NRPE para comprobar desde Nagios

Buenas tardes.

Pido una vez más disculpas por volver a descuidar el blog, pero la falta de tiempo se lo lleva todo. Esta semana me he puesto actualizar y reconfigurar cosas en uno de los servidores, y me di cuenta de que no estaba chequando los demonios bien y mucho menos los espacios. Así que me puse a ello y me tope con algunos problemas que me gustaría comentar, para así evitar que les pase lo mismo y vaya más fluido todo.

Lo primero que tenemos que hacer es descargar de la web oficial de Nagios los plugins, para meterlos en el servidor GNU/Linux que queremos chequear.

PS:     Para los usuarios de debian es necesario tener instalado el paquete libssl-dev
PS2 :  Esto se ha configurado sobre Debian squeeze/etch y Gentoo.
$ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
$ tar zxvf nagios-plugins-1.4.15.tar.gz && cd nagios-plugins-1.4.15
$ useradd -p nagios nagios
$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-ssl --libexecdir=/usr/local/nagios/libexec --bindir=/usr/local/nagios/bin/
$ make all
$ make install
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
$ tar zxvf nrpe-2.13.tar.gz ; cd nrpe-2.13
$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-ssl --prefix=/usr/local/nagios/ --sysconfdir=/usr/local/nagios/etc  --bindir=/usr/local/nagios/bin
$ make all
$ make install{,-plugin,-daemon,-daemon-config}

Bien después de instalar estos paquetes, solo nos queda configurar el demonio y sus respectivos comandos, para poder llamarlo desde el servidor nagios y comprobar lo que nos haga falta. vamos a ello. Yo me encontré con un problema en Debian Etch (ya lo sé, se que me van a decir que está deprecated PERO, lo que está de cara al aexterior está actualizado). y es que si no le digo que el pid lo ponga en /var/run/nrpe/ me da un problema de permiso denegado, pq no se puede lanzar como root, evidentemente.

entonces hay que modificar en /usr/local/nagios/etc/nrpe.cfg lo siguiente:


pid_file=/var/run/nrpe.pid
por
pid_file=/var/run/nrpe/nrpe.pid
Descomentar
#server_address 
por
server_address=IP
Añadir IP de los equipos permitidos:
allowed_hosts=127.0.0.1,192.x.x.x,10.x.x.x

Salvamos y creamos la carpeta. Descomentamos al final del archivo todos los  "commands" y añadimos lo que nos interesa.

$ mkdir /var/run/nrpe ; chown nagios:nagios /var/run/nrpe/$ echo "nrpe 5666/tcp #NRPE" >> /etc/services

Editamos el /etc/host.allow para permitir a los equipos que queremos.

ALL: IP

Copiamos y modificamos el script de inicio para el demonio...

$ cp init-script.debian /etc/init.d/nrpe ; chmod +x /etc/init.d/nrpe

Una vez hecho esto, podemos lanzar el demonio y comprobar que está corriendo...

$ /etc/init.d/nrpe start ; netstat -l| grep nrpetcp        0      0 10.68.30.223:nrpe       *:*                     LISTEN     

Sí obtenemos esa respuesta, es lo que deseamos tenemos corriendo el servicio. Ahora comprobamos desde el servidor, que podemos hablar con él

$ /usr/lib64/nagios/plugins/check_nrpe -H 10.68.30.223
NRPE v2.13

Perfecto, todo va viento en popa, configurado y corriendo, ahora ajustamos los parámetros que queremos chequear, ya sean procesos, carga de CPU y disco duro.

$ /usr/lib64/nagios/plugins/check_nrpe -H IP -c check_total_procs
PROCS OK: 75 processes

Configurado, solo nos queda añadir el servicio en nagios y el servidor correspondiente, que sería algo así

define service{
        use                             generic-service
        host_name                  Dozer
        service_description     Total Processes
        check_command        check_nrpe!check_total_procs
        }
$ /etc/init.d/nagios reload 

Esperamos que lea y cargue los demonios pendientes por chequear y desde de este momento dejaremos de dormir en paz, como lo veníamos haciendo hasta ahora. Gracias a la felicidad que sólo puede proporcionar la ignorancia.

Usando Fbsplash en Gentoo

Hoy se me ha dado por solucionar algunos pequeños errores que tenía en el boot de mi máquina y viendo el arranque, me he dicho... "¡Ufff  esto es más soso que yo!". Dicho esto, me puse a leer un poco sobre lo que se usa ahora para el BootSplash (como yo lo conocía ... hace mucho).

Bueno, lo primero que tenemos que hacer es instalar media-gfx/splashutils con los USE  fbcondecor mng y static-libs algunas de sus dependencias, también les hará falta, así que tendrán que las recompilamos. Aparte de esto, también hay que tener soporte en el kernel:


Device Drivers ->
    Graphics support ->
        <*> Support for frame buffer devices  --->
            Console display driver support  --->
                <*> Framebuffer Console support
                [ ] Enable Tile Blitting Support
                [*] Support for the Framebuffer Console Decorations

Device Drivers --->
    Input Device Support --->
        <*> Event Interface

kaiser ~ # emerge -avN splashutils


Bien, ya tenemos la base, ahora nos hará falta algún tema para darle vidilla a nuestras tty's (yo instale el splash-themes-gentoo), si quieres conocer más opciones:

kaiser ~ # eix splash-themes
kaiser ~ # emerge -av splash-themes-gentoo

Ok, ahora vemos el contenido de la carpeta /etc/splash/, para probar y elegir el que más nos gusta...

kaiser ~ # splash_manager -c set --theme=natural_gentoo --tty=1

Una vez hayamos elegido nuestro preferido, con  Ctrl+Alt+F1 bajamos a la tty1 para comprobar el tema seleccionado y una vez elegido generamos la imagen para hacerlo permanente.

kaiser ~ # splash_geninitramfs --verbose --res 1024x768 --generate /boo/initramfs-bootsplash-3.1.4 natural_gentoo

Ahora añadimos un par de líneas a nuestro lilo (Sí lo sé ahora saldrán todos aquellos que adoran a Grub y blasfemaran de mí y lilo, pero ese debate discusión prefiero dejarlo para otro post dedicado a él. Si no les importa amigos.)


image = /boot/vmlinuz-3.1.4-gentoo
        root = /dev/sda6
        label = Gentoo-3.1.4
        read-only
        initrd=/boot/initramfs-bootsplash-3.1.4
        append="splash=verbose,theme:natural_gentoo"

Las líneas que tenemos que añadir son las que están en negrita, una vez añadido, ejecutamos lilo...

kaiser ~ #  lilo


Una última cosa es añadir al /etc/conf.d/fbcondecor, para tener la imagen en todas las tty. Descomentamos la línea:

 FBCONDECOR_TTYS="1 2 3 4 5 6"


y añadimos al arranque:

kaiser ~ # rc-update add fbcondecor boot 


Ahora tenemos unas tty más acogedoras para esos ratos agradables que pasamos en ellas, suerte y espero que les sirva y guste a todos, saludos!!!!








Cómo crear un USB encriptado para proteger datos sensibles


Bueno como dije ayer en twitter, hoy voy a explicar el método que uso para proteger algunos de los datos más sensibles que manejo en mi entorno de trabajo, navegador, ssh keys y datos varios. Hago referencia al script que uso,que fue hecho por Rafael Gawenda y también fue su idea, yo modifique el script para mis necesidades.

Bueno, lo primero que tenemos que hacer es generar un archivo para después encriptarlo. Así creamos un archivo llamado "key" en el pendrive que tendrá una partición de 2.9GB (esto tardará un rato).
 kaiser ~ # dd if=/dev/urandom of=/media/dguillermo/key bs=1024k count=2950
 Ok, ahora que tenemos nuestro archivo, sólo nos quedaría encriptarlo, (yo compilo el Kernel Linux específico para mi máquina y sus características específicas, no comparto esa idea de usar un Kernel genérico con "20 drivers de sonido" cuando tengo una sola tarjeta de sonido). AES, Blowfish, Twofish, RC5, RC6, Serpent.
losetup -e Blowfish /dev/loop0 /media/dguillermo/key
 Esto nos pedirá una clave, la cual será la que usaremos para montar nuestra partición, una vez hayamos introducido la clave, tendremos que formatear esa partición, aquí lo mismo de antes depende de lo que tu kernel soporte, yo uso XFS,y llevo tiempo usándolo en la partición donde tengo los ficheros multimedia y "noto" que me va mejor que EXT4, para gustos Sistemas de Archivos ;-Þ

kaiser ~ # mkfs.xfs -f /dev/loop0  (en mi caso)
kaiser ~ # mkfs.ext4 -f /dev/loop0 (si te decantas por este sistema de archivos)

Bien, ahora desmontamos /dev/loop0

kaiser ~ # losetup -d /dev/loop0
Ok, ahora les cuento el detalle para tener controlado el pendrive y añadimos una línea a udev, pero primero tenemos que saber qué modelo de USB y su Serial, lo cual descubrimos de la siguiente manera:

kaiser ~ # lsusb (vemos donde está nuestro pendrive) y después hacemos:
kaiser ~ # lsusb -v -s 009 (en mi caso) ahora añadimos el serial a /etc/udev/rules.d/97-usbkey.rules
kaiser ~ # echo "ATTRS{serial}=="AA0000000000XXXX", SYMLINK+="key" " > /etc/udev/rules.d/97-usbkey.rules

Ahora viene la parte más bonita y detalles curiosos. Añadimos a /etc/fstab:

/media/dguillermo/key     /media/j0d3/key               xfs     defaults,noauto,loop,encryption=blowfish,user 0 0

Bueno, le damos permiso para que nuestro usuario pueda usar ese path y si no existe lo creamos

kaiser ~ # mkdir -p /media/j0d3/key
kaiser ~ # chown user:user -R /media/j0d3/*

Ok, ahora pasteo el código del script hecho por Rafael Gawenda y modificado para mis necesidades ;-Ð

#!/bin/bash
media=( "" /media/dguillermo/{/,key} )
umedia=( "" /media/j0d3/key /media/dguillermo/ )
case ${0##*/} in
        xkey+ )
                for fs in  2
                        do
                                mount  /media/j0d3/key
                        done
                ;;
        xkey- )
                keychain --agents ssh --stop all
                for fs in 1 2
                        do
                                 /bin/umount ${umedia[$fs]}
                        done
                ;;
        xkey )
                [[ $(/bin/mount|/bin/grep -c "/media/j0d3/key/" ) -eq 1 ]] && ${0}- || ${0}+
                ;;
        * )
                ;;
esac
De está manera ya montamos y desmontamos nuestra partición de una forma fácil, sólo le damos permiso de ejecución, hacemos un link a xkey xkey+ xkey-

kaiser ~ # chmod +x xkey
kaiser ~ # ln -s xkey xkey+
kaiser ~ # ln -s xkey xkey- 


Para no tener que tirar de /usr/bin/, podemos crear un directorio en nuestro home y meterlo ~/bin, esto lo añadimos al path en ~/.bashrc.

 kaiser ~ # vim ~/.bashrc  (y añadimos el directorio en la linea del Path): 
Si no estás familiarizado con este formato, te aconsejo que lo pongas de primero
Path="~/bin:......" (guardamos los cambios)
 source .bashrc

y ahora cuando ejecutemos xkey+ nos pedirá la clave que metimos cuando encriptamos la partición. No voy a explicar cómo compartir claves ssh, sólo ciertos detalles que me parecen curiosos.

movemos todo el contenido de ~/.ssh/  a  /media/j0d3/key y hacemos un link.

kaiser ~ # mv ~/.ssh/ /media/j0d3/key/
kaiser ~ # ln -s /media/j0d3/key/.ssh ~/.ssh/

hasta aquí todo fácil, ahora bien en el pendrive también meto el perfil de Chromium el cual se guarda en ~/.config/chromium/Default, misma operación movemos todo.

kaiser ~ # mv ~/.config/chromium/Default /media/j0d3/key/  (está demás decir, que hay que tener el navegador cerrado para realizar está operación) ;-Ð
kaiser ~ # ln -s /media/j0d3/key/.config/chromium/Default  ~/.config/chromium/Default 
Ok, ahora tenemos nuestras claves todas seguras en nuestra partición encriptada, así que todo perfecto (yo copio el ~/.ssh/config a un path diferente) para que cuando no tenga montado el pendrive me mantenga esa configuración, ya que al tener varios servers en puertos diferentes, es más cómodo. Ok, ahora desmontamos el pendrive...

kaiser ~ # xkey- 

Bien, ahora vamos /media/j0d3/key/, hacemos un ls -alh y está vacío evidentemente... Pues creamos algunos directorios...

kaiser ~ # cd /media/j0d3/key/
kaiser ~ # mkdir .ssh ; cp ~/path/config/que/copiamos/del/~/.ssh/
kaiser ~ # ln -s /media/j0d3/key/.ssh ~/.ssh

Abrimos el chromium, para que cree un perfil nuevo y limpio y misma operación...

kaiser ~ # mkdir -p .config/chromium/
kaiser ~ # mv ~/.config/chromium/Default /media/j0d3/key/.config/chromium/

Y de ésta manera, tendremos un navegador limpio y vacío por si alguien usa nuestra computadora. Esta semana probaré a meter una aplicación de Wine que uso con relativa frecuencia para tener la misma configuración tanto en el trabajo como en la casa. Espero que esto les sea tan útil y cómodo como lo es para mí.






Instalando una ROM oficial en HTC Hero una vez flasheada



Vamos a lo que vamos vi muchos tutoriales de como hacer esto sobre las diferentes versiones de  Windows, pero no lo tengo y a buscarnos la vida como siempre, así que lo primero que tenemos que hacer es conseguir el OpenRUU porque HTC distribuye sus ROM's oficiales empaquetadas en un *.exe. 


$ cd ~/Downloads/OpenRUU-Xtract-beta2 ; sh 1extractrom.sh 


Debemos tener instalado Wine, para poder usar el rom.zip, que viene dentro... Y seguir los pasos que nos van diciendo, Una termine los precesos, ejecutamos 


$ sh  2FastbootFlash-Linux


Para este paso es necesario estar en el fastboot al cual llegamos de cualquiera de estás dos formas:


Con el teléfono apagado pulsamos atrás+power 
$ adb reboot bootloader


Listo ya nos instala la ROM oficial... Bueno, como verán está en face BETA, bajo la responsabilidad de cada uno se usa, yo lo he necesitado dos veces y perfecto funciona.


Terminales soportados:


 1. HTC GSM Hero 2. HTC Desire
 3. HTC Tattoo
 4. HTC CDMA Hero
 5. HTC Legend
 6. HTC Droid Incredible
 7. HTC EVO 4G


Requisitos para adquirir un dispositivo electrónico.

Buenas noches.

Ayer por la mañana me entere que mi hermanita va adquirir una BlackBerry y bueno sinceramente mucha gracia no me hizo, pero bueno es su elección y para gustos hay colores y no hay nada escrito pero bueno y me gustaría explicar mi particular punto de vista sobre este tema que tanto debate da entre los "tres grandes" sistemas para teléfonos que hay en la actualidad IPhone, Blackberry y Android. ¿Nokia?

Me centraré básicamente en los dispositivos móviles, voy a dejar otros dispositivos electrónicos para otro momento, yo cuando me decido a cambiar de dispositivo es por varias razones.

  1. Se me daña.
  2. No me da todo lo que pienso que podría dar.
  3. No me convence.
Una vez tomada la decisión de cambiar de dispositivo hay que estudiar lo que estás dispuesto a gastar (punto MUY importante en la mayoría de casos) a mi no me sobra el dinero pero cuando voy a cambiar de dispositivo "siempre" me lo planteo como una inversión y como tal tiene que durar y no hacerme la vida imposible. Una vez que sabemos lo que queremos/estamos dispuestos a gastar, viene lo posiblemente más complicado elegir el bendito modelo.

Ok, sabemos cuanto podemos gastarnos, ahora ¿Qué?. Llamo al amigo informático y le digo. ¿Tengo 600€ quiero comprar un teléfono que me recomiendas? ¡NO!

(YO suelo tardar uno o dos meses en decidirme, además de comprobar que funciona al 100% en mi Sistema Operativo GNU/Linux.) Pierdo 20 minutos en google leyendo un poco sobre la idea que tengas sobre el teléfono que te gustaría porque siempre tienes una idea (aunque sea mala, es una idea al fin y al cabo). Por lo menos para saber que sensación tiene la gente que lo tiene, de que se queja...

Comparemos un poco las tiendas de para adquirir aplicaciones en los diferentes sistemas 

IPhone (Apple Store)  - 250.000 aplicaciones. Apple no permite que los programadores suban sus programas de forma libre, deben pasar unos filtros y si una aplicación funciona bien en en Apple Store es improbable que otra aplicación similar sea subida. (para mi un error, el la variedad está el gusto). Pero estos señores como son así de cerrados, lo demuestran en cada una de sus acciones.


Dejando un poco de lado el tema de la tienda OnLine, tengo que hacer referencia a la maravilla creada por los Analistas del IPhone 4 y su excelente posicionamiento de la antena gsm/cdma, sin duda alguna un ejemplo excelente de lo que no se debe hacer. ¿Cuanto le va costar a la empresa el error del Genio? (aunque yo no descartaría que fuera intencionado, alguien dijo... Da igual que hablen bien o mal de ti pero que hable... Estos son gringos y el Marketing lo llevan a raja tabla)

Android (Market) - 100.000 aplicaciones, el 64,2% de lo existente en el Android Market es gratuito. En Android no pasan filtros, los usuarios son el filtro gracias a su sistema de votación y descargas ayuda a filtrar las aplicaciones que son menos buenas..

BlackBerry (BlackBerry App World10.000 aplicaciones. BlackBerry tienen en sus tiendas un mayor número de aplicaciones de pago. Hablando del precio de las aplicaciones, BlackBerry es quien ofrece las aplicaciones más caras del mercado, seguido muy de cerca por Windows y Apple.

Sobre Nokia no tengo nada que decir, si he de elegir un terminal de está compañía (que hasta hace dos años me "surtía" de terminales) Sería un N900 con MAEMO es lo único que podría llamar mi atención. (No sé si tiene sistema de tienda Online NI ME IMPORTA y no voy a perder 20 segundos en teclear.) 

Windows Mobile? Es una basura su versión 6.1 y el Windows Phone esa no la he visto pero después de ver la cantidad de errores que cometen con sus Microsoft Windows xXx, sus Internt Explorer... No tengo nada más que decir de este sistema.

Ahora me dirás, pero es que yo NO voy a comprar ninguna aplicación porque no lo veo necesario y no me hace falta, lo que trae el teléfono me llega.¿Ok entonces para que te gastas 600€ en un teléfono que vas a usar para enviar, recibir llamadas y sms, mms?. Cuando veas las ventajas que te dan esas aplicaciones "que según tú" no ibas a comprar te acordarás del día que por impaciente cometiste ese error.

Ok, ahora que hemos visto sus tiendas OnLine y nos hemos dado cuenta del error que cometimos, quiero comparar las ventajas de alguno de esos terminales:


Empezare por Android que desde mi punto de vista es el que más beneficios aporta con diferencia sobre el resto de los otro dos, esto como bien sabemos está hecho por Google y como es habitual en los ellos el código de su software es Open Source( no haré referencia al OpenSource porque tanto en el blog, como en internet hay mucha información sobre el tema). Esto nos genera un alto número de posibilidades desde que "cocineros" de más o menos nivel nos den ROM's mejoradas y optimizadas un poco más para nuestros queridos terminales.
Por otro lado tenemos las diferentes aplicaciones de Google integradas en Android  (me atrevo a decir que a la perfección y si no es al 100% es a un 98.5%) puede que alguna cojeé un poco, pero tarde o temprano alguien tendrá ese mismo dilema y tendrá la "suerte" de saber programar y lo hará luego recaerá en su conciencia si esa aplicación la libera como OpenSource o no (allá cada quien con su Karma). 


Correo electrónico integrado a la perfección con gmail, gtalk para hablar con amigos sin gastar en SMS, saber donde están tus panas y dejar de hacer la estúpida llamada de ¿Donde estás?, un álbum de fotos online y que con un par de "click" compartes, gestión excelente de contactos telefónicos e integración con redes sociales para que cuando vayas a llamar a tu contacto sepas gracias a su perfil de Facebook, Twitter si va estar disponible o no y te ahorra la llamada, almacenar TODAS tus llamadas en el calendario y cuando venga el típico pipas y te diga !Te estuve llamando toda la tarde ayer y no agarraste! ¿Sí? déjame comprobar una cosa.... Le muestras el calendario del día anterior y le sueltas, pues no sé aquí no me aparece reflejada ninguna llamada tuya. almacenar todos los SMS, MMS de forma automática en una etiqueta de gmail para no perderlos. Y por ultimo Google Navigator lo cual es como un "TomTom" pero gratis (quizás tenga la pega de que si no tienes cobertura pues igual falla un poco, pero a menos que tengas una compañía que te de un servicio pésimo no deberías de tener esos problemas.
Posiblemente el mayor y único pero que le pondría a este sistema (justo lo hablaba ayer con ais) es que quizás para un usuario no avanzado es un poco lioso a la hora de transferir música, fotos.


IPhone ... ¿Acceso a iTunes? No lo sé si alguno quiere colaborar y explicarme aparte de estética y un terminal bonito. ¿Que aporta realmente? (hasta da problema para sincronizar correos, por no hablar de su dudosa multi-tarea que han implantado ahora hace cosa de dos meses)


BlackBerry al menos aporta el BB Pin que es un protocolo de mensajería interna el cual puede llegar a estar bien si todo el grupo de amigos tiene una y mediante esto nos ahorramos gastos tontos como los que mencione antes. Después aporta lo que un smartphone de la actualidad conexión a internet, correos push, etc etc... Pero aporta algo.

Después de esto, solo voy a exponer cuales son MIS terminales favoritos, posiblemente uno de estos a final de año sea mio, ya que la prueba con HTC Hero no ha sido 100% satisfactoria (debo decir que el único pero es la falta de QWERTY físico), he comprobado que el teclado físico PARA MI, es una necesidad imperiosa.


Europa HTC Desire Z  - USA HTC Vision.
Samsung Galaxy Q  -- Es muy interesante, apesar de sus 3" de pantalla ... 


Un saludo y espero que alguno le sirva esto a la hora de decidir que comprar.


2013/10/10

Failed on WHIRLPOOL verification


Buenas.

Ayer el webmaster quería que se le instalará dropbox en el servidor he hicieran modificaciones al script de incron que hizo +Rafael Gawenda. Bien la sorpresa vino cuando fue se fue a actualizar algunos paquetes, entre otros el sys-apps/portage, que depende de app-shells/bash.

Bien, el problema es:

2013-10-10 12:22:59 (521 KB/s) - `/usr/portage/distfiles/bash-4.2.tar.gz' saved [7009201/7009201]
!!! Fetched file: bash-4.2.tar.gz VERIFY FAILED!
!!! Reason: Failed on WHIRLPOOL verification
!!! Got:      fe3c0fde90e8cb919140ea91c01b558729d9d5792b3221a00b53afbddeeaf5c29ccfa52503e830a72a714ee5bfada44117b29946f173275f6aff16d05162feb8
!!! Expected: fd5f321a8a89381904b1dd1f5acb5100186ce48cccc9b248cf68b35a1c1932177df1fc2b0215131999ee6018decf3264c45e54d407bf4b74ff8e4cc8215c630a
Refetching... File renamed to '/usr/portage/distfiles/bash-4.2.tar.gz._checksum_failure_.0sX7W0'
!!! Couldn't download 'bash-4.2.tar.gz'. Aborting.
 * Fetch failed for 'app-shells/bash-4.2_p45', Log file:
 *  '/var/tmp/portage/app-shells/bash-4.2_p45/temp/build.log'
 * Messages for package app-shells/bash-4.2_p45:
 * Fetch failed for 'app-shells/bash-4.2_p45', Log file:
 *  '/var/tmp/portage/app-shells/bash-4.2_p45/temp/build.log'

Ejecutamos lo siguiente:

r2d2 ~ # emerge -a1O portage
r2d2 ~ # eselect python set 2
r2d2 ~ # eix-sync ( emerge --sync )
r2d2 ~ # dispatch-conf

Una vez solucionado el problema, pasamos a instalar los paquetes necesarios.

PD: No dejar caer en el olvido las actualizaciones!!! Que después pasa lo que pasa ;)






Instalando KDE Connect en GNU/Linux


Buenas.

Hoy les voy a contar un poco sobre KDE Connect, un proyecto muy interesante para tener una mejor convivencia con nuestros Android (si no lo es ya, perfecta al 98%). Desde mi punto de vista lo peor que le veo a día de hoy a Android, es la comunicación con el PC ( Sí, no es necesario, se hace todo de forma intuitiva y fácil, diremos la mayoría pero siempre hay alguno en contra). Yo particularmente uso ADB para pasar archivos y copiar cosas del PC al teléfono.

dguillermo@dguillermo ~ $ adb push /path/to/file /sdcard/

Pero entiendo y comparto que en otros sistemas operativos es un un poco más tedioso realizar la instalación del ADB. Vamos al lío, con KDE Cconnect, podremos compartir archivos del PC al Teléfono de forma fácil, desde el teléfono compartir seleccionamos KDE Connect y listo, además también podrás:

  • Notificar llamadas
  • Notificar SMS
  • Indicar el estado de la batería del móvil
  • Sincronizar portapapeles
  • Control Multimedia (audio/video)
  • Notificaciones de pings

Gentoo

dguillermo@dguillermo ~ $ emerge -av git cmake 

Variantes de Debian

dguillermo@dguillermo ~ $ apt-get install cmake kdebase-workspace-dev libqjson-dev git
dguillermo@dguillermo ~ $ git clone git://anongit.kde.org/scratch/albertvaka/kdeconnect-kded
dguillermo@dguillermo ~ $ cd kdeconnect-kded
dguillermo@dguillermo ~/kdeconnect-kde $ cmake -DCMAKE_INSTALL_PREFIX=/usr ~/kdeconnect-kde
dguillermo@dguillermo ~/kdeconnect-kde $ make
dguillermo@dguillermo ~/kdeconnect-kde $ make install

Todo el proceso, lo hice desde mi usuario sólo el make install, lo hice como root. Ahora ejecutamos

dguillermo@dguillermo ~/kdeconnect-kde $ qdbus org.kde.kded /kded loadModule kdeconnect
true
Una ves hecho esto, ejecutaremos.

dguillermo@dguillermo ~/kdeconnect-kde $ kcmshell4 kdeconnect

Ahora, sólo tendremos que ir al Google Play e KDE Connect, abrimos, seleccionamos el PC y creamos el vinculo y listo... 
Llámate desde otro teléfono y verás la notificación en el PC!! ;)

PD: está un poco verde el proyecto, pero la idea es fantástica!!! 




















2013/10/05

Y se hizo la luz!

Buenas.

Para variar, he pasado una buena temporada sin escribir nada en el blog, me gustaría poder decirles que no volverá a pasar, pero soy un desastre.... Como muchos sabrán tengo una Rapsberry Pi desde hace bastante tiempo, algo de lo que tenía muchas ganas, era de hacer el típico experimento de encender leds mediante el GPIO.

Este fin de semana por fin me he decidido, hace unas cuatro semanas aproximadamente adquirí una protoboard, cables, botón y led. La intención de ese material, es dotar a la Raspberry Pi de un botón de encendido y apagado, ya que hacerlo quitando el cable de corriente es dañino para la SD e incómodo. Hoy sólo he jugado con los led, intentaré entre hoy y mañana que el botón de encendido y apagado funcione.

Primero descargarse el Wiring Pi, es una librería escrita en C , la cual  nos permite controlar GPIO , pudiendo controlar los diferentes pines de IO.  (Yo  he podido activar el GPIO, pero no asignarle valores a los pines que activo).

# sudo su
# apt-get install git-core
# git clone git://git.drogon.net/wiringPi
# cd wiringPi/
# git pull
# ./build

Una vez  instalado,
# gpio -v
gpio version: 2.13
Copyright (c) 2012-2013 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty 
This Raspberry Pi is a revision 1 board.

Y así sabremos (si no sabemos) que revisión del GPIO tenemos.



Como se puede observar, conectamos del GPIO3 a la protoboard, y del GPIO6 a la protoboard, y la resistencia en la misma zona que el led, una vez conectado todo encendemos la Raspberry Pi

La gran mayoría de opciones que vi, estaban hechas en C, python ... Yo me decanté por Bash, pasteo las lineas del script

root@raspbmc:~# cat leds
#!bin/bash
#
echo "Export GPIO0" ; echo 0 > /sys/class/gpio/export ; echo "... Done"
echo "Export GPIO1" ; echo 1 > /sys/class/gpio/export ; echo "... Done"
echo "Direction GPIO0" echo out > /sys/class/gpio/gpio0/direction ; echo "... Done"
echo "Direction GPIO1" echo out > /sys/class/gpio/gpio1/direction ; echo "... Done"
while true; do
echo 1 > /sys/class/gpio/gpio1/value
sleep 0.5
echo 0 > /sys/class/gpio/gpio1/value
sleep 0.5
echo 1 > /sys/class/gpio/gpio0/value
sleep 0.5
echo 0 > /sys/class/gpio/gpio0/value
sleep 0.5
done
echo "Power off GPIO0" ; echo 0 > /sys/class/gpio/unexport ; echo "... Done"
echo "Power off GPIO1" ; echo 1 > /sys/class/gpio/unexport ; echo "... Done"

Y aquí unas instantáneas del blink. 





En lo que tenga el botón a funcionar, pondré imágenes y conexiones, saludos! 





2012/10/25

Solucionar problemas con RoundCube de addressbook


Buenas...

Desde hace algún tiempo vengo usado las versiones de RoundCube desde sus faces betas hasta la estable que salio hace poco, en una de las ultima actualizaciones me encontré con una serie de pequeños problemas que son el fruto de no hacer los UPGRADE bien, todo hay que decirlo desde luego.

Al usuario le aparece este mensaje, después de crear el usuario y darle a guardar.

An error occured while saving

Primero que nada, hacemos una copia de la DDBB para evitar problemas.

$ mysqldump -u USER roundcubemail > ~/201210241053.roundcubemail.sql -p



Pues bien, uno de los problemas que tenía era que los usuarios NO podían añadir nuevos contactos a sus addressbook, este problema viene de la TABLE users, donde no encuentra 'words' a la hora de guardar el contacto el debug canta...


[Last executed query: INSERT INTO contacts (user_id, changed, del, `vcard`, `name`,
  `email`, `firstname`, `surname`, `words`) VALUES ...
  [Native code: 1054] [Native message: Unknown column 'words' in 'field list']

Pues para solucionar esto.

$ mysql - USER -p
mysql> use roundcubemail;
mysql> ALTER TABLE `contacts` ADD `words` VARCHAR( 500 ) NULL DEFAULT NULL;

Ok, ahora nuestros usuarios podrán añadir contactos a sus addressbook.

Otro problema con el que me encontraba desde la versión 0.7.1 con está 0.8.1 era de que X usuarios no podían hacer login en RoundCube, pero sí en un squirrelmail. A diferencia del error anterior este no cantaba nada por ningún lado, ni logs de postfix, dovecot, apache.... Así que mi parche es el siguiente.

$ mysql -u usuario -p
mysql> SELECT *  FROM  `users`;    # Vemos la lista de usuarios.
mysql> INSERT INTO `roundcubemail`.`users` (`user_id`, `username`, `mail_host`, `alias`, `created`, `last_login`, `language`, `preferences`) VALUES (NULL, 'elmisterioso', 'dominio.org', '', '2012-10-20 10:00:00', '2012-10-24 10:00:00', 'es_ES', 'a:1:{s:11:"search_mods";a:4:{s:1:"*";a:2:{s:7:"subject";i:1;s:4:"from";i:1;}s:4:"Sent";a:2:{s:7:"subject";i:1;s:2:"to";i:1;}s:6:"Drafts";a:2:{s:7:"subject";i:1;s:2:"to";i:1;}s:5:"INBOX";a:2:{s:7:"subject";i:1;s:4:"from";i:1;}}}');   # Ok, aquí simplemente añadimos al usuario que no puede hacer login.
mysql> exit;


Procedemos a entrar en nuestro roundcube, con el usuario en cuestión.ACLARO esto es para salir del paso, lo ideal sería borrar la BBDD y crearla como es debido.

Saludos



2012/10/23

Como actualizar firmware deco HD400S.


  1. Descargar el firmwre F170 y F202
  2. Descomprimir y copiar hd400s_0170_2to4m.upb en un pendrive.
  3. conectar el pendrive a la parte posterior del deco, una vez que lo reconozca hacemos click en Menú (mando a distancia/control remoto) y nos desplazamos hasta el apartado Tools/herramientas.
  4. Una vez aquí, seleccionamos la opción upgrade by usb, dentro de ésta opción seleccionamos:
    1. upgrade mode: ALLCODE
    2. upgrade file: hd400s_0170_2to4m.upb
    3. start

Esto le llevará unos pocos segundos instalar el nuevo firm, cuando finalice el propio deco se reinicia, tarda un poco en arrancar, pero arranca él sólo.
Copiamos el firm202.upb al pendrive y repetimos la operación con el hd400s_f0202.upb

  1. upgrade mode: ALLCODE
  2. upgrade file: hd400s_f0202.upb
  3. start

Recomiendo que copien un sólo firm, para evitar confundirse a la hora de seleccionar. Una vez actualizado, seleccionamos el satélite que vamos a usar (en mi caso Hotbird) buscamos los canales. Una vez tengamos todos los canales localizados, nos desplazamos hasta el JSC+2 y deberíamos poder disfrutar de los canales que tenemos contratados.

Bueno, tengo que decir que a mi me ha funcionado el FIRM202 con la ayuda de los compañeros de zackyfiles sin ellos nada de esto habría sido posible. Muchas gracias a todos por la paciencia que han tenido, con todas mis preguntas.


No me hago responsable de cualquier problema que estas acciones puedan ocasionar al deco, cada quien es responsable de lo que hace...

2012/08/03

Configurar rtorrent y flexget (Parte I)

Buenas a todos, pido otra vez disculpas por tenerlos abandonados.

Gente, voy a dividirlo en partes, primero FlexGet y RSS después rtorrent...

Bueno desde hace algunas semanas llegó mi queridísima RaspberryPi, sólo tengo palabra de elogio para ella, me sorprendió en algunos aspectos _(sabía que era pequeña, pero es aún más de lo que esperaba jajajaja)_ no ocupa espacio, es discreta y su consumo es ridículo _(yo la tengo conectada al router del ISP, así que... ¿consume 0, no? ;-Þ )_. Yo tenía pensada una función específica para ella, quería suplir la Xbox Original que tan amablemente Lolo _(uno de los sysadmins krtux)_ ha  cedido para que el pequeño pudiera reproducir sus diferentes archivos multimedia. y para que le tuviera actualizada la versión de XBMC4XBOX.

Pero bueno, unos días antes de que llegara mi nuevo amor, repentinamente el router que tenía funcionando desfalleció, con lo cual me quedé bastante tirado, esperé por la RaspberryPi para ver si podía encargarse de esa función de router y lo está haciendo a las mil maravillas todo lo que le pido, que tampoco es tanto (unos routes por aquí, una OpenVPN por allá, unas iptables rules más acá, DNS local y poco más).

La atracción que tengo con FlexGet sinceramente data de un año y pico atrás, pero por vagancia, tiempo no había podido concretar la unión entre él y algún cliente torrent, si no era por problemas con python era por cualquier otra cosa. Hasta que la semana pasada, después de configurar los demonios antes mencionados y me decidí al 100% hacer funcionar a FlexGet, la verdad es que TODO lo que da esto es simplemente descomunal...

FlexGet como dicen ellos "FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, series, movies, etc. It can use different kinds of sources like RSS-feeds, html pages, csv files, search engines and there are even plugins for sites that do not provide any kind of useful feeds."

Esto va a ser útil para aquellos que sigan varias series y quieran despreocuparse de tener que ver cuando emiten el episodio en USA _(o de donde quiera que sea la serie que sigas)_ y buscar una fuente para conseguirlo, además le puedes decir qué tipo de archivo quieres, los episodios, temporada que ya viste para que se baje los siguientes, la calidad que quieres que sea el archivo, incluso puedes decirle que quieres que del grupo XXX no se baje nada. Con este pequeño resumen de qué es FlexGet creo que queda claro cual será su función (me quedo corto en sus posibilidades, leer en su web TODO lo que pueden hacer con él).

Yo estoy usando Raspbian “wheezy” es una distro oficial y optimizada para raspberrypi.
su -
apt-get install python2.6 python-setuptools

después de que hayamos instalado esto, seguimos...


easy_install flexget
flexget -V


Ok, ya lo tenemos instalado. ¿Ahora? fácil, crear el fichero de configuración. ¿Sabes exactamente lo que quieres ver, hacer y de donde sacar la información?

en la configuración NO USAR TAB, sólo DOS ESPACIOS. Paso a explicar mi configuración:


feeds:
  Series TV Shows:
    rss:  turss ;-Þ
    series:
      hdtv h264:
      - breaking bad:
          watched: S05E02
 
    content_size:
      min: 300
      max: 1000
          # email:
#   from: user@u'redomainDOTcom
#   to: user@u'redomainDOTcom
#   smtp_host: smtp.gmail.com
#   smtp_port: 587
#   smtp_username: user@u'redomainDOTcom
#   smtp_password: password
#   smtp_tls: yes 
    download: /media/net/nas/woxter/rtorrent/Torrents/

  • Series TV Shows - Nombre para el Grupo Series
  • rss - lugar desde donde vamos a adquirir nuestros torrents para después disfrutar de la Serie, Lolo me comentó sobre ShowRSS y es muy cómodo, suelo tirar más de eztv pero para gustos...
  • Series - Mi listado de series
  • HDTV - la calidad en la que quiero los episosios
  • Watched - Temporada/Episodio visto
  • content_size - específicas tamaño min/max del archivo
  • content_filter - simplemente tengo todas las temporadas de los ripeos de este grupo, me gusta y los subtíulo son fáciles de conseguir 
  • Download - Es donde baja el torrent (para que el rtorrent lo ponga a bajar en lo que esté en esa carpeta)
  • email - Estoy tentado a usarlo, lo tengo configurado pero aún no lo puse en producción.
Por ahora sólo tengo Breaking Bad añadida, pero en los próximos días iré añadiendo TODAS las demás, porque en Septiembre empieza lo bueno y hay que tenerlo listo para que sólo tenga que bajar el subtítulo y disfrutar de tu serie favorita.


Después de que está todo añadido, comprobaremos la configuración con:

flexget --check

hacemos una prueba de ejecución:

flexget --test

Sí todo sale bien, sólo nos queda meterlo en con cron para que se ejecute cada 10-20 o 5 minutos, si no tienes un tracker privado... No tienes que mantener prestigio ni nada por el estilo así que yo lo ejecuto cada 30 mins...

crontab -e

añadimos...


*/10 * * * * /usr/local/bin/flexget --cron


Listo señores, con esto ya podremos dedicar el tiempo ahorrado en otras cosas, saludos y disfruten mucho.

fuentes: aquiyaceelrootflexget

UPDATE:  Sat Aug  4 15:40:41 CEST 2012  Gracias gazpachoking por la información. ( Thabks gazpachoking for corrections)

2012/03/29

Configurar cliente GNU/Linux con NRPE para comprobar desde Nagios

Buenas tardes.

Pido una vez más disculpas por volver a descuidar el blog, pero la falta de tiempo se lo lleva todo. Esta semana me he puesto actualizar y reconfigurar cosas en uno de los servidores, y me di cuenta de que no estaba chequando los demonios bien y mucho menos los espacios. Así que me puse a ello y me tope con algunos problemas que me gustaría comentar, para así evitar que les pase lo mismo y vaya más fluido todo.

Lo primero que tenemos que hacer es descargar de la web oficial de Nagios los plugins, para meterlos en el servidor GNU/Linux que queremos chequear.

PS:     Para los usuarios de debian es necesario tener instalado el paquete libssl-dev
PS2 :  Esto se ha configurado sobre Debian squeeze/etch y Gentoo.
$ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
$ tar zxvf nagios-plugins-1.4.15.tar.gz && cd nagios-plugins-1.4.15
$ useradd -p nagios nagios
$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-ssl --libexecdir=/usr/local/nagios/libexec --bindir=/usr/local/nagios/bin/
$ make all
$ make install
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
$ tar zxvf nrpe-2.13.tar.gz ; cd nrpe-2.13
$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-ssl --prefix=/usr/local/nagios/ --sysconfdir=/usr/local/nagios/etc  --bindir=/usr/local/nagios/bin
$ make all
$ make install{,-plugin,-daemon,-daemon-config}

Bien después de instalar estos paquetes, solo nos queda configurar el demonio y sus respectivos comandos, para poder llamarlo desde el servidor nagios y comprobar lo que nos haga falta. vamos a ello. Yo me encontré con un problema en Debian Etch (ya lo sé, se que me van a decir que está deprecated PERO, lo que está de cara al aexterior está actualizado). y es que si no le digo que el pid lo ponga en /var/run/nrpe/ me da un problema de permiso denegado, pq no se puede lanzar como root, evidentemente.

entonces hay que modificar en /usr/local/nagios/etc/nrpe.cfg lo siguiente:


pid_file=/var/run/nrpe.pid
por
pid_file=/var/run/nrpe/nrpe.pid
Descomentar
#server_address 
por
server_address=IP
Añadir IP de los equipos permitidos:
allowed_hosts=127.0.0.1,192.x.x.x,10.x.x.x

Salvamos y creamos la carpeta. Descomentamos al final del archivo todos los  "commands" y añadimos lo que nos interesa.

$ mkdir /var/run/nrpe ; chown nagios:nagios /var/run/nrpe/$ echo "nrpe 5666/tcp #NRPE" >> /etc/services

Editamos el /etc/host.allow para permitir a los equipos que queremos.

ALL: IP

Copiamos y modificamos el script de inicio para el demonio...

$ cp init-script.debian /etc/init.d/nrpe ; chmod +x /etc/init.d/nrpe

Una vez hecho esto, podemos lanzar el demonio y comprobar que está corriendo...

$ /etc/init.d/nrpe start ; netstat -l| grep nrpetcp        0      0 10.68.30.223:nrpe       *:*                     LISTEN     

Sí obtenemos esa respuesta, es lo que deseamos tenemos corriendo el servicio. Ahora comprobamos desde el servidor, que podemos hablar con él

$ /usr/lib64/nagios/plugins/check_nrpe -H 10.68.30.223
NRPE v2.13

Perfecto, todo va viento en popa, configurado y corriendo, ahora ajustamos los parámetros que queremos chequear, ya sean procesos, carga de CPU y disco duro.

$ /usr/lib64/nagios/plugins/check_nrpe -H IP -c check_total_procs
PROCS OK: 75 processes

Configurado, solo nos queda añadir el servicio en nagios y el servidor correspondiente, que sería algo así

define service{
        use                             generic-service
        host_name                  Dozer
        service_description     Total Processes
        check_command        check_nrpe!check_total_procs
        }
$ /etc/init.d/nagios reload 

Esperamos que lea y cargue los demonios pendientes por chequear y desde de este momento dejaremos de dormir en paz, como lo veníamos haciendo hasta ahora. Gracias a la felicidad que sólo puede proporcionar la ignorancia.

2011/12/09

Usando Fbsplash en Gentoo

Hoy se me ha dado por solucionar algunos pequeños errores que tenía en el boot de mi máquina y viendo el arranque, me he dicho... "¡Ufff  esto es más soso que yo!". Dicho esto, me puse a leer un poco sobre lo que se usa ahora para el BootSplash (como yo lo conocía ... hace mucho).

Bueno, lo primero que tenemos que hacer es instalar media-gfx/splashutils con los USE  fbcondecor mng y static-libs algunas de sus dependencias, también les hará falta, así que tendrán que las recompilamos. Aparte de esto, también hay que tener soporte en el kernel:


Device Drivers ->
    Graphics support ->
        <*> Support for frame buffer devices  --->
            Console display driver support  --->
                <*> Framebuffer Console support
                [ ] Enable Tile Blitting Support
                [*] Support for the Framebuffer Console Decorations

Device Drivers --->
    Input Device Support --->
        <*> Event Interface

kaiser ~ # emerge -avN splashutils


Bien, ya tenemos la base, ahora nos hará falta algún tema para darle vidilla a nuestras tty's (yo instale el splash-themes-gentoo), si quieres conocer más opciones:

kaiser ~ # eix splash-themes
kaiser ~ # emerge -av splash-themes-gentoo

Ok, ahora vemos el contenido de la carpeta /etc/splash/, para probar y elegir el que más nos gusta...

kaiser ~ # splash_manager -c set --theme=natural_gentoo --tty=1

Una vez hayamos elegido nuestro preferido, con  Ctrl+Alt+F1 bajamos a la tty1 para comprobar el tema seleccionado y una vez elegido generamos la imagen para hacerlo permanente.

kaiser ~ # splash_geninitramfs --verbose --res 1024x768 --generate /boo/initramfs-bootsplash-3.1.4 natural_gentoo

Ahora añadimos un par de líneas a nuestro lilo (Sí lo sé ahora saldrán todos aquellos que adoran a Grub y blasfemaran de mí y lilo, pero ese debate discusión prefiero dejarlo para otro post dedicado a él. Si no les importa amigos.)


image = /boot/vmlinuz-3.1.4-gentoo
        root = /dev/sda6
        label = Gentoo-3.1.4
        read-only
        initrd=/boot/initramfs-bootsplash-3.1.4
        append="splash=verbose,theme:natural_gentoo"

Las líneas que tenemos que añadir son las que están en negrita, una vez añadido, ejecutamos lilo...

kaiser ~ #  lilo


Una última cosa es añadir al /etc/conf.d/fbcondecor, para tener la imagen en todas las tty. Descomentamos la línea:

 FBCONDECOR_TTYS="1 2 3 4 5 6"


y añadimos al arranque:

kaiser ~ # rc-update add fbcondecor boot 


Ahora tenemos unas tty más acogedoras para esos ratos agradables que pasamos en ellas, suerte y espero que les sirva y guste a todos, saludos!!!!








2011/12/04

Cómo crear un USB encriptado para proteger datos sensibles


Bueno como dije ayer en twitter, hoy voy a explicar el método que uso para proteger algunos de los datos más sensibles que manejo en mi entorno de trabajo, navegador, ssh keys y datos varios. Hago referencia al script que uso,que fue hecho por Rafael Gawenda y también fue su idea, yo modifique el script para mis necesidades.

Bueno, lo primero que tenemos que hacer es generar un archivo para después encriptarlo. Así creamos un archivo llamado "key" en el pendrive que tendrá una partición de 2.9GB (esto tardará un rato).
 kaiser ~ # dd if=/dev/urandom of=/media/dguillermo/key bs=1024k count=2950
 Ok, ahora que tenemos nuestro archivo, sólo nos quedaría encriptarlo, (yo compilo el Kernel Linux específico para mi máquina y sus características específicas, no comparto esa idea de usar un Kernel genérico con "20 drivers de sonido" cuando tengo una sola tarjeta de sonido). AES, Blowfish, Twofish, RC5, RC6, Serpent.
losetup -e Blowfish /dev/loop0 /media/dguillermo/key
 Esto nos pedirá una clave, la cual será la que usaremos para montar nuestra partición, una vez hayamos introducido la clave, tendremos que formatear esa partición, aquí lo mismo de antes depende de lo que tu kernel soporte, yo uso XFS,y llevo tiempo usándolo en la partición donde tengo los ficheros multimedia y "noto" que me va mejor que EXT4, para gustos Sistemas de Archivos ;-Þ

kaiser ~ # mkfs.xfs -f /dev/loop0  (en mi caso)
kaiser ~ # mkfs.ext4 -f /dev/loop0 (si te decantas por este sistema de archivos)

Bien, ahora desmontamos /dev/loop0

kaiser ~ # losetup -d /dev/loop0
Ok, ahora les cuento el detalle para tener controlado el pendrive y añadimos una línea a udev, pero primero tenemos que saber qué modelo de USB y su Serial, lo cual descubrimos de la siguiente manera:

kaiser ~ # lsusb (vemos donde está nuestro pendrive) y después hacemos:
kaiser ~ # lsusb -v -s 009 (en mi caso) ahora añadimos el serial a /etc/udev/rules.d/97-usbkey.rules
kaiser ~ # echo "ATTRS{serial}=="AA0000000000XXXX", SYMLINK+="key" " > /etc/udev/rules.d/97-usbkey.rules

Ahora viene la parte más bonita y detalles curiosos. Añadimos a /etc/fstab:

/media/dguillermo/key     /media/j0d3/key               xfs     defaults,noauto,loop,encryption=blowfish,user 0 0

Bueno, le damos permiso para que nuestro usuario pueda usar ese path y si no existe lo creamos

kaiser ~ # mkdir -p /media/j0d3/key
kaiser ~ # chown user:user -R /media/j0d3/*

Ok, ahora pasteo el código del script hecho por Rafael Gawenda y modificado para mis necesidades ;-Ð

#!/bin/bash
media=( "" /media/dguillermo/{/,key} )
umedia=( "" /media/j0d3/key /media/dguillermo/ )
case ${0##*/} in
        xkey+ )
                for fs in  2
                        do
                                mount  /media/j0d3/key
                        done
                ;;
        xkey- )
                keychain --agents ssh --stop all
                for fs in 1 2
                        do
                                 /bin/umount ${umedia[$fs]}
                        done
                ;;
        xkey )
                [[ $(/bin/mount|/bin/grep -c "/media/j0d3/key/" ) -eq 1 ]] && ${0}- || ${0}+
                ;;
        * )
                ;;
esac
De está manera ya montamos y desmontamos nuestra partición de una forma fácil, sólo le damos permiso de ejecución, hacemos un link a xkey xkey+ xkey-

kaiser ~ # chmod +x xkey
kaiser ~ # ln -s xkey xkey+
kaiser ~ # ln -s xkey xkey- 


Para no tener que tirar de /usr/bin/, podemos crear un directorio en nuestro home y meterlo ~/bin, esto lo añadimos al path en ~/.bashrc.

 kaiser ~ # vim ~/.bashrc  (y añadimos el directorio en la linea del Path): 
Si no estás familiarizado con este formato, te aconsejo que lo pongas de primero
Path="~/bin:......" (guardamos los cambios)
 source .bashrc

y ahora cuando ejecutemos xkey+ nos pedirá la clave que metimos cuando encriptamos la partición. No voy a explicar cómo compartir claves ssh, sólo ciertos detalles que me parecen curiosos.

movemos todo el contenido de ~/.ssh/  a  /media/j0d3/key y hacemos un link.

kaiser ~ # mv ~/.ssh/ /media/j0d3/key/
kaiser ~ # ln -s /media/j0d3/key/.ssh ~/.ssh/

hasta aquí todo fácil, ahora bien en el pendrive también meto el perfil de Chromium el cual se guarda en ~/.config/chromium/Default, misma operación movemos todo.

kaiser ~ # mv ~/.config/chromium/Default /media/j0d3/key/  (está demás decir, que hay que tener el navegador cerrado para realizar está operación) ;-Ð
kaiser ~ # ln -s /media/j0d3/key/.config/chromium/Default  ~/.config/chromium/Default 
Ok, ahora tenemos nuestras claves todas seguras en nuestra partición encriptada, así que todo perfecto (yo copio el ~/.ssh/config a un path diferente) para que cuando no tenga montado el pendrive me mantenga esa configuración, ya que al tener varios servers en puertos diferentes, es más cómodo. Ok, ahora desmontamos el pendrive...

kaiser ~ # xkey- 

Bien, ahora vamos /media/j0d3/key/, hacemos un ls -alh y está vacío evidentemente... Pues creamos algunos directorios...

kaiser ~ # cd /media/j0d3/key/
kaiser ~ # mkdir .ssh ; cp ~/path/config/que/copiamos/del/~/.ssh/
kaiser ~ # ln -s /media/j0d3/key/.ssh ~/.ssh

Abrimos el chromium, para que cree un perfil nuevo y limpio y misma operación...

kaiser ~ # mkdir -p .config/chromium/
kaiser ~ # mv ~/.config/chromium/Default /media/j0d3/key/.config/chromium/

Y de ésta manera, tendremos un navegador limpio y vacío por si alguien usa nuestra computadora. Esta semana probaré a meter una aplicación de Wine que uso con relativa frecuencia para tener la misma configuración tanto en el trabajo como en la casa. Espero que esto les sea tan útil y cómodo como lo es para mí.






2011/10/17

Instalando una ROM oficial en HTC Hero una vez flasheada



Vamos a lo que vamos vi muchos tutoriales de como hacer esto sobre las diferentes versiones de  Windows, pero no lo tengo y a buscarnos la vida como siempre, así que lo primero que tenemos que hacer es conseguir el OpenRUU porque HTC distribuye sus ROM's oficiales empaquetadas en un *.exe. 


$ cd ~/Downloads/OpenRUU-Xtract-beta2 ; sh 1extractrom.sh 


Debemos tener instalado Wine, para poder usar el rom.zip, que viene dentro... Y seguir los pasos que nos van diciendo, Una termine los precesos, ejecutamos 


$ sh  2FastbootFlash-Linux


Para este paso es necesario estar en el fastboot al cual llegamos de cualquiera de estás dos formas:


Con el teléfono apagado pulsamos atrás+power 
$ adb reboot bootloader


Listo ya nos instala la ROM oficial... Bueno, como verán está en face BETA, bajo la responsabilidad de cada uno se usa, yo lo he necesitado dos veces y perfecto funciona.


Terminales soportados:


 1. HTC GSM Hero 2. HTC Desire
 3. HTC Tattoo
 4. HTC CDMA Hero
 5. HTC Legend
 6. HTC Droid Incredible
 7. HTC EVO 4G


2010/09/17

Requisitos para adquirir un dispositivo electrónico.

Buenas noches.

Ayer por la mañana me entere que mi hermanita va adquirir una BlackBerry y bueno sinceramente mucha gracia no me hizo, pero bueno es su elección y para gustos hay colores y no hay nada escrito pero bueno y me gustaría explicar mi particular punto de vista sobre este tema que tanto debate da entre los "tres grandes" sistemas para teléfonos que hay en la actualidad IPhone, Blackberry y Android. ¿Nokia?

Me centraré básicamente en los dispositivos móviles, voy a dejar otros dispositivos electrónicos para otro momento, yo cuando me decido a cambiar de dispositivo es por varias razones.

  1. Se me daña.
  2. No me da todo lo que pienso que podría dar.
  3. No me convence.
Una vez tomada la decisión de cambiar de dispositivo hay que estudiar lo que estás dispuesto a gastar (punto MUY importante en la mayoría de casos) a mi no me sobra el dinero pero cuando voy a cambiar de dispositivo "siempre" me lo planteo como una inversión y como tal tiene que durar y no hacerme la vida imposible. Una vez que sabemos lo que queremos/estamos dispuestos a gastar, viene lo posiblemente más complicado elegir el bendito modelo.

Ok, sabemos cuanto podemos gastarnos, ahora ¿Qué?. Llamo al amigo informático y le digo. ¿Tengo 600€ quiero comprar un teléfono que me recomiendas? ¡NO!

(YO suelo tardar uno o dos meses en decidirme, además de comprobar que funciona al 100% en mi Sistema Operativo GNU/Linux.) Pierdo 20 minutos en google leyendo un poco sobre la idea que tengas sobre el teléfono que te gustaría porque siempre tienes una idea (aunque sea mala, es una idea al fin y al cabo). Por lo menos para saber que sensación tiene la gente que lo tiene, de que se queja...

Comparemos un poco las tiendas de para adquirir aplicaciones en los diferentes sistemas 

IPhone (Apple Store)  - 250.000 aplicaciones. Apple no permite que los programadores suban sus programas de forma libre, deben pasar unos filtros y si una aplicación funciona bien en en Apple Store es improbable que otra aplicación similar sea subida. (para mi un error, el la variedad está el gusto). Pero estos señores como son así de cerrados, lo demuestran en cada una de sus acciones.


Dejando un poco de lado el tema de la tienda OnLine, tengo que hacer referencia a la maravilla creada por los Analistas del IPhone 4 y su excelente posicionamiento de la antena gsm/cdma, sin duda alguna un ejemplo excelente de lo que no se debe hacer. ¿Cuanto le va costar a la empresa el error del Genio? (aunque yo no descartaría que fuera intencionado, alguien dijo... Da igual que hablen bien o mal de ti pero que hable... Estos son gringos y el Marketing lo llevan a raja tabla)

Android (Market) - 100.000 aplicaciones, el 64,2% de lo existente en el Android Market es gratuito. En Android no pasan filtros, los usuarios son el filtro gracias a su sistema de votación y descargas ayuda a filtrar las aplicaciones que son menos buenas..

BlackBerry (BlackBerry App World10.000 aplicaciones. BlackBerry tienen en sus tiendas un mayor número de aplicaciones de pago. Hablando del precio de las aplicaciones, BlackBerry es quien ofrece las aplicaciones más caras del mercado, seguido muy de cerca por Windows y Apple.

Sobre Nokia no tengo nada que decir, si he de elegir un terminal de está compañía (que hasta hace dos años me "surtía" de terminales) Sería un N900 con MAEMO es lo único que podría llamar mi atención. (No sé si tiene sistema de tienda Online NI ME IMPORTA y no voy a perder 20 segundos en teclear.) 

Windows Mobile? Es una basura su versión 6.1 y el Windows Phone esa no la he visto pero después de ver la cantidad de errores que cometen con sus Microsoft Windows xXx, sus Internt Explorer... No tengo nada más que decir de este sistema.

Ahora me dirás, pero es que yo NO voy a comprar ninguna aplicación porque no lo veo necesario y no me hace falta, lo que trae el teléfono me llega.¿Ok entonces para que te gastas 600€ en un teléfono que vas a usar para enviar, recibir llamadas y sms, mms?. Cuando veas las ventajas que te dan esas aplicaciones "que según tú" no ibas a comprar te acordarás del día que por impaciente cometiste ese error.

Ok, ahora que hemos visto sus tiendas OnLine y nos hemos dado cuenta del error que cometimos, quiero comparar las ventajas de alguno de esos terminales:


Empezare por Android que desde mi punto de vista es el que más beneficios aporta con diferencia sobre el resto de los otro dos, esto como bien sabemos está hecho por Google y como es habitual en los ellos el código de su software es Open Source( no haré referencia al OpenSource porque tanto en el blog, como en internet hay mucha información sobre el tema). Esto nos genera un alto número de posibilidades desde que "cocineros" de más o menos nivel nos den ROM's mejoradas y optimizadas un poco más para nuestros queridos terminales.
Por otro lado tenemos las diferentes aplicaciones de Google integradas en Android  (me atrevo a decir que a la perfección y si no es al 100% es a un 98.5%) puede que alguna cojeé un poco, pero tarde o temprano alguien tendrá ese mismo dilema y tendrá la "suerte" de saber programar y lo hará luego recaerá en su conciencia si esa aplicación la libera como OpenSource o no (allá cada quien con su Karma). 


Correo electrónico integrado a la perfección con gmail, gtalk para hablar con amigos sin gastar en SMS, saber donde están tus panas y dejar de hacer la estúpida llamada de ¿Donde estás?, un álbum de fotos online y que con un par de "click" compartes, gestión excelente de contactos telefónicos e integración con redes sociales para que cuando vayas a llamar a tu contacto sepas gracias a su perfil de Facebook, Twitter si va estar disponible o no y te ahorra la llamada, almacenar TODAS tus llamadas en el calendario y cuando venga el típico pipas y te diga !Te estuve llamando toda la tarde ayer y no agarraste! ¿Sí? déjame comprobar una cosa.... Le muestras el calendario del día anterior y le sueltas, pues no sé aquí no me aparece reflejada ninguna llamada tuya. almacenar todos los SMS, MMS de forma automática en una etiqueta de gmail para no perderlos. Y por ultimo Google Navigator lo cual es como un "TomTom" pero gratis (quizás tenga la pega de que si no tienes cobertura pues igual falla un poco, pero a menos que tengas una compañía que te de un servicio pésimo no deberías de tener esos problemas.
Posiblemente el mayor y único pero que le pondría a este sistema (justo lo hablaba ayer con ais) es que quizás para un usuario no avanzado es un poco lioso a la hora de transferir música, fotos.


IPhone ... ¿Acceso a iTunes? No lo sé si alguno quiere colaborar y explicarme aparte de estética y un terminal bonito. ¿Que aporta realmente? (hasta da problema para sincronizar correos, por no hablar de su dudosa multi-tarea que han implantado ahora hace cosa de dos meses)


BlackBerry al menos aporta el BB Pin que es un protocolo de mensajería interna el cual puede llegar a estar bien si todo el grupo de amigos tiene una y mediante esto nos ahorramos gastos tontos como los que mencione antes. Después aporta lo que un smartphone de la actualidad conexión a internet, correos push, etc etc... Pero aporta algo.

Después de esto, solo voy a exponer cuales son MIS terminales favoritos, posiblemente uno de estos a final de año sea mio, ya que la prueba con HTC Hero no ha sido 100% satisfactoria (debo decir que el único pero es la falta de QWERTY físico), he comprobado que el teclado físico PARA MI, es una necesidad imperiosa.


Europa HTC Desire Z  - USA HTC Vision.
Samsung Galaxy Q  -- Es muy interesante, apesar de sus 3" de pantalla ... 


Un saludo y espero que alguno le sirva esto a la hora de decidir que comprar.