Planet

Paron

Normal 0 21 false false false MicrosoftInternetExplorer4
Hola a todo el mundo que sigue este blog , o que lo ve de pasada.
He decidido que durante dos semanas no habrá post ni commit ni ningun movimiento, debido al fallecimiento de mi padre la pasada noche.
No tengo ganas de programar ni de escribir, solo de tumbarme en la cama sin pensar en nada.
Las próximas entradas ya están pensadas y los borradores hechos y trataran sobre Datamining Weka vs R , Clustering, dilema del prisionero y la nueva línea de desarrollo para los que me han pedido y así no causar problemas en el concurso.
      

Ja funciona el servidor

Ahir ja vaig poder instal·lar el Drupal al servidor de la Diputació. Després de mirar-s'ho el Lluís, em va deixar el servidor funcionant per a la seva instal·lació.El procés d'instal·lació em va deixar un altre mal de cap, creava bases de dades amb un tipus no conegut pel PostgreSQL 7.4 (el que hi ha a la Diputació) i em va tocar trobar la solució.Una vegada solucionat, ja es pot continuar amb la instal·lació. Aquesta no comporta cap més problema fins al final que no pot enviar el correu electrònic de confirmació a l'administrador. Tot i que ara no és un problema, posteriorment sí que ho serà perquè no deixarà enviar correus electrònics als usuaris que es creïn de nou (això ho he de comentar amb el Lluís).Mirant la configuració base del Drupal, em trobo que no es poden veure si hi ha actualitzacions disponibles. Això és un problema ja que sinó hauré de revisar-ho manualment i no és la intenció (si tinc l'opció de fer-ho de forma manual molt millor).He estat mirant a què es deu aquest problema i he trobat que es deu a la prohibió de connexions de sortida (outbound connections) del sistema. Això també ho he de consultar amb el Lluís perquè es configuració del servidor al qual no hi tinc accés.Ara he de passar a realitzar la web ja que aquest errors no m'impliquen haver d'estar aturat; així que em poso les piles que s'aproxima el dia d'entrega.

Por fin!!!!!!!! Video

Bueno, después de numerosas pruebas y cuelgues, he conseguido grabar un vídeo del juego. No he conseguido grabar el sonido, eso para la próxima.  Tiene bastante mala calidad, intentaré mejorarla la próxima vez, pero sirve para hacerse una idea.

Espero vuestros comentarios.
      

Publicada redacción del proyecto y preproyecto

Como os comentaba en el anterior post, ahora estoy un poco parado con Gesport porque estoy programando el sistema de inscripciones de la San Silvestre Segoviana.
El caso es que como veo que la gente empieza a publicar documentos yo he hecho lo propio. He publicado el pre-proyecto presentado para la aceptación del proyecto en la universidad donde se describen sus características y el documento del proyecto fin de carrera en su estado actual.
Están en la forja en documento ODT ambos. Si los buscáis por el SVN los vais a encontrar también en la carpeta doc.
Las características del programa se han negociado con Pedro Lorenzo (Pedroko), licenciado en INEF, y entrenador nacional de atletismo entre otras muchas cosas relacionadas con el deporte. En estos documentos se muestran los requerimientos del programa así como gráficos sobre la manera en que se van a implantar.

El servidor

No escric res des de l'últim dia perquè he intentat instal·lar el Drupal al servidor web de la Diputació. Tot i que ja porto una setmana intentant-ho m'han sorgit diversos problemes que encara no estan resolts:

  • Problema amb la variable register_globals, que ja he comentat amb un altre post.
  • Problema amb els permisos de treball.
  • Errors en totes les pàgines que es van entrant perquè, segons el programa, no tenia els permisos corresponents.

Després de tot això, em vaig posar en contacte amb el tècnic de la Diputació que porta el tema dels servidors, el Lluís, s'ho ha estat mirant. El problema que va trobar d'un inici és que el servidor al qual tenia l'espai (tenen diversos servidors) tenen un Apache molt restrictiu per poder allotjar pàgines molt sensibles i han d'evitar qualsevol tipus de problema.Per a solucionar-ho m'ha donat un espai a l'altre servidor web (menys restrictiu).Tot i que amb aquest nou espai no hauria de tenir problemes, només començar la instal·lació ja em dóna el primer error: 500 Internal Server Error. No pot ser és el mateix error que em donava en l'anterior màquina!! :-(El problema d'això és que les variables que es modifiquen amb el fitxer .htaccess no estan habilitats per modificar-los i s'ha de canviar la configuració de l'Apache. Aquesta modificació, com es pot intuir, no la puc fer jo perquè no hi tinc accés.El canvi me l'ha de fer avui sens falta ja que aquests dies els hi ha estat impossible fer-m'ho per excés de feina. En el cas que no em pugui fer els canvis avui perquè funcioni, hem dit de tirar pel dret i fer el mateix que vaig fer en l'anterior màquina per almenys tenir-ho instal·lat i poder anar treballant.Esperarem a veure què em diu avui i, a veure, si aquest cap de setmana puc anar treballant en el projecte que se'm tira el temps al damunt i hi ha molta feina a fer.

Un poco de historia…

Hace ya más de dos años se me pasó por la cabeza: “¿Y si creo mi propio programa de análisis por vídeo para el deporte?” Y desde eso ha pasado ya mucho tiempo…
Mi primer aventura fue con java. Por entonces era el único lenguaje que dominaba más o menos bien, y la idea no era empezar con el proyecto definitivo, sino más bien realizar una prueba de concepto para comprobar si realmente era capaz de hacer algo por estilo. El primer ensallo fue prometedor, pero claro, java está muy bien para crear código protable, pero no existe ningún framework multimedia que realmente funcione bien con java y  el JNI deja mucho que desear.
A principios del año pasado, después de haber cursado alguna asignatura sobre ingenieria del software, me sentí realmente preparado para empezar con un proyecto de gran envergadura como es este. Decidí escribirlo en C# usando la implementación libre Mono. ¿Por qué decidí hacerlo así? Por una simple razón: C# es lo más parecido a java que hay y me sentía comodo con el lenguaje, que aunque nuevo, fue fácil de aprender. Además el IDE MonoDevelop es muy bueno, a mi parecer, ya que integra un editor para GTK#, tiene soporte para Subversión, Autotools y gettext. Con lo cual es perfecto para el desarrollo de un proyecto de Software Libre.
Después de un año de trabajo el proyecto ha adquirido ya bastante madurez y actualmente cumple todos los requisitos para ser usado en entornos profesionales de análisis por vídeo. Muchos pensarán que ya está todo el trabajo hecho, pero un proyecto no es sólo programar, sino crear toda una estructura alrededor que le permita seguir creciendo de forma organizada. Por lo tanto, mi labor durante este concurso será explicar cómo se crea desde cero un proyecto de Software Libre describiendo las herramientas que nos proporcina la comunidad para llevarlo a cabo.
      

Antenas y fuente para Locator

Hoy hemos ido a comprar algunos componentes que nos hacían falta para Locator.
Lo principal en nuestro caso era un adaptador de corriente para que todo el sistema funcione y podamos programarlo en conjunto ( hasta ahora solo teníamos acceso a Arduino + chip GPS).
Para ponernos en situación tenemos que tener en cuenta que según las especificaciones de Arduino Diecimilia necesita 5 Voltios para estar operativo.
No obstante en cuanto se empiezan a añadir componentes, en nuestro caso el módulo de comunicaciones TelitGM862-GPS debemos utilizar una fuente externa.
Ya que el módulo TelitGM862-GPS necesita entorno a 4 Voltios (dependiendo de lo que estemos usando oscila entre 3.8 y 4) para funcionar.
Por tanto necesitamos 9 Voltios para hacer funcionar Locator. Es evidente que no podemos alimentar nuestro sistema vía usb, ya que este nos proporciona 5 Voltios.
Por otro lado Arduino + TelitGM862-GPS necesitan alrededor de 450 mA. Dicho esto queda justificada la compra del adaptador de corriente, el cual nos proporciona un rango de 3V-12V y 1200mA ( no había otro mas pequeño en la tienda). He aquí una foto del adaptador:

Aprovechando que había que comprar y por otra parte intentando evitar tener que pedir componentes fuera de España; nos pusimos a buscar un lugar donde comprar los latiguillos y la antena GSM ( ya disponíamos de una antena GPS ).
Curiosamente al lado de casa conseguimos lo que necesitábamos, ¡incluido conectores a nuestra medida!.

Nada más llegar a casa lo primero que hemos hecho ha sido conectar la antena GPS al módulo de comunicaciones y bingo recibimos señal de varios satélites sin ningún problema, el código que hace esto ya esta subido.
Aquí una foto de Locator V0.002:

Finalmente hemos creado una página llamada “Costes proyecto“; ahí iremos actualizando la lista de costes que supone “construir” el hardware de Locator.
      

Video de calculadora RPN implementada sobre Libgann

Las redes neuronales artificiales tienen multitud de aplicaciones, en este caso las hemos usado para implementar una calculadora que acepta dígitos y operadores manuscritos. La aplicación ha sido construida sobre Libgann y utiliza una interfaz gráfica SDL.
Libgann permite crear y manipular redes neuronales de forma muy fácil, tal es así, que esta aplicación ha sido desarrollada en menos de 500 lineas de código C++/C, incluyendo:

  • Interfaz gráfica
  • Proceso de creación de patrones
  • Entrenamiento de la red

La aplicación utiliza para reconocer dígitos y operadores un Multiperceptron cuya función de activación es la sigmoidal. La red tiene tres capas con la siguiente configuración:

  • Primera capa: 64 neuronas
  • Segunda capa: 30 neuronas
  • Tercera capa: 14 neuronas

El número de neuronas de entrada está justificado por el numero de pixeles del display. El display tiene una resolución de 32×32, lo que equivale a 1024 pixeles, de forma que podriamos haber usado una red cuyo número de neuronas en la capa de entrada fuera de 1024, no obstante, esto supone una red demasiado grande. Para solucionar este problema, agrupamos los pixeles en grupos de 4×4, de forma que cada uno de estos grupos tubiera una representación en una matrix de 8×8 asociada al display, en la cual, cada posicion contubiera el número de pixeles dibujados de blanco del grupo, por lo tanto cada elemento de esta matrix tomaría valores en el intervalo [0,16]. Esta mátrix es con la que trabaja la red neuronal, no obstante, antes de serle pasada como parámetro, normalizamos los valores que contiene en el intervalo [0,1].
El entrenamiento que hemos realizado ha sido Backpropagation con la regla del momento, con los siguientes valores:

  • Factor de aprendizaje: 0,85
  • Momento: 0.3
  • Número de epocas: 1000

Para entrenar a la red usamos un conjunto de 5352 patrones de entrenamiento de los cuales 1529 correspondían a operadores y el resto a dígitos, para el testeo usamos 2514 patrones, en este caso 717 eran operadores y el resto dígitos. Los patrones de entrenamiento y testeo correspondientes a los dígitos los obtuvimos de la pagina:
http://archive.ics.uci.edu/ml/
Los patrones de los operadores los construimos manualmente a través una modificación de la propia calculadora.
Espero que os haya gustado, y por favor hacerme llegar vuestras opiniones.
      

Analisis de requisitos

Por fin he estrenado la forja con algo útil. En el gestor de documentos he dejado colgado el documento Analisis de requisitos.
Voy a explicar por encima el mismo.
Se trata de hacer un sistema que permita instalar en serie por red varias distribuciones Linux. La distribución ha de ser Ubuntu y podrá ofrecer tanto sistemas completos como sistemas personalizados (más o menos paquetes instalados).
En el documento mencionado voy desgranando cada uno de estos puntos y ya se atisba algunos detalles de la implementación como puede ser la necesidad de un repositorio.
En breve miraré de publicar el diseño y la implementación así como comentaros mis batallitas con el initrd. No adelantemos acontecimientos.
      

Rubik en OpenGL

He contrado en la página de pygame alguien que tiene hecho un cubo de rubik en 3D con OpenGL, utiliza gameobjects, math y pygame, he estado mirando el código y creo que al final me decanto por OpenGL, dentro de nada vereis girar un cubito en 3D por vuestras pantallas.
Saludos!!!
PD: trabajando en todas las cosas del proyecto por separado, de vez en cuando iré uniendo cosillas para que veais algún resultado.
      

Distribuir contenido