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.


NetBeans + UML

Bueno ya hemos acabado el modulo de UML (hace casi un mes y pico y ya casi estamos terminando el modulo de SQL) y para variar mi vagancia sigue a sus niveles altísimos de pasar por aquí a comentar, hemos tocado un poco de java y me ha entrado el mono. Me he propuesto crear una biblioteca para mostrar y llevar un control del contenido multimedia que poseo. Se que hay una infinidad de ellos en internet, pero que quieren que les diga... Se me ha metido en los cuernos hacerlo y espero terminar este proyecto.

Lo primero que estoy haciendo es instalar Netbeans en mi pc (es lo que vamos usar para programar en java en el curso\aunque prefería el Eclipse, pero que se le va hacer\) y añadirle el modulo..

Abrimos el Netbeans --> tools --> Plugins --> Settings --> ADD

nombre: UML
url: http://ea.ddns.com.br:8090/netbeans6.8/UML/catalog.xml

y ahora vamos a Tools --> Plugins --> Availlable Plugins
Seleccionamos UML (esperamos a que lo instale) y listo...

A empezar a crear diagramas...

Aún no he pensando el nombre del programa, solo tengo en la cabeza la estructura de la DDBB y para aclarar mis ideas empezare hacer el pseudocodigo y los diagramas correspondientes.



Cambio de planes...

Bueno como dije hace unos días empece un curso y han modificado el temario, ahora veremos los siguientes módulos:


Módulo 1: 
Programación Orientada a Objetos y  Unified Modeling Language (UML) 
Módulo 2: 
Bases De Datos y Lenguaje SQL 
Módulo 3: 
Diseño De Estructuras De Datos y Algoritmos
Módulo 4:
Metodologías de Diseño de Aplicaciones Informáticas 
Módulo 5:
Programación en Java 
Módulo 6:
Programación Avanzada Estructurada en C 
Módulo 7:
Pruebas y Documentación 
Módulo 8:
Coordinación de Equipos de Trabajo 


Después de estás dos semana terminamos el martes el primer módulo, interesante posiblemente donde más se use sea para proyectos grandes donde sea necesario tener y saber que vas hacer y claro si hablamos de varios grupos de trabajo, es esencial un buen trabajo de análisis y desarrollo. Si no pueden pasarte cosas como por ejemplo el pequeño despiste del Iphone 4, que no es nada grave, nada problemático eso sí, si no  quieres cometer cagadas como estás, pierde dos días aunque sea analizando y diseñando que seguro que el usuario final te lo agradecerá de alguna forma... :-Ð

Sigo pasando la documentación del módulo 1, para poder colgar pronto mis anotaciones y algún que otro ejemplo. Por cierto en el post anterior comente que íbamos usar el programa ArgosUML, pero después de usarlo estas semanas está muy muy verde aún, tengo instalado con la computadora Eclipse en el transcurso de la semana que viene pruebo el addon que tienen para UML y les comento que tal, porque en serio que el ArgosUMLva francamente mal :-Ð


No me he olvidado...

Sé que tengo esto muy olvidado y que prácticamente ni paso por aquí, acabo de empezar un curso de programación y prometo que al finalizar cada modulo pondré las notas y los ejercicios que vaya haciendo. El curso va tratar C, Java, PascalUML  ... Como es evidente hemos empezado por UML para la estructuración y documentación del proyecto, por ahora solo hemos visto los Casos de Uso, hemos realizado algunos ejemplos de UML con argouml, que es la aplicación que hemos usado. Supuestamente saldremos con varios programas hechos.....

Ya les contare... Un saludo :-Ð

Instalando Age of Empires III en Gentoo

Bueno hace algún tiempo me engancharon al Age of Empires III y la verdad es que no había jugado al III por no probarlo la primera impresión no me había gustado y después de algunas campañas pues me adapte, después de este pequeño proceso de adaptación vino ais y me dijo de echar una partida como han sido las primeras, pues me pulió sin piedad.
 Después me paso un link donde decían como instalarlo mediante wine... (este no es el link, que me pasaron es otro, que no sé cual es, es el que seguí yo)... Ahora preparate cabrón que he estado entrenando al 'Black Empire' ;-Ð

Aquí podemos comprar el juego, para el que no lo tenga :-Ð

Ayer me puse manos a la obra y los pasos son los siguientes...

1) Copiar todas el contenido de los CD's a una carpeta...

$ su -
$ mount -o loop /media/Almacen/Juegos/PC/aoe3/aoe_cd1.iso /media/isos
$ cp -rv /medios/isos/* /home/user/ao3
$ umount /media/isos ; mount -o loop /media/Almacen/Juegos/PC/aoe3/aoe_cd2.iso /media/isos
$ cp -rv /medios/isos/* /home/user/ao3
$ umount /media/isos ; mount -o loop /media/Almacen/Juegos/PC/aoe3/aoe_cd2.iso /media/isos
$ cp -rv /medios/isos/* /home/user/ao3
$ umount /media/isos
$ chown -R user:user 
$ exit
$ exit 

Ok, ahora que tenemos todos los CD's solo tenemos que copiar TODAS las dll's del CD1 a ~/.wine/drive_c/windows/system32/


$ mount -o loop /media/Almacen/Juegos/PC/aoe3/aoe_cd1.iso /media/isos
$ su 
$ cp -rv  /media/isos/*.dll ~/.wine/drive_c/windows/system32/
$ cp -rv /media/isos/Age\ of\ Empires\ III/*.dll ~/.wine/drive_c/windows/system32/
$ chown -R user:user ~/.wine/drive_c/windows/system32/
$ exit
$ exit

Ahora bajamos un par de dll's que nos hacen falta e instalamos con el usuario que bamos a jugar, de aquí bajamos  MFC42.DLL y D3DX9_25.DLL 

$ cd ~/ao3 ; wine instalar.exe 

Después de un rato cuando termine de instalar se nos va quedar colgado el IDriver.exe lo matamos con 'kill -9 supid'

Es hora de probar el juego... Hacemos click en el acceso directo que se nos creo en el Desktop, !!OH¡¡ Falla diciendo que no tenemos el MSXML 4.0 bueno hombre, tranquilo...

$ wget http://www.kegel.com/wine/winetricks
$ sh winetricks msxml4

Ok, ya está... Ahora a viciar!!!

Ave Negrooo!!!!

Espero que les ayude señores ;-Ð

PS: Tienen que usar Wine 1.1.38, después de leerme varios hilos de bugs, fue el que vi que funcionaba, es la versión estable en Gentoo :-Ð






Actualización Monday 03 May 2010 18:42:41....

Después de estar ayer bastante rato por la noche haciendo pruebas con ais, de conexión y tratando de actualizar el juego a la versión 1.13, lo dimos por imposible, pero él consiguió a PlayOnLinux y con esto, si hemos podido actualizar y jugar por inet...

Los pasos son muy parecidos, simplemente instalamos playonlinux...

$ emerge -av playonlinux

Una vez instalado añadimos, nuestro usuario al grupo games y cerramos la sesión y volvemos a conectar

$ adduser user games

Una vez echo esto, ejecutamos

$ playonlinux 

Ahora solo nos queda seguir los pasos y disfrutar del vicio ;-Ð

Ellos premian tu constancia :-Ð

Bueno según veo están sorteando un N1 los amigos de elandroidlibre, y la verdad es que bien sea por la camiseta o por el llavero que están regalando se lo currando mucho, pq están muy guapos los dos :-Ð

 Eso sí que es premiar la fidelidad un N1 y lo demás son tonterías, señores un gran aplauso para ustedes Sí Sí :-Ð

Quien era participar tiene aquí las instrucciones para participar, pero bueno si lo leen diario seguro que esto está demás :-Ð

Instalar sdk y driver en Gentoo de Android

Desde hace unos días tengo mi Kaiser corriendo su Android Nativo y solo puedo hablar maravillas, sobre todo el la autonomía de la batería y la evidente mayor fluidez con la que funciona, pero hoy hablando con unos amigos de como pasaban paquetes al teléfono me dijeron que desde el SDK y bueno, después de ver un poco como iba les explico como hacerlo funcionar.

Primero tenemos que bajarnos el SDK de aquí, simplemente descomprimimos

$ tar zxvf androidinstall.tgz -C ~/
$ cd ~/android-sdk-linux_86
$ vim ~/.bashrc # añaidmos
export PATH=${PATH}:~/android-sdk-linux/tools

$ sources ~/.bashrc
# Ahora actualizamos el SDK
$ android update sdk # Yo solo instale la API del 2.1 y ejemplos


Ok, ahora que tenemos instalado el SDK solo nos queda decirle a la computadora que hacer cuando conectemos el teléfono a ella...

$ vim /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
$ chmod a+r /etc/udev/rules.d/51-android.rules
\Creo recordar que en Debian era "SYSFS{}="\


Ok, listo ahora para comprobar que nos funciona ejecutamos... 'adb devices' y nos debería salir algo como esto:

$ adb devices
List of devices attached
???????????? device


Listo, tenemos acceso a nuestro terminal de forma cómoda y rápida :)

# cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 4 (v6l)
BogoMIPS : 383.38
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 6TEJ
CPU variant : 0x0
CPU part : 0xb36
CPU revision : 4
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 32768
I assoc : 4
I line length : 32
I sets : 256
D size : 32768
D assoc : 4
D line length : 32
D sets : 256

Hardware : HTC Kaiser
Revision : 0000
Serial : 0000000000000000

# uname -a
Linux localhost 2.6.25-00976-g11b8ce9 #71 PREEMPT Sat Feb 20 15:04:00 EST 2010 armv6l GNU/Linux

Flashear Kaiser mediante NAND e instalar Android Eclair 2.1

Buenas noches!!!

Hola amigos, después de muchos meses usando Android desde la SD ayer me decidí a instalarlo en el teléfono mediante el método NAND y con la ROM de polymod 2.1 Gamma la cual es la mejor que he probado hasta la fecha, en la SD iba como un tiro y en 5 días solo me dio un "FC" así que después de mucho leer, pensármelo, darle vueltas me decidí hacerlo.

En xda hay mucha información, muy variada y puede llegar hacer hasta confusa, yo me decante por la siguiente forma y siguiendo estos paso.

  1. Tener cargado el teléfono.
  2. Tener instalado el Hard SPL en el teléfono.
  3. El autor recomienda la radio (1.65.24.36)yo uso la 1.71.09.1 y encantado con ella.
  4. Una SD de 1GB formateada en FAT32
  5. Descargar el polymod de aquí, que prefieran (yo uso la Light)
  6. Descargar el NBH kaiserclair adecuado de aquí. (yo uso el panel2-320)
  7. Renombrar el NBH bajado a KAISimg.nbh y copiarlo a la raíz de la sdcard.
  8. Una vez tengamos en la /sdcard/ la carpeta andboot y el archivo antes mencionado. Presionamos el botón de la cámara y el on/off a la vez para reiniciar el teléfono y actualizarlo (cuando nos pregunte si queremos reiniciar con stylus, le decimos que sí) y nos debería salir una una pantalla blanca con una barra que se cargará hasta el 100% y una vez cargado completo, esperamos 20 segundos y quitamos la batería. Ahora se reiniciará el teléfono y nos arrancará un kernel dejamos presionado el D-PAD (el botón del medio) hasta que nos aparezca el Menú de Instalación, en el que seleccionaremos con un (*) Sys on Nand y (*) Data on Nand. Esto le llevará un tiempo y cuando termine de formatear/instalar regresará al Menu de Instalación, le damos a Quit y empezará arrancar nuestro nuevo sistema.
  9. Después de un rato, nos saldrá la pantalla de configuración de Android aquí en este paso el auto recomienda saltar TODAS las configuraciones y dejar el teléfono 10 minutos.. Una vez transcurridos los 10 minutos, quitas la batería y vuelves arrancar el teléfono y ya puedes empezar a disfrutar de tu nuevo y nativo sistema.

Bueno señores yo desde luego que estoy muy contento con el rendimiento que he visto en el teléfono en estos días que use esa ROM en la SD y por ello me decidí a instalarla y ahora el poco tiempo que la he usado de forma Nativa he notado una buena mejoría. Espero que esta pequeña guía (que no es mas que una burda traducción) les ayude y anime a flashear sus Kaiser...

Como bien dicen todos los autores, esto es MUUY BETA, cada quien lo hace bajo su responsabilidad!!! :-Ð

Dejo los enlaces de los post que leí...

[android] NAND flashale android !!USER!! Questions UPDATED MANY HOW TO'S
Anyone afraid of NAND flashing is a wuss. Check this out, its so easy..

Sí no fuera por estos chicos de xda ya hubiera tirado la Kaiser y su Windows Mobile por la ventana, gracias majos!!! :)

jueves, octubre 25, 2012

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



martes, octubre 23, 2012

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...

viernes, agosto 03, 2012

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)

jueves, marzo 29, 2012

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.

viernes, diciembre 09, 2011

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!!!!








domingo, diciembre 04, 2011

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í.






lunes, octubre 17, 2011

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


viernes, septiembre 17, 2010

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.


jueves, agosto 19, 2010

NetBeans + UML

Bueno ya hemos acabado el modulo de UML (hace casi un mes y pico y ya casi estamos terminando el modulo de SQL) y para variar mi vagancia sigue a sus niveles altísimos de pasar por aquí a comentar, hemos tocado un poco de java y me ha entrado el mono. Me he propuesto crear una biblioteca para mostrar y llevar un control del contenido multimedia que poseo. Se que hay una infinidad de ellos en internet, pero que quieren que les diga... Se me ha metido en los cuernos hacerlo y espero terminar este proyecto.

Lo primero que estoy haciendo es instalar Netbeans en mi pc (es lo que vamos usar para programar en java en el curso\aunque prefería el Eclipse, pero que se le va hacer\) y añadirle el modulo..

Abrimos el Netbeans --> tools --> Plugins --> Settings --> ADD

nombre: UML
url: http://ea.ddns.com.br:8090/netbeans6.8/UML/catalog.xml

y ahora vamos a Tools --> Plugins --> Availlable Plugins
Seleccionamos UML (esperamos a que lo instale) y listo...

A empezar a crear diagramas...

Aún no he pensando el nombre del programa, solo tengo en la cabeza la estructura de la DDBB y para aclarar mis ideas empezare hacer el pseudocodigo y los diagramas correspondientes.



viernes, julio 23, 2010

Cambio de planes...

Bueno como dije hace unos días empece un curso y han modificado el temario, ahora veremos los siguientes módulos:


Módulo 1: 
Programación Orientada a Objetos y  Unified Modeling Language (UML) 
Módulo 2: 
Bases De Datos y Lenguaje SQL 
Módulo 3: 
Diseño De Estructuras De Datos y Algoritmos
Módulo 4:
Metodologías de Diseño de Aplicaciones Informáticas 
Módulo 5:
Programación en Java 
Módulo 6:
Programación Avanzada Estructurada en C 
Módulo 7:
Pruebas y Documentación 
Módulo 8:
Coordinación de Equipos de Trabajo 


Después de estás dos semana terminamos el martes el primer módulo, interesante posiblemente donde más se use sea para proyectos grandes donde sea necesario tener y saber que vas hacer y claro si hablamos de varios grupos de trabajo, es esencial un buen trabajo de análisis y desarrollo. Si no pueden pasarte cosas como por ejemplo el pequeño despiste del Iphone 4, que no es nada grave, nada problemático eso sí, si no  quieres cometer cagadas como estás, pierde dos días aunque sea analizando y diseñando que seguro que el usuario final te lo agradecerá de alguna forma... :-Ð

Sigo pasando la documentación del módulo 1, para poder colgar pronto mis anotaciones y algún que otro ejemplo. Por cierto en el post anterior comente que íbamos usar el programa ArgosUML, pero después de usarlo estas semanas está muy muy verde aún, tengo instalado con la computadora Eclipse en el transcurso de la semana que viene pruebo el addon que tienen para UML y les comento que tal, porque en serio que el ArgosUMLva francamente mal :-Ð


viernes, julio 16, 2010

No me he olvidado...

Sé que tengo esto muy olvidado y que prácticamente ni paso por aquí, acabo de empezar un curso de programación y prometo que al finalizar cada modulo pondré las notas y los ejercicios que vaya haciendo. El curso va tratar C, Java, PascalUML  ... Como es evidente hemos empezado por UML para la estructuración y documentación del proyecto, por ahora solo hemos visto los Casos de Uso, hemos realizado algunos ejemplos de UML con argouml, que es la aplicación que hemos usado. Supuestamente saldremos con varios programas hechos.....

Ya les contare... Un saludo :-Ð

domingo, mayo 02, 2010

Instalando Age of Empires III en Gentoo

Bueno hace algún tiempo me engancharon al Age of Empires III y la verdad es que no había jugado al III por no probarlo la primera impresión no me había gustado y después de algunas campañas pues me adapte, después de este pequeño proceso de adaptación vino ais y me dijo de echar una partida como han sido las primeras, pues me pulió sin piedad.
 Después me paso un link donde decían como instalarlo mediante wine... (este no es el link, que me pasaron es otro, que no sé cual es, es el que seguí yo)... Ahora preparate cabrón que he estado entrenando al 'Black Empire' ;-Ð

Aquí podemos comprar el juego, para el que no lo tenga :-Ð

Ayer me puse manos a la obra y los pasos son los siguientes...

1) Copiar todas el contenido de los CD's a una carpeta...

$ su -
$ mount -o loop /media/Almacen/Juegos/PC/aoe3/aoe_cd1.iso /media/isos
$ cp -rv /medios/isos/* /home/user/ao3
$ umount /media/isos ; mount -o loop /media/Almacen/Juegos/PC/aoe3/aoe_cd2.iso /media/isos
$ cp -rv /medios/isos/* /home/user/ao3
$ umount /media/isos ; mount -o loop /media/Almacen/Juegos/PC/aoe3/aoe_cd2.iso /media/isos
$ cp -rv /medios/isos/* /home/user/ao3
$ umount /media/isos
$ chown -R user:user 
$ exit
$ exit 

Ok, ahora que tenemos todos los CD's solo tenemos que copiar TODAS las dll's del CD1 a ~/.wine/drive_c/windows/system32/


$ mount -o loop /media/Almacen/Juegos/PC/aoe3/aoe_cd1.iso /media/isos
$ su 
$ cp -rv  /media/isos/*.dll ~/.wine/drive_c/windows/system32/
$ cp -rv /media/isos/Age\ of\ Empires\ III/*.dll ~/.wine/drive_c/windows/system32/
$ chown -R user:user ~/.wine/drive_c/windows/system32/
$ exit
$ exit

Ahora bajamos un par de dll's que nos hacen falta e instalamos con el usuario que bamos a jugar, de aquí bajamos  MFC42.DLL y D3DX9_25.DLL 

$ cd ~/ao3 ; wine instalar.exe 

Después de un rato cuando termine de instalar se nos va quedar colgado el IDriver.exe lo matamos con 'kill -9 supid'

Es hora de probar el juego... Hacemos click en el acceso directo que se nos creo en el Desktop, !!OH¡¡ Falla diciendo que no tenemos el MSXML 4.0 bueno hombre, tranquilo...

$ wget http://www.kegel.com/wine/winetricks
$ sh winetricks msxml4

Ok, ya está... Ahora a viciar!!!

Ave Negrooo!!!!

Espero que les ayude señores ;-Ð

PS: Tienen que usar Wine 1.1.38, después de leerme varios hilos de bugs, fue el que vi que funcionaba, es la versión estable en Gentoo :-Ð






Actualización Monday 03 May 2010 18:42:41....

Después de estar ayer bastante rato por la noche haciendo pruebas con ais, de conexión y tratando de actualizar el juego a la versión 1.13, lo dimos por imposible, pero él consiguió a PlayOnLinux y con esto, si hemos podido actualizar y jugar por inet...

Los pasos son muy parecidos, simplemente instalamos playonlinux...

$ emerge -av playonlinux

Una vez instalado añadimos, nuestro usuario al grupo games y cerramos la sesión y volvemos a conectar

$ adduser user games

Una vez echo esto, ejecutamos

$ playonlinux 

Ahora solo nos queda seguir los pasos y disfrutar del vicio ;-Ð

miércoles, abril 21, 2010

Ellos premian tu constancia :-Ð

Bueno según veo están sorteando un N1 los amigos de elandroidlibre, y la verdad es que bien sea por la camiseta o por el llavero que están regalando se lo currando mucho, pq están muy guapos los dos :-Ð

 Eso sí que es premiar la fidelidad un N1 y lo demás son tonterías, señores un gran aplauso para ustedes Sí Sí :-Ð

Quien era participar tiene aquí las instrucciones para participar, pero bueno si lo leen diario seguro que esto está demás :-Ð

viernes, marzo 12, 2010

Instalar sdk y driver en Gentoo de Android

Desde hace unos días tengo mi Kaiser corriendo su Android Nativo y solo puedo hablar maravillas, sobre todo el la autonomía de la batería y la evidente mayor fluidez con la que funciona, pero hoy hablando con unos amigos de como pasaban paquetes al teléfono me dijeron que desde el SDK y bueno, después de ver un poco como iba les explico como hacerlo funcionar.

Primero tenemos que bajarnos el SDK de aquí, simplemente descomprimimos

$ tar zxvf androidinstall.tgz -C ~/
$ cd ~/android-sdk-linux_86
$ vim ~/.bashrc # añaidmos
export PATH=${PATH}:~/android-sdk-linux/tools

$ sources ~/.bashrc
# Ahora actualizamos el SDK
$ android update sdk # Yo solo instale la API del 2.1 y ejemplos


Ok, ahora que tenemos instalado el SDK solo nos queda decirle a la computadora que hacer cuando conectemos el teléfono a ella...

$ vim /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
$ chmod a+r /etc/udev/rules.d/51-android.rules
\Creo recordar que en Debian era "SYSFS{}="\


Ok, listo ahora para comprobar que nos funciona ejecutamos... 'adb devices' y nos debería salir algo como esto:

$ adb devices
List of devices attached
???????????? device


Listo, tenemos acceso a nuestro terminal de forma cómoda y rápida :)

# cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 4 (v6l)
BogoMIPS : 383.38
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 6TEJ
CPU variant : 0x0
CPU part : 0xb36
CPU revision : 4
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 32768
I assoc : 4
I line length : 32
I sets : 256
D size : 32768
D assoc : 4
D line length : 32
D sets : 256

Hardware : HTC Kaiser
Revision : 0000
Serial : 0000000000000000

# uname -a
Linux localhost 2.6.25-00976-g11b8ce9 #71 PREEMPT Sat Feb 20 15:04:00 EST 2010 armv6l GNU/Linux

martes, marzo 09, 2010

Flashear Kaiser mediante NAND e instalar Android Eclair 2.1

Buenas noches!!!

Hola amigos, después de muchos meses usando Android desde la SD ayer me decidí a instalarlo en el teléfono mediante el método NAND y con la ROM de polymod 2.1 Gamma la cual es la mejor que he probado hasta la fecha, en la SD iba como un tiro y en 5 días solo me dio un "FC" así que después de mucho leer, pensármelo, darle vueltas me decidí hacerlo.

En xda hay mucha información, muy variada y puede llegar hacer hasta confusa, yo me decante por la siguiente forma y siguiendo estos paso.

  1. Tener cargado el teléfono.
  2. Tener instalado el Hard SPL en el teléfono.
  3. El autor recomienda la radio (1.65.24.36)yo uso la 1.71.09.1 y encantado con ella.
  4. Una SD de 1GB formateada en FAT32
  5. Descargar el polymod de aquí, que prefieran (yo uso la Light)
  6. Descargar el NBH kaiserclair adecuado de aquí. (yo uso el panel2-320)
  7. Renombrar el NBH bajado a KAISimg.nbh y copiarlo a la raíz de la sdcard.
  8. Una vez tengamos en la /sdcard/ la carpeta andboot y el archivo antes mencionado. Presionamos el botón de la cámara y el on/off a la vez para reiniciar el teléfono y actualizarlo (cuando nos pregunte si queremos reiniciar con stylus, le decimos que sí) y nos debería salir una una pantalla blanca con una barra que se cargará hasta el 100% y una vez cargado completo, esperamos 20 segundos y quitamos la batería. Ahora se reiniciará el teléfono y nos arrancará un kernel dejamos presionado el D-PAD (el botón del medio) hasta que nos aparezca el Menú de Instalación, en el que seleccionaremos con un (*) Sys on Nand y (*) Data on Nand. Esto le llevará un tiempo y cuando termine de formatear/instalar regresará al Menu de Instalación, le damos a Quit y empezará arrancar nuestro nuevo sistema.
  9. Después de un rato, nos saldrá la pantalla de configuración de Android aquí en este paso el auto recomienda saltar TODAS las configuraciones y dejar el teléfono 10 minutos.. Una vez transcurridos los 10 minutos, quitas la batería y vuelves arrancar el teléfono y ya puedes empezar a disfrutar de tu nuevo y nativo sistema.

Bueno señores yo desde luego que estoy muy contento con el rendimiento que he visto en el teléfono en estos días que use esa ROM en la SD y por ello me decidí a instalarla y ahora el poco tiempo que la he usado de forma Nativa he notado una buena mejoría. Espero que esta pequeña guía (que no es mas que una burda traducción) les ayude y anime a flashear sus Kaiser...

Como bien dicen todos los autores, esto es MUUY BETA, cada quien lo hace bajo su responsabilidad!!! :-Ð

Dejo los enlaces de los post que leí...

[android] NAND flashale android !!USER!! Questions UPDATED MANY HOW TO'S
Anyone afraid of NAND flashing is a wuss. Check this out, its so easy..

Sí no fuera por estos chicos de xda ya hubiera tirado la Kaiser y su Windows Mobile por la ventana, gracias majos!!! :)