Desarrollo De Software y Herramientas De Iinteligencia Artificial, Capaces De Aprender, Reconocer y Reaccionar Ante Patrones De Comportamiento

1 comment
Las personas se ven cada vez más rodeadas de tecnologías, las cuales muchas veces no se integran de forma armoniosa con el entorno y no son lo suficientemente simples de emplear. Es así que los entornos automatizados en hogares, oficinas y edificaciones en general son cada vez más comunes. Estos sistemas se enfocan principalmente en problemáticas relacionadas con el confort, seguridad y ahorro energético, en donde se requiere de configuraciones y ajustes que no son simples de realizar para los habitantes de estos entornos.


Esta investigación, se enfoca en mejorar las relaciones humano-máquina en este tipo de entornos, mediante el empleo del concepto de computación omnipresente, registrando los patrones de comportamiento del usuario para luego emplearlos en un sistema consciente del contexto, capaz de reaccionar de forma automática y permitiendo la autoconfiguración de un sistema automatizado en un entorno de oficina.


El sistema se adapta a los hábitos de los habitantes y requisitos energéticos, permitiendo por un lado liberar al usuario de la configuración y ajustes necesarios en este tipo de sistemas y además, velar por un correcto uso de la energía. En el presente trabajo se detalla el mecanismo automatizado por el cual se determina el estado de la iluminación,temperatura, humedad y otros valores de entorno y se actúa sobre ellos, tomando en cuenta los hábitos diarios del usuario y las condiciones reales del entorno.

Se utilizan técnicas de inteligencia artificial (IA) mediante el empleo de Redes de Neuronas Artificiales (RNA), como clasificador del estado de las luces, calefacción y ventilación. El trabajo expuesto, utiliza datos desde un ambiente real de oficina con usuarios utilizándola de forma normal. Los resultados obtenidos durante la investigación demuestran que la técnica de RNA es capaz de clasificar sobre un 90% de los patrones del usuario.
ann.pdf

IA para el reconocimiento de comportamiento en entornos cerrados.

0 comment

Los ojos hacen algo mas que ver.

0 comment
Después de cientos de miles de millones de años pensó en él, de pronto, como Ames. No en la combinación de longitud de onda que, que a través del universo, era ahora el equivalente de Ames, sino en el sonido en sí. Le volvía un leve recuerdo de ondas sonoras que ya no oía y ya no podía oír.
El nuevo proyecto aguzaba su recuerdo de tantas y tantas cosas de eones y eones de antigüedad. Redujo el vórtex de energía que sumaba el total de su individualidad y sus líneas de energía se tendieron hasta más allá de las estrellas.
Le llegó la señal de respuesta a Brock.
Por supuesto que se lo diría a Brock. Seguro que podía decírselo a alguien.
El plano de energía cambiante de Brock comunicó.
-¿Es que no vienes, Ames?
-Claro que sí.
-¿Tomarás parte en la competición?
-Sí –las líneas de energía de Ames latieron irregularmente-. Seguro que sí. Ya he pensado en una nueva forma de arte. Algo realmente inusitado.
Por un momento, Brock cambió de fase y perdió la comunicación, así que Ames tuvo que apresurarse a ajustar sus líneas energéticas. Al hacerlo captó el paso de otros pensamientos, la vista de la empolvada Galaxia resaltando del terciopelo de la nada, y las líneas de energía latiendo en incesantes multitudes de energía-vida, tendidas entre las galaxias.
-Por favor- dijo Ames-, absorbe mis pensamientos, Brock. No cierres. He pensado en manipular materia. ¡Imagínatelo! Una sinfonía de materia. ¿Por qué molestarse con energía? . Claro que en energía no hay nada nuevo, ¿Cómo puede haberlo? ¿No te demuestra eso que debemos trabajar con la materia?
-¡Materia!
Ames interpretó las vibraciones energéticas de Brock como una expresión de asco. Preguntó:
-¿Por qué no? También nosotros fuimos materia hace …, hace …, por lo menos mil billones de años. ¿Por qué no fabricar objetos de materia, de formas abstractas?, oye, Brock ¿Por qué no hacer una imitación de nosotros mismos en materia tal como fuimos?
-No recuerdo cómo era eso –dijo Brock-. Nadie lo recuerda.
- Yo sí – contestó Ames energéticamente-. No he estado pensando en otra cosa y estoy empezando a recordar, Brock, deja que te lo enseñe. Dime si tengo razón. Dímelo.
-No. Es una tontería. Es… Repulsivo.
-Déjame intentarlo, Brock. Hemos sido amigos, hemos pulsado energía juntos desde el principio…, desde el momento en que nos volvimos lo que somos. Brock, ¡por favor!.
-Entonces, que sea rápido.
Ames no había experimentado hasta entonces el estremecimiento de sus propias líneas de energía en …, ¿ en cuánto tiempo sería? Si lo intentaba ahora para Brock y funcionaba, podría atreverse a manipular materia ante los seres-energéticos reunidos que habían estado esperando tan angustiosamente a lo largo de eones a que surgiera algo nuevo.
La materia esa escasa allí entre las galaxias, pero Amen la recogió, reuniéndola a lo largo de los años luz cúbicos, eligiendo los átomos, consiguiendo una consistencia arcillosa y obligando a la materia a una forma ovoide que se ensanchaba por abajo.
-¿No lo recuerdas, Brock?- preguntó a media voz- ¿No era algo parecido a esto?
El vórtex de Brock tembló en fase:
-No me hagas recordar. No me acuerdo.
-Eso era la cabeza. Lo llamaban cabeza. Lo recuerdo con tal claridad que necesitaba decirlo. Me refiero al sonido…
-esperó, luego preguntó-, Mira, ¿Recuerdas eso?
En la parte frontal del ovoide apareció CABEZA.
-¿Y eso qué es? – preguntó Brock.
-Es la palabra en sonido. Dime que lo recuerdas. Brock.
-Es la palabra para cabeza. Los símbolos que indicaban la palabra en sonido. Dime que lo recuerdas, Brock.
-Había algo- titubeó Brock-, algo en el medio.
Apareció un bulto vertical. Ames exclamó:
-¡Sí! Nariz, ¡eso es! – y encima apareció NARIZ-, Y estos son los ojos a cada lado- OJO IZQUERDO, OJO DERECHO.
Ames contempló lo que había formado, mientras las líneas de energía pulsaban despacio. ¿Estaba seguro de que parecía eso?
-Boca – exclamó con pequeños estremecimientos – y barbilla y nuez, y las clavículas. ¡Cómo me van volviendo las palabras! –y aparecieron en la forma.
Brock comentó:
-Hace cientos de miles de millones de años que no había pensado en ellas. ¿Por qué me las recuerdas? ¿Por qué?
Ames estaba momentáneamente perdido en sus pensamientos.
-Y algo más. Órganos para oír; algo para captar las ondas sonoras. ¡Orejas! ¿A dónde van? No recuerdo bien dónde ponerlas …
Brock gritó de súbito:
-¡Déjalo ya! Las orejas y lo demás. ¡No lo recuerdes!
-¡Qué hay de malo en recordar? – murmuró Ames indeciso.
-Porque el exterior no era duro y frio como ahora, sino suave y tibio. Porque los ojos eran tiernos y vivos y los labios de la boca vibraban y eran dulces sobre los mios.
Las líneas energéticas de Brock latían y vacilaban, latían y vacilaban. Ames exclamó:
-¡Perdón! ¡Perdón!
-Me estás recordando que en tiempos fui mujer y conocía el amor, que los ojos hacen más que ver y que ya no tengo ninguno que lo haga por mí.
Violentamente, añadió materia a la burda cabeza y dijo:
-¡Deja, pues, que lo hagan ellos!- y dio media vuelta y huyó-
Y Ames vio también y recordó que en tiempos había sido un hombre. La fuerza de su vórtex partió la cabeza por la mitad, y escapó por las galaxias siguiendo la huella energética de Brock… de regreso al infinito destino de la vida.

Y los ojos de la destrozada cabeza de materia seguían brillando con la humedad que Brock había puesto allí para representar las lágrimas. La cabeza de materia hizo aquello que los seres-energéticos ya no podían hacer. Y lloró por toda la humanidad y por la frágil belleza de los cuerpos de los que en tiempos se habían desprendido, hacia millones de años.

.- Sueños de Robot -...- Isaac Asimov-.

pidgin-twitter-utils

0 comment

Hasta hace unos dias me dedique a buscar un plugin para mi cliente de mensajería de texto, con el cual pueda acortar urls, Después de varios intentos fallidos y poco satisfactorios me decidí a aprender a usar la API del mismo asi, buscando codigos por la web copiando pegando adaptando, compilando y probando llegue a teminar algo similar, pero este solo es capas de subir una imagen al servicio de twitpic. Lo cual me da la idea de integras otras utilidades al plugin. 

El código esta disponible en github.com compilable solo para GNU/Linux (por ahora), no comprueba dependencias pero actualmente usa libcurl, ademas por estar en un estado de pre-Alpha user y pass deben ser seteado dentro del codigo. (cambiar esto es mi próxima tarea)


Un ejemplo .

 




Tema de tesis Pre Aprobado

0 comment
Bien la primera etapa pasada.






Ahora el anteproyecto

Me cai de culo

2 comment

Después de terminar de ordenan los metadatos de mis mp3's. Me doy cuenta que: buscando en propiedades mi reproductor de audio me permite buscar la letra de las canciones. 

Aun investigando como funciona. Pero hasta el momento un 100% de acierto. 

Un ejemplo:


Repisa en 6 pasos.

3 comment

Materiales:

5 computadores horizontales, idénticos.

5 rieles de cajones

4 perfiles de 1m.

1 puñado de pernitos con tuerca. 


Paso 1. 

Montar los rieles a los perfiles con un espaciado un tanto mayor al alto de los gabinetes. 

Paso 2. 

Montar los rieles a los gabinetes, previamente desmantelados. 

(las ruedas de los rieles deben quedar para la parte posterior del "cajon")



Paso 3. 

Repetir paso 2, 4 veces.


Paso 4.

Montar los perfiles en una base. En este caso una torre del un pc Malo

Paso 5

Tapar la parte superior para incluir rigidez en la estructura.


Paso 6.

Montar los cajones.

TODO: 

Poner todo lo que esta detrás de la cajonera dentro de los cajones. 


Huawei en Debian entel

0 comment

debido a que mi ISP es como las pelotas me cambie de casa aun no tengo ADSL en la nueva. 

pero si un Huawei de entel pcs con conexión 3G. 

para realizar la conexión y levantar la interfaz ppp0 

use wvdial, 

la simple instalación 

 # apt-get install wvdial

su archivo de configuración 


y para conectar   

# wvdial vodafone internet

TODO: Ejecutar el programa como demonio cada vez que se conecte el adaptador a la maquina 

FUENTE: Hacer funcionar la banda ancha movil E160 de movistar




Me pare y lo hice

0 comment


  • http://twitpic.com/xabwg


  • http://twitpic.com/xac41



  •  Nada mas que decir

    Integracion de codesnifer vim.

    0 comment
    Codesniffer es una herramienta para chequear codigo PHP segun el standar de codificacion. Interprentando dentro de vim se pueden obterner la lista de errores en una ventana separada dentro del mismo editor. La ventana de error permite saltar por cada error el codigo, icluso si cambian las numeraciones de las lineas. 

    Se ve algo asi 

    Para activarlo es necesario tener la herramienta phpcs.

    luego agregar el siguiente codigo en  $VIMHOME/plugin/phpcs.vim:


    function! RunPhpcs()
    let l:filename=@%
      let l:phpcs_output=system('phpcs --report=csv '.l:filename)
    " echo l:phpcs_output
    let l:phpcs_list=split(l:phpcs_output, "\n")
    unlet l:phpcs_list[0]
    cexpr l:phpcs_list
    cwindow
    endfunction

    set errorformat+=\"%f\"\\,%l\\,%c\\,%t%*[a-zA-Z]\\,\"%m\"
    command! Phpcs execute RunPhpcs()

    Ahora se puede correr el Codesniff  para el archivo que se esta editando con el comando 

    :Phpcs


    fuente 

    Wake on Lan. Despierta por la red

    2 comment
    Tratando de hacer cualquier cosa para evitar leer nuevamente los capítulos de CCNA.

    Encontré una tarjeta de red que si soporta WOL. y por supuesto el cable necesario 


    y despues de leer este blog me tome un poco de tiempo para probarlo. 

    lo que sigue es un Ctrl + c, Ctrl + v y  edit del link anterior. 

    - Primero: hay que configurar la BIOS. para que permita que dispositivos PCI despierten al ordenador. Es requerido activar el Power On by PCI Devices o el Power On by PCI Cards.

    - Segundo: Configurar La NIC del SO. (la tarjeta de red) 

    En GNU/Linux la herramienta más indicada es el ethtool. Este comando nos permite mostrar o cambiar parámetros de la mayoría de los drivers de las tarjetas 


    Lo mejor para asegurarnos de que el PC sólo se despertará cuando nosotros queramos , es elegir que despierte con un MagicPacket. Si la MAC fuera 01:02:03:04:05:06, el paquete mágico contendría en el campo de datos:

    FFFFFFFFFFFF010203040506010203040506010203040506010203040506
    010203040506010203040506010203040506010203040506010203040506
    010203040506010203040506010203040506010203040506010203040506
    010203040506010203040506

    Por tanto, activamos el WoL para MagicPacket:

    # ethtool -s eth3 wol g


    En envío del paquete mágico


    Finalmente, tras dejar el PC correctamente apagado, para despertarlo desde otro PC necesitaremos alguna utilidad que mande el paquete mágico.

    En Linux tenemos dos utilidades ya empaquetadas a tiro de apt-get, el wakeonlan y el etherwake:

    En lo personal me quede con etherwake, porque es un programilla chico que hace la pega el código esta por acá 

    Si ejecutamos por ejemplo

    # etherwake 00:22:33:22:44:33

    donde 00:22:33:22:44:33 es la dirección MAC de la tarjeta del pc configurado anteriormente, (el que esta apagado)


    Para finalizar

    Resumen de los que necesitamos para que el WoL funcione:
    - Que el hardware lo permita
    - Configurar la BIOS
    - Configurar el interfaz de red para que acepte las peticiones de WoL
    - Dejar el PC correctamete apagado
    - Enviar la petición desde otro sistema

     Enjoy

    How to install Fedora DomU on Xen server

    0 comment
    To install a fedora guest U need change the install-method and the dist params of xen-create-image tool.


    xen-create-image --hostname=fedora --ip=10.0.0.5 --size=200GB --force --install-method=rinse --dist=fedora-core-8

    I'm actually looking for a recent version, but this it's working.

    Automatic VGA output mode

    0 comment
    Me acabo de comprar una pantalla LCD de 1600x900. El problema esta cuando llego con mi laptop sin pantalla y lo conecto a otro monitor con otra resolución.
    la solucion un xrandr como en el post anterior, pero en un script que se ejecuta luego de iniciar la sesión gráfica de usuario.


    default_mode=1600x900

    hight_mode=$(xrandr | awk '{print $1}'| grep VGA -C 1 | grep x)
    if [ $hight_mode = $default_mode ]
         then
             echo "Greetings. System started" | festival --tts
         else
             echo "Setting VGA mode" | festival --tts
    xrandr --output VGA --mode $hight_mode
    fi



    lo que hace esto es tomar la mayor resolución disponible de la linea VGA  preguntar si es igual a la por defecto que es en mi casa.  si es la misma hacer nada.
    si son distintas setiar la meyor disponible.

    festival lo uso para que el pc me diga lo que ocurre ya que si falla no tendre pantalla para ver.

    Read LPT from python

    1 comment

    Continio jugando con el LPT, esta vez la idea es lograr una lectura usando python. 

    Por razones que varios conoces esto no se puede hacer directamente desde el lenguaje, 

    desconozco si existe algún método distinto para hacerlo, pero creo que no.

    La idea es crear un wrapper a algunas funciones de la libreria sys/io.h 

    específicamente las funciones ioperm, inb y outb. 

    para ello se crea un archivo pylpt.i (he nombrado al modulo)


    %module pylpt
    %{
    #include <stdio.h>
    #include <sys/io.h>
    #include <stdlib.h>
    %}

    int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on);
    unsigned char inb (unsigned short int port);
    void outb (unsigned char value, unsigned short int port);


    Seguido de un Makefile para poder compilar los módulos usando swig 




    all: _pylpt.so

    _pylpt.so: pylpt_wrap.o
          gcc -o _pylpt.so -shared pylpt_wrap.o 

    pylpt_wrap.o: pylpt_wrap.c
          gcc -fpic -c pylpt_wrap.c -I/usr/include/python2.5/ -I/usr/local/include

    pylpt_wrap.c: pylpt.i
          swig -python pylpt.i

    clean:
          rm _pylpt.so pylpt_wrap.o pylpt_wrap.c pylpt.py




    Y finalmente un programita en python que prueba las funciones, 

    solo tengo probada la lectura del puerto. Que es lo que necesito por el momento.



    import pylpt

    BASE = 0x378
    STATUS = BASE+1

    def main():
        print 'Entring Program'
        print pylpt.ioperm(BASE,3,1)
        while True:
           print pylpt.inb(STATUS)  
        print BASE
        print 'Exiting Program'
        return


    if __name__ == '__main__':
        main()

    Dos monitores (dual-head) con xrandr

    0 comment

    Seguramente muchos han tenido algun tipo de problema cuando conectan su portatil a un data. 

    indagando llegue a esta solucion. usar la aplicacion xrandr. 

    esta permite encender, apagar la salida VGA, como tambien modificar modos y resoluciones. 

    en resumen 

    para activar la salida vga 

    $ xrandr --output VGA --mode 1280x800

    para apagarla

    $ xrandr --output VGA --off

    Ahora como en muchos casos los datas soportan solo hasta la resolucion de 1024x768, tambien podemos 

    activarlo usando distintas resoluciones para la linea LVDS y VGA.

    $ xrandr --output LVDS --mode 1280x800 --output VGA --mode 1024x768

    como la ultima opcion es la que uso muchas veces, creo un lanzador en el menu. 

    que se ve asi 



    existe mas informacion de como hacer escritorio extendido en este link 

    esto no requiere de reiniciar las X cada vez que conectamos un data en la maquina

    ASCII en Linux

    0 comment

    Si alguien tenia la costumbre de poner caracteres en pantalla usando la techa alt+[valor]

    e.g: Alt+64 = @

    en linux es tan solo Ctrl+Shift+u [valor] claro que este va en hexadecimal 

    Ctrl+Shift+u 40 = @

    Notable, sacado de los recuerdos

    0 comment

    Tabla de contenidos en columnas.

    0 comment

    Hoy me me tope con un incoveniente al momento de ver el resulatado de mi presentacion. 

    Resulta que por un numero considerable de secciones la tabla de contenidos se ve desordenada

    la idea es ordenarla en columnas. 

    para ello googleando llego a estas instrucciones en el frame de contenido


    \begin{frame}
    \frametitle{Agenda}

    \begin{columns}
    \begin{column}{0.5\textwidth}
    \tableofcontents[sections={1-4}]
    \end{column}
    \begin{column}{0.5\textwidth}
    \tableofcontents[sections={5-8}]
    \end{column}
    \end{columns}

    \end{frame}

    Con ello el resultado es el siguiente

    Ordeno las primeras 4 secciones en la primera columna y las siguientes en la segunda. 

    TexMaker.

    0 comment

    Bueno la idea es mostrar lo simple de crear documentos y presentaciones multiplataformas. 

    y con un estilo que deja huellas.







    Deteccion de descontinuidad usando LPT

    2 comment
    Buenas,

    Con un poco de tiempo extra, hice lo siguiente, 

    Usando el puerto paralelo para como lectura implemente un programilla, que esta monitoreando este puerto y cuando ocurre algo ejecuta un script en particular.

    su utilizacion : despues de encontrar unos sensores magneticos dejados por una compañia de seguridad en la casa quise hacer lo mismo. 

    detallo, materiales.

    - adaptador db25

    - mucho cable

    - sensor magnetico (opcional)

    - placa de circuitos (opcional)

    Desde el puerto LPT se puede leer la sona de status, solo 5 pines. como la foto

    los pines a usar son el 10, 11, 12, 13 y 15 por eso cableo de la siguente manera

    y en la placa.

    El sensor magnetico funciona simplemente como un switch

    mantiene el flujo electrico cuando las dos parte estan juntas y lo corta cuando se separan.

    Finalmente queda de esta forma, ya que solo estoy usando una sola entrada, las restantes las dejo conectadas con un jumper cada una.

    El programa actualmente lo tengo alojado en pylpt.7z

    Su isntalacion es simple, solo 

    $ make

    # make install

    lo cual copia los archivos de configuracion al directorio /etc/sec 

    primero al ejecutar el programa queda corriendo como demonio (codigo reutilizado de pcbotBase.h)

    en el archivo de configuracion /etc/sec/sec.conf se indican las ubicaciones de los archivos a usar y los script a ejecutar dependiendo del switch que se desconecte. 

    por defecto cada script agrega que switch se desconecta y la fecha a un archivo log. 

    en mi caso tengo el primer switch conectado a la puerta principal de la casa.

    y dentro del script sw1.sh tengo las rutinas para que se despache un email, a mi direccion, cuando esto ocurre.

    Espero que sea util.

     

    Ppalma Copyright © 2008 D'Black by Ipiet's Blogger Template