Entradas

Mostrando las entradas con la etiqueta linux

Wapeando un TeofiWrapper para POSTGRES.

visitas.

Imagen
Una vez más me encuentro sentado frente a mi modesta pero especial máquina Linux para compartirles un post que se relaciona con un tema que ya les había mencionado: el consumo de fuentes de datos remotas y externas al motor de bases de datos POSTGRES . Se debe entender por fuente de datos cualquier recurso informático que contenga datos, esto quiere decir que no solo debemos pensar en SMBD (Sistemas Manejadores de Bases de datos) , sino por el contrario servicios web, archivos de texto plano (CSV, JSON, XMLs), algunas otras no tan inmediatas a nuestra imaginación como interfaces IMAP para la consulta de correo electrónico, o cualquier plataforma que ofrezca una API respetable para interactuar con su información. En esta ocasión el teofilismo que elaboraré hace uso de una extensión de POSTGRES llamada MULTICORN . Tal extensión nos permite utilizar una serie de wrappers escritos en el lenguaje PYTHON capaces de obtener información de múltiples fuentes de datos, todas muy comunes en...

Wapeando con Postgres y el respetado lenguaje C

visitas.

Imagen
Al momento de iniciar la escritura de este post, me encontraba en un debate personal acerca de que compartir en esta ocasión. Teniendo un par de temas respecto a funcionalidades de los motores de base de datos como opciones para el mismo. Termino por aplazar aquel que se relaciona con la posibilidad de consumir WRAPPERS que permitan obtener datos de fuentes de datos remotas a un servidor de bases de datos  POSTGRES  y encapsularlos en relaciones foráneas. Tales relaciones foráneas pueden ser desde tablas que se encuentren en un motor de bases de datos distinto o incluso fuentes no relacionales como un servicio web, interfaces IMAP para correos, APIs web como la de twitter, archivos planos, etc. En esta ocasión les comparto una funcionalidad en ocasiones oculta o desconocida para muchos de los usuarios de POSTGRES , que nos permite codificar y compilar nuestras propias funciones definidas en lenguajes como C o C++ y utilizarlas directamente desde el motor con todas...

My HelloWorld in Go

visitas.

Imagen
En esta ocasión y desde muy temprano voy a compartirles algo de lo que me gusta compartir, nada de esos fashionismos que hoy en día abundan respecto a cosas como hacer el rosado más rosado de un botón, jajaja (puros fashionismos). Hace unos días tuve la oportunidad de tropezarme con una conferencia en video dictada por un man, a diferencia del poco de pelaos que hoy en día dictan conferencias acerca de cosas fashion que hacen la vida mas fácil de aquellos que no se afrontan a los verdaderos problemas computacionales, que tristemente les hacen sentir son la última coca cola y tienen en último yeré en aportes a las ciencias de la actualidad. Incluso el 29 no se considera un hombre de ciencias de la computación formalmente hablando, simplemente se define como un mortal apasionado de lo mismo, pero que se enfoca a las cosas que considera realmente tienen el talento y el nivel de yeré digno de un hombre de ciencias de la computación. Llámenme egocéntrico si se hacen felices; sin embargo, ...

Teofileando con el TeofiKinnect

visitas.

Esta mañana he sacado de mi gaveta el dispositivo Kinnect que tengo y desde mi máquina Linux he dejado un poco la flojera que por estos días no me permite postear y he creado el siguiente video que se encuentra adjunto. Luego de instalar el driver openni y quitar la presencia del modulo  gspca_kinect del kernel de mi máquina, procedí a ejecutar el viewer del framework. Habues Teofilism !!!

TeoFacesDetector

visitas.

Imagen
Después de tanto tiempo sin postear, regreso con algo que puede significar interesante para algunos de los lectores. Otros pueden pensar que el 29 se había quedado sin teofilismo para compartir, lo cual sería un completo tontronismo solo pensarlo. La verdad la falta de tiempo y flojera han sido superiores a mis ganas de compartir. En esta oportunidad quiero hacerles participe el uso que le he dado al wrapper de OPENCV para python que actualmente se dispone. En esta entrada compartiré un corto código en python que les permitirá detectar los rostros contenidos en las imágenes que en tiempo real detecte su cámara web del ordenador. Los rectángulos contenedores de los rostros detectados serán remplazados por una imagen de una carita feliz, como homenaje a la Principessa Popia. En primer lugar debemos instalar el wrapper para python de opencv y sus dependencias, para ello en nuestro amado linux ejecutamos:   ...

Elaboración de una consulta con el lenguaje Cypher.

visitas.

Imagen
El propósito de esta entrada es la de elaborar una consulta a la base de datos orientada a grafos que generé en un post anterior, con el fin de mostrar la herramienta y no la de enseñar. Así pueden apreciar el teofilismo implícito que ofrece el paradigma. Para colocarte en contexto, agrego un screenshot del grafo en mención. El lenguaje CYPHER en general se encuentra estructurado para la realización de consultas con cuatro componentes. Algunos de los cuales pueden ser opcionales o no según la necesidad de la consulta. START : Puntos de entrada al grafo obtenidos por sus IDs o via indices de búsqueda. Estos puntos de entrada pueden ser nodos o relaciones (aristas). MATCH : El patrón a aplicar al grafo para realizar la consulta. WHERE : Criterios de filtrado RETURN : Los elementos del grafo que deseamos obtener como resultado. Ahora que se ha mostrado de  manera muy general sus componentes, procedo a elaborar el query situado en el nodo de "Luis P...

Uso de Neo4j como un sistema de base de datos orientado a grafos

visitas.

Imagen
Esta vez Teofilo quiere dejar algo nuevo en la cancha, para ello su propósito es dar a conocer a muchos que no han tenido la oportunidad de ver este concepto y paradigma que si bien en algún lado lo han escuchado o de una manera u otra han mencionado, lo que si es cierto es que pocos han tocado con la fría seguridad de conocer lo que esto sugiere y representa. El tema de este post se relaciona con el uso de Sistemas de Bases de Datos orientados a grafos. Las ventajas que este tipo de sistema de almacenamiento persistente de información ofrecen son importantes. Se sustentan bajo la flexibilidad de modelar, manipular y proveer la información; y el principio relacionado con que no se necesitan índices para las búsquedas, sino que por el contrario la informaciòn se encuentra interconectada por apuntadores directos. Las desventaja que me llamo más la atención aparte del considerable consumo de memoria es la implicación que necesita el ser humano para h...

Creación de un repositorio de versionamiento bajo SVN (Subversion Server).

visitas.

Para la creacion de nuestro repositorio de versionamiento debemos instalar un servidor SVN que será el encargado de manejar nuestros recursos a versionar. Posteriormente se debe hacer uso de un cliente que es quien se encargará de intereactuar con el server para realizar las operaciones que necesitemos con el mismo (add, import, checkout, commit, entre otras). En este caso instalaremos nuestro servidor Subversion en un Host con Ubuntu. Para ello, ejecutamos: sudo apt-get install subversion Luego creamos el repositorio en el directorio que deseamos (en este caso lo crearé en el home). cd svnadmin create teorepo Editamos el archivo de configuracion del repositorio (teorepo/conf/svnserve.conf) con la siguiente config: anon-access = none auth-access = write password-db = svn_passwd realm = Teo's repository Creamos el archivo de base de datos de usuarios y contraseñas (teorepo/conf/svn_passwd ) con el siguiente contenido: [users] teofilo= 1234...

Uso de VirtualHosts para manejar múltiples sitios en nuestro servidor Apache.

visitas.

Uso de VirtualHosts para manejar múltiples sitios en nuestro servidor Apache. El propósito de esta entrada es ilustrar como usar tu servidor Web Apache para atender a múltiples sitios, de esta manera puedes atender múltiples dominios. Para ello utilizaremos el archivo de hosts de nuestra máquina para registrar algunos nombres y así simular un sistema de resolución de nombres. Generamos en nuestro servidor dos directorios para nuestos sitios: teofilism_site y tontronism_site , ambos alojados en el directorio /var/www . Para ello en una consola tecleamos: Agregamos a cada uno de nuestros sitios un archivo index.html que sirva de bienvenida a nuestro sitio. Archivo: /var/www/teofilism_site/index.html Archivo: /var/www/tontronism_site/index.html Hasta el momento solo hemos generado los directorios con los sitios, ahora registraremos dos nombres adiccionales a nuestra maquina en el archivo /etc/hosts , agregando las siguientes entradas: Es impor...

Creación de servicios

visitas.

Con esta publicación pienso compartir con ustedes como colocar nuestras aplicaciones o la de terceros como servicios en nuestro sistema LINUX y como hacer que se ejecuten automáticamente con el arranque de la máquina. A modo de ejemplo he bajado el tarball  que contiene el Servidor Web Tomcat como un directorio comprimido y lo descomprimí en la ruta /usr/local/tomcat . Como todos las versiones del Tomcat encontramos en la carpeta bin los archivos    startup.sh y   shutdown.sh para subir y bajar el servicio respectivamente Todo inicia con la creación de un archivo en el directorio /etc/init.d/ con el nombre de tomcat . El nombre lo puedes escoger a tu gusto y corresponderá al nombre del servicio que quieras crear. Le agregamos el siguiente contenido. export JAVA_HOME=/usr/local/java/jdk1.6.0_29 case $1 in start)         sh /usr/local/tomcat/apache-tomcat-6.0.24/bin/startup.sh         ;; stop) ...