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 :-Ð

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 :-Ð