lunes, 25 de julio de 2011

Bueno pues como pueden leer en el titulo de mi blog, no solo escribiré de seguridad informática, también de Animación 3D, por eso aquí les dejo recién salida del Horno la primera entrega de Ninja Vs Ninja. que la disfruten.

sábado, 23 de julio de 2011

ejecutar programas con la voz (comandos de voz)

bueno,ya esta el tutorial par hacer que la pc nos hable, ahora vengo con la contra parte, resulta que navegando por ahí me encontré con un programa para windows que se llama esclavo. y pensé, debe existir algo similar para linux, y efectivamente me encontré con una combinación de 3 programas que logran el mismo resultado. ¡comandos de voz para ejecutar programas!
bien empecemos:

Sofware requerido:
festival
Sphinx2

perlbox-voice



podemos descargar el sources de Sphinx2 de la siguiente manera:

abrimos una consola y ejecutamos el siguiente comando 

svn co https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/sphinx2 

esto nos descargara el programa en una carpeta llamada sphinx2, entonces pasamos a esa carpeta con el comando

cd sphinx2 

una vez dentro ejecutamos los siguientes comandos:

./autogen.sh
make
su
(contraseña de root)
make install 

bien ya tenemos instalado sphinx2, ahora vamos a instalar perlbox-voice.
lo descargamos desde aqui-----------> http://sourceforge.net/project/downloading.php?group_id=44421&filename=perlbox-voice-0.09-0.noarch.rpm&a=6503560

es un rpm pero podemos cambiarlo de formato con alien.
bien ahora solo nos falta crear unos enlaces simbólicos a algunos archivos que necesitamos, para esto, en una consola nos convertimos en root y escribimos los comandos:

ln -s /usr/local/bin/sphinx2_continuous /usr/bin/sphinx2-continuous
ln -s /usr/local/lib/libsphinx2.so.0 /usr/lib/libsphinx2.so.0
ln -s /usr/local/lib/libsphinx2fe.so.0 /usr/lib/libsphinx2fe.so.0
ln -s /usr/local/lib/libsphinx2ad.so.0 /usr/lib/libsphinx2ad.so.0
ln -s /usr/local/share/sphinx2 /usr/share/sphinx2 

OJO: en el primer comando podemos ver que el archivo fuente se llama "sphinx2_continuous", y el enlace se llama "sphinx2-continuous" (cambiamos el guion bajo por guion normal) esto es así por que el programa perlbox-voice lo requiere así.
y listo ahora ejecutamos el comando (como usuario normal)

perlbox-voice 

 y se abrirá una ventana como esta:



en el botón control podemos encontrar un recuadro donde podemos escribir algo para que la pc lo diga presionando el botón "speack this text" y abajo encontramos los botones para iniciar la escucha en espera de comandos de voz y también para detenerlo.

en el botón de vocab encontramos los comandos de voz, estos podemos modificarlos a nuestro gusto agregar o quitar comandos etc. lo único malo es que las palabras están en ingles por lo cual tenemos que pronunciarlas en este idioma (espero que su ingles sea bueno, por que el mio no tanto jeje).

y por ultimo tenemos los botones config, para la configuración del programa y help para la ayuda.

jueves, 21 de julio de 2011

hacer que la computadora nos hable ai iniciar sesion

bueno, pues vamos a ver como hacer que la pc nos hable al iniciar sesión. primero checamos que este instalado el paquete "festival" ( creo que ya viene incluido en la mayoría de las distros) y también podemos bajar las voces en español de hombre y mujer desde aquí:

http://forja.guadalinex.org/repositorio/frs/?group_id=21&release_id=175

vienen en formato .deb pero podemos cambiarlas a rpm o tar.gz con el programa alien ( dependiendo de tu distro )
para esto, en una consola nos ubicamos en donde descargamos el paquete .deb y escribimos
de preferencia como root.

alien --to-rpm nombre_del_archivo.deb 
bien ya tenemos los paquetes instalados, ahora vamos a configurar festival para que nos hable en español y esta sea la opción por default.
buscamos el archivo

/usr/share/festival/voices.scm

y lo abrimos con un editor de texto (se necesita ser root para modificarlo)
y vamos a buscar la siguiente parte

"voice_default
A variable whose value is a function name that is called on start up to
the default voice. [see Site initialization]")

(defvar default-voice-priority-list
  `(kal_diphone
    cmu_us_bdl_arctic_hts
    cmu_us_jmk_arctic_hts
    cmu_us_slt_arctic_hts
    cmu_us_awb_arctic_hts

 y lo vamos a modificar de la siguiente manera:

"voice_default
A variable whose value is a function name that is called on start up to
the default voice. [see Site initialization]")

(defvar default-voice-priority-list
  `(JuntaDeAndalucia_es_pa_diphone
    cmu_us_bdl_arctic_hts
    cmu_us_jmk_arctic_hts
    cmu_us_slt_arctic_hts
    cmu_us_awb_arctic_hts

cambiamos  "kal_diphone" por "JuntaDeAndalucia_es_pa_diphone"
en mi caso es la voz en español de mujer, podemos ver las voces que tenemos instaladas en la carpeta

/usr/share/festival/voices

entramos en la carpeta de la voz que nos interese  (en mi caso, spanish) y ponemos en el archivo el nombre de la carpeta que queremos sea la voz default (JuntaDeAndalucia_es_pa_diphone)

guardamos los cambios y cerramos.

bien ahora vamos a crear dos archivos en nuestra carpeta de usuario ( /home/tu_usuario)


al primero lo vamos a nombrar .festivalrc ( recomiendo ponerle el punto después de modificar el archivo ya que al poner el punto se convierte en archivo oculto )
y dentro de este archivo ponemos lo siguiente:


(Parameter.set `Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
(Parameter.set `Audio_Method `Audio_Command)

ahora creamos el segundo archivo, a este le podemos poner como queramos a este le llamaremos inicio (quedaría así  inicio.txt). y dentro ponemos el mensaje escrito de lo que queremos que nos diga la pc.
también podemos ponerle el punto al principio al nombre para que este oculto el archivo.

ahora vamos a crear un tercer archivo, lo nombramos como queramos y le ponemos la extencion .sh ( script ) dentro de este archivo escribimos lo siguiente:

festival --tts inicio.txt

guardamos los cambios y cerramos, ahora tenemos que hacerlo ejecutable ya sea desde consola:


chmod +x script.sh

o en modo gráfico (click derecho/propiedades/permisos y marcar "es ejecutable")

ya casi tenemos todo listo, ahora vamos a configurar kde para que nos lea el archivo. para esto abrimos el panel de control
nos vamos a sonidos y multimedia / notificaciones del sistema.
ahi buscamos " KDE esta arrancando" y presionamos el botón "avanzada.

nos aparecerán varias opciones y debemos marcar la opción "ejecutar un programa" y le ponemos la ruta de nuestro script (el tercer archivo que creamos)
NOTA: podemos dejar marcada la opción "reproducir sonido" si queremos que aparte de hablar, también se escuche el clásico sonido de kde. Guardamos los cambios y listo ahora cada que iniciemos sesión, festival nos leerá el contenido del segundo archivo que creamos (inicio.txt). podemos ir checando el resultado de este archivo con el comando que pusimos en el script:


festival --tts inicio.txt

para no tener que estar iniciando y cerrando sesión para escucharlo.
.

es interesante lo que se puede hacer con festival , navegando por ahi me encontré con una lista de comandos, y se me ocurrió hacer un script para que nos diga la fecha al iniciar sesión.


#!/bin/bash

echo bienvenido | festival --tts #bienvenido
whoami | festival --tts          #ususario
echo hoy es | festival --tts     #hoy es
date `+%A` | festival --tts      #dia de la semana
date `+%e` | festival --tts      #numero de dia
echo del mes de | festival --tts #del mes de
date `+%B` |festival --tts       #nombre del mes
echo del | festival --tts        #del
date `+%Y` | festival --tts      #numero de año

este archivo se guarda con extencion .sh, se le dan permisos de ejecucion y lo ponemos como programa a ejecutar en el centro de control.
como se puede ver es muy facil crear estos archivos para festival, pues solo nesestitamos poner  "| festival --tts" (sin comillas logicamente) despues del comando que queremos que diga y si queremos que diga algo que escibimos nosotros lo hacemos con el comando "echo" .
les dejo aqui algunos comandos de  la lista por si alguien quiere hacer su propio script.
la lista completa esta aqui:

http://elneri.net/?p=331

Para saber la versión del kernel:
$ uname –r

Para saber qué procesador tiene la pc:
$cat /proc/cpuinfo | grep “model name”

Para saber cuál es la frecuencia del procesador:
$ cat /proc/cpuinfo | grep “cpu MHz”

Para saber cuál es el nombre de la maquina
$ hostname

Para saber cuál es tu nombre de usuario:
$ whoami

Para saber a qué grupos del sistema perteneces:
$ groups

Para saber qué hora y día es:
$ date

Como Quitar La Molesta Ventanita De Comprar WinRar

como lo dice el titulo vamos a quitar la maldita ventanita que nos aparece al abrir winrar.

osea esta:






para esto necesitamos el programa reshacker o resource hacker como lo quieran llamar.


DESCARGAR




una ves estemos en reshacker procedemos a abrir el archivo winrar.exe






una vez abierto, en el arbol buscamos

dialogs/ reminder y le damos click derecho,y en el menú seleccionamos delete resourse








y listo ahora ya no nos aparecerá la molesta ventanita al iniciar winrar   =)

Kismet + Google earth + GPSDrive

bueno pues voy a tratar de explicar como utilizar kismet , en conjunto con gpsdrive para localizar redes inalambricas mediante el un dispositivo GPS. y poder observarlas en google earth

para esto necesitaremos instalar:
google earth (aceleracion 3d nesesaria)
kismet (ya incluido)
gpsdrive
mysql (ya incluido)
gpsd (ya Incluido)
xgps

NOTA: no voy a explicar como instalar, los programas ya que estoy suponiendo que no es necesario.


empezamos a configurar.

 KISMET

buscamos el archivo kismet.conf (podemos usar el comando locate) y lo abrimos con algún editor de texto,buscamos esta sección y la modificamos de la siguiente manera.


# User to setid to (should be your normal user)
suiduser=AQUI-PONEMOS-NUESTRO-USUARIO (root)

# Do we try to put networkmanager to sleep? If you use NM, this is probably
# what you want to do, so that it will leave the interfaces alone while
# Kismet is using them. This requires DBus support!
networkmanagersleep=true

# Sources are defined as:
# source=sourcetype,interface,name[,initialchannel]
# Source types and required drivers are listed in the README under the
# CAPTURE SOURCES section.
# The initial channel is optional, if hopping is not enabled it can be used
# to set the channel the interface listens on.
# YOU MUST CHANGE THIS TO BE THE SOURCE YOU WANT TO USE
source=madwifi_g,wifi0,XXX

ojo esta ultima linea esta configurada para trabajar con una tarjeta atheros y los drivers de madwifi[/b] asi que si tienes una tarjeta diferente tendras que preguntarle a san GOOGLE. deve quedar asi
sourse=driver-de-la-tarjeta,interfaz,¿como-quieres-que-se-llame-tu-red?

también tenemos que modificar la siguiente linea


# Do we have a GPS?
gps=true
y con eso queda configurado kismet.
para iniciarlo tecleamos en una terminal

kismet


y nos aparecerá algo así:





y nos salimos con shift+q

MYSQL

para facilitar las cosas, encontre este script para iniciar mysql

#!/bin/sh
#
#### Backtrack 2 Mysql Startup Script by Dr_Gr33n ####
#
option=6

echo "Welcome do the Dr_Gr33n`s Backtrack 2 Mysql Startup Script"
#
echo "1) Start Small Server"
echo "2) Start Medium Server"
echo "3) Start Huge Server"
echo "4) Check Mysql is running"
echo "5) Stoping Mysql"
echo "0) Exit"
read option
case $option in

1) echo "Starting Small Server"
cp /etc/my-small.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
2) echo "Starting Medium Server"
cp /etc/my-medium.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
3) echo "Starting Large Server"
cp /etc/my-huge.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
4) echo "Checking Mysql is running"
/usr/bin/mysqladmin -u root -p version
cd /root;;
5) echo "Stoping Mysql Server"
/usr/share/mysql/mysql.server stop
cd /root;;
0) echo "*** Bye ***"
;;
*) exit &;;
esac

después de iniciar mysql necesitamos crear una tabla llamada geoinfo y un usuario llamado gast y de contraseña gast, nos conectamos a mysql en una consola, una ves dentro escribimos los comandos:

mysql> CREATE DATABASE geoinfo; (para crear la DB)
mysql>GRANT ALL ON geoinfo.* TO `gast`@`localhost` IDENTIFIED BY `gast`;



una vez creado el usuario y la base de datos, descargamos este archivo

SCRIPTS

al descomprimir el archivo nos van a aparecer 2 archivos

create.sql
resultados.py

en una consola nos ubicamos en el directorio donde estan estos 2 archivos y ejecutamos el script create.sql


mysql geoinfo -p < create.sql

esto creara las tablas que nesesitamos en la base de datos geoinfo.
la opcion -p nos permite ingresar el password con el que nos conectamos a mysql, en caso de no tener pass, podemos omitir la opcion.



GPS y GPSD




ahora es tiempo de conectar el GPS a la computadora , una vez conectado abrimos una consola , para ejecutar gpsd.

NOTA: si el GPS es garmin tenemos que cargar el driver con el comando

modprobe garmin_gps

ejecutamos gpsd

killall gpsd
gpsd /dev/ttyS0 <--------si tu gps es por puerto paralelo
gpsd /dev/ttyUSB0 <--------si tu gps es por USB
xgps

y nos tiene que aparecer una ventana asi:





y ahora probamos con gpsdrive.
desde la consola iniciamos gpsdrive y nos debe aparecer algo así:

bt#gpsdrive
SQL: connected to localhost as gast using geoinfo
Creating main window
y nos debe aparecer una ventana así



si todo salio bien asta aqui, ya estamos listos para empesar a jugar jeje

primero iniciamos kismet y desde consola también iniciamos gpsdrive, en la consola nos aparece esto:
bt # gpsdrive
SQL: connected to localhost as gast using geoinfo
Creating main window

kismet server found



y gpsdrive ahora se debe ver así:





en el lado izquierdo marcamos las opciones las opciones

POI
WLAN
WP

en el mapa aparecen los puntos en donde se encuentran las redes.
ahora es tiempo de pasear, yo me fui con mi laptop a dar la vuelta por mi casa para ver cuantas redes detectaba jejeje.

bien una ves que tenemos las redes ya guardadas en la base de datos, ahora vamos a pasar la información de la base de datos a un archivo kml que son los que ocupa google earth. para esto necesitamos el archivo resultados.py, que descargamos anteriormente y lo vamos a ejecutar de la siguiente manera:

python resultados.py

nos aparecerá en consola las redes con su nombre, longitud, latitud, y macadress. y también nos creara el archivo

ap.kml


bien ahora abrimos google earth y le damos click a la opción archivo/abrir y buscamos el archivo ap.kml.

y listo ahora podemos ver en google earth las redes inalambicas debera verse mas o menos así:











links de descargas


XGPS

GPSDRIVE

GOOGLE EARTH


pues bien solo nos queda caminar mucho y disfrutar.