El módulo Jano será el que se encargue en el Manager de decidir si un nodo está actualizado, tiene que particionarse, tiene que actualizar o instalar alguna imagen nueva, etc. También se encargará de hacer que el servidor DHCP del Manager responda o no a su petición de arranque por PXE, dependiendo de si está actualizado o no.
18/08/2008
HYDRA: Heterogeneous sYstem Deployment and Remote Adeministration.
Módulo PARTITIONER
El módulo Partitioner es el encargado de particionar los discos duros de los ordenadores. Al igual que con HostInfo, los nodos ejecutarán la parte servidor del módulo, que estará a la escucha, y será el que realmente maneje la tabla de particiones. El Manager ejecutará la parte cliente, desde la que se envía la nueva tabla de particiones que tiene que crearse en un nodo determinado.
Para escribir el servidor se ha hecho uso de la librería libparted, de libre acceso y distribución.
Módulo HOSTINFO
HostInfo es un módulo del proyecto que se permite al Manager (el nodo principal) obtener la configuración de los demás equipos. Cada equipo ejecutará el HostInfoServer, que recaba información acerca del sistema (discos duros, procesador, tarjeta gráfica, red...). El Manager ejecutará el HostInfoClient, que se pondrá en contacto con los servidores correspondientes para conseguir la información.
Esta información se utilizará para decidir qué distribución asignarle al nodo o cuál es el más adecuado para realizar alguna tarea, por ejemplo.
12/08/2008
Post-procesador y Visor de demostraciones de ACL2
Materiales del curso de Git
Este ha sido un mes muy ocupado :-D. Yendo un poco en secuencia, fui al curso de i-Math de Software Matemático Básico (conocía Octave, pero no Maxima ni SciPy), tuve la presentación de mi PFC (¡ya soy ingeniero!), di un curso de SVN y LaTeX, fui a la International Conference on e-Business 2008 en Oporto junto con Manuel Palomo Duarte para presentar nuestro progreso en Takuan (herramienta de testing de WS-BPEL basada en invariantes dinámicas), y la semana pasada di otro curso, esta vez de Git, en el CADE de Jerez.
En este curso no ha venido tanta gente como con el de SVN/LaTeX, aunque era de esperar, por el lugar en que se celebraba y por la temática: no es ninguna exageración decir que Git es más complejo que SVN :-D. La potencia viene a un precio, evidentemente, aunque parece haber mejorado mucho desde sus versiones anteriores en usabilidad (y lo sigue haciendo).
He preparado algunos materiales, con un guión de ejercicios para los conceptos básicos, apuntes para las operaciones básicas, uso de ramas y colaboración con Git y algunos ficheros de configuración de ejemplo para Apache, reuniendo un pococ lo que he visto aquí y allá. Los he colgado en forma de un repositorio Git en el servicio gratuito de hosting Gitorious. Cualquiera es libre de usarlo como le plazca, siempre que respete la licencia CC 3.0 BY-SA del trabajo: ha de mencionarme como contribuidor y mantener la misma licencia, nada demasiado complicado. Lo podéis clonar con:
git clone git://gitorious.org/curso-git-osluca/mainline.git
Se aceptan críticas constructivas y parches, como siempre :-D. Lo gracioso de Gitorious es que el propio código de la web es también un proyecto de software libre, a diferencia del caso de Github. La experiencia con el segundo quizás sea algo mejor, pero tampoco creo que Gitorious se desmerezca demasiado, y tiene la ventaja ideológica.

11/08/2008
R4P
R4P en la Open Source World Conference
Aunque todavía queda un tiempecillo y tenemos algunas cosas más cerca (como la lectura del proyecto por ejemplo xD) queremos deciros ya que en 70 días, concretamente el 20, 21 y 22 de Octubre, estaremos en Mágala, en la Conferencia Internacional de Software Libre presentando R4P al que los redactores de la web de la conferencia han presentado como el Primer Robot Cuadrúpedo Libre.La presentación tendrá lugar en el Palacio de Ferias y Congresos de Málaga y en su web tienen ya una noticia anunciándolo (os dejamos aquí abajo la captura de la noticia).
Así que… nos vemos en Málaga también!
10/08/2008
R4P
Primeras Pruebas del prototipo R4P Phoenix
En este vídeo podéis observar las primeras pruebas que estamos realizando sobre R4P modelo Phoenix.
El nuevo diseño de R4P es mucho más sencillo de programar debido a que las patas son iguales o inversas. Las dos que se encuentran en la misma diagonal del cuadrado son iguales, es decir los servos están colocados en las mismas posiciones y por tanto un incremento de 10º sobre un servo en una pata tiene el mismo efecto que un incremento de 10º sobre la pata del otro extremo de la diagonal.
Presenta una notable mejora en la estabilidad. No solo tiene una estabilidad muy superior al prototipo anterior sino que consigue mantener mayor peso debido a la nueva disposición de los ejes y la distribución de la masa del robot sobre sus patas. Este prototipo es incluso capaz de elevar todo su cuerpo de forma continua utilizando las cuatro patas a la vez desde el suelo, el anterior nunca fue capaz.
Queda por tanto demostrada la superioridad técnica y la mejora en la usabilidad del modelo Phoenix sobre el prototipo 2.0 de R4P.
Uno de los servos presenta un poco de holgura y hace que la pata tiemble. Este servo será sustituido aunque aun puede valer para realizar otro tipo de propósitos en los que haga falta menos precisión.
08/08/2008
zenphp
Como hacer la semántica web fácil con zenphp
Semántica web

Si tenemos nuestra aplicación web montada, lo único que tenemosque hacer es configurar los activadores (rutas de .htaccess de Apache) de las acciones (funciones PHP) de los modelos (clases PHP que extienden de zen_modelo_datos) de datos o las funciones de los visualizadores (clases PHP) de forma que podemos incluso crear nuestra propia gramática: loquesea.es/hablar/con/Manolo –> nos contactaría con Manolo
Ejemplo
Como siempre, veamos un ejemplo para comprender mejor la idea:
Tenemos una aplicación (zen_aplicacion) instanciada en index.php con la variable $app , ahora ,dentro de esta hay un visualizador por defecto llamado html_aplicacion en $app->html, bien, pues ahora sólo tenemos que decirle a Apache que nos redirija las entradas de direcciones con un .html al final, a las funciones de $app->html , como por ejemplo: Una típica función para ver un producto:
* En tu .htaccess (después de poner “Options +FollowSymLinks” y “RewriteEngine on” ):
RewriteRule ^productos\/(.*)\.html index.php/ver_producto/$1/
Con esta regla se llama a index.php donde se instancia $app y se llama a $app->enrutador->delegar() que analiza el resto de la dirección, es decir, productos/fichero.html…de forma que llama a la función productos ,si no existe llama al modelo con nombre productos, en nuestro caso es una función del visualizador de la aplicación (más sencillo),

Código
* Esto es lo único que tiene la función
echo $this->plantilla->devolver_contenido(”productos/”.zen_sanar($datos[1]).”.html”);
si queréis ser más profesionales, crear una plantilla HTML y meterle los datos usando las #etiquetas# ya explicadas en otros posts, asi como hacer comprobaciones de existencia del fichero .HTML y poner una plantilla tipo producto_inexistente.html si no se encuentra… (típico)
$p = new zen_plantilla();
$this->c =& $this->padre->padre->contenido; //array de contenido de la web
if ($p->cargar(”productos/”.zen_sanar($datos[1]).”.html”))
$this->c['contenido'] = $p->devolver_contenido(”productos/”.zen_sanar($datos[1]).”.html”);
else
$this->c['contenido'] = $p->devolver_contenido(”productos/no_encontrado.html”);
parent::index(); //Muestra la plantilla base_web.html y reemplaza etiquetas, etc.
Y así tendréis algo como lo siguiente:
http://www.empresayjuventud.com/productos/frescos/sandias.html
Seguramente ,se puede hacer mucho más fácil, pero ,también seguramente habrá alguien por ahi que lo escriba, saludos!
El conjunto de administración está siendo terminado, espero poder publicarlo pronto…
06/08/2008
Psychosynth
Nos mudamos a Savannah
R4P
Ponencia en la 12ª Campus Party Valencia 2008
Poco a poco vamos cubriendo compromisos y nos queda más tiempo para trabajar en R4P.
La verdad es que es un auténtico placer viajar a sitios presentando tu fin de carrera y participar en concursos, congresos y demás eventos relacionados. Pero se debe tener en cuenta que nos ocupa mucho tiempo. Esperamos trabajar duro estos días para culminar con un gran proyecto fin de carrera que de verdad pueda derivar en una plataforma robótica libre, util, sencilla, barata y eficaz.
El día de la robótica se llevo a cabo en el CAC (Ciudad de las Artes y las Ciencias) una expectacular muestra de la robótica casera y de la profesional con robots como Reem , Actroid - DER 2, los robots de desactivación de bombas del ejercito… impresionante.
La ponencia se realizó finalment el Sábado a las 22:00 con un público reducido pero selecto. Fue una charla un poco más informal y cercana en la que mostramos a R4P y algunos de los planes para el futuro de la plataforma robótica libre.
Una foto de los ponentes
por cortesía de Violeta Díaz (Arquitecto)

04/08/2008
zenphp
Sistemas educativos usando aplicaciones web

Cuando estás creando aplicaciones web sueles pensar…¿hay algo más glamuroso que eso?…
es como cuando estás concentrado en la meditación, ¿hay algo más real que estar profundamente centrado en tu propio ser? ![]()
¿Cuándo fue la última vez que escuchaste a alguien que te hablara de haber visto o estar viendo un producto que no fuera a través de la web? (sin contar el iPod ni la TV) , esto es porque todos los proyectos más innovadores suelen ser vistos online..nada que ver con los productos desarrollados para ser ejecutados en un PC de escritorio que están bastante más lejos de tener la simplicidad de la web…de ahi su rápida proliferación…
Entre ambas opciones se encuentran los productos que combinan todo lo que forma la informática: gadgets como un equipo de música formado por unos altavoces y un hardware que se conecta a internet para descargar la lista de bandas sonoras, haciendo disponibles miles de ellas de forma que podemos acceder a la radio de casi cualquier parte del mundo como antes manejábamos la manibela de nuestra radio FM (tipo last.fm) de casa o del coche.
Las aplicaciones web han mejorado tanto que se ve reflejado en la simplicidad, hasta el ladrido del perro en un barrio puede ser convertido en algo sorprendente si se trata bien. XD
Es por esto que el e-learning 2.0 o como la tecnología Web está dando forma a la educación.
Este proyecto tiene una gran parte de educativo ya que se enseña un lenguaje y como solucionar problemas que todo programador web tiene.
Hemos de tener en cuenta el gran impacto de la web sobre la educación, la promesa del e-learning ha de ser la de emplear entornos virtuales mezclados con reales, de forma que ambas partes se interconecten incitando al alumnado a “blogear” para recibir así críticas que habrá de responder y que forma parte de su aprendizaje.
zenphp proporciona la magia necesaria para crear enormes entornos cooperativos a modo de redes sociales interconectadas que permiten comunicar a gente que tiene una gran pasión por la física con profesores de perros, por ejemplo.
El éxito o el fracaso de estos proyectos depende de la evolución del e-learning y del grado de inmersión de cada “profesor”…
29/07/2008
R4P
Recuerdos…
El título para éste post no es que sea muy acertado, pero no acabábamos de encontrar la idea perfecta para colocar la foto que nos hicimos en Colombia con el presidente de Linux International, John Maddog.
No es que le pusieramos el gorro de cartón para sacarnos la foto, es que estábamos por ahí de cena y, aunque en la foto no lo parezca, John es un tío muy gracioso…
Linux International ha cambiado recientemente su enfoque y ahora, no sólo apoya y fomenta el uso de Linux, sino que ha pasado a promocionar el uso de software libre en general.
Además John está ultimamente promocionando mucho el uso de teléfonos móviles libres. En la Campus Party de Valencia (que se está celebrando desde éste Lunes) patrocina el “Reto Maddog”, un concurso de aplicaciones libres para Android en el que el ganador se llevará como premio un teléfono libre para que pueda seguir desarrollando ![]()
24/07/2008
Sistema integrado para el soporte a la docencia
Aplicación extensible = Plugable
La nueva idea en desarrollo es que la amplicación sea lo más extensible posible sin realizar esfuerzos muy costosos. La intención es poder agregar paquetes para poder añadir nuevos tipos de preguntas a la aplicación, incluyendo sólo unos determinados ficheros, sin modificar en la aplicación en sí. De este modo, se permitirá crear nuevos tipos de preguntas sin tener que recodificar el core de la aplicación. Cada paquete de nueva pregunta o plugin tendrá que incluir:
Controlador: Se encargará de la interacción con la gui de la pregunta, controles de la gui, recuperación de datos, etc.
Validador: Validará los datos que recogió el controlador.
Clase Pregunta: La nueva pregunta tendrá una lógica de negocio que quedará recogida en esta clase.
Render: Para que la pregunta puede visualizarse de algún modo, deberá crearse una clase que se encargué de mostrarla, por ejemplo en HTML, LaTeX, etc.
Código Base de Datos: Se tendrán que añadir un par de funciones para posibilitar tanto el almacenamiento como la recuperación de este tipo de preguntas.

22/07/2008
Sistema integrado para el soporte a la docencia
Avances varios
Hace días que no escribo… en este tiempo, me he dedicado a muy variados asuntos. He estado creando una plantilla para la documentación según la normativa del PFC, he juntado, maquetado y revisado toda la documentación que había creado hasta el momento. Además, me he personalizado el paquete fncychap, que es un paquete de LaTeX para modificar el formato de los capítulos.
En cuanto a el framework que comenté en el anterior post, me he leído los capítulos básicos del libro de Django, estuve diseñando el aspecto de la aplicación y modificando el aspecto del render de las preguntas de HTML. El complemento para Iceweasel está muy curioso para el diseño web.
De todos modos, enseguida dejé aparcado el tema de Django, y volví a la aplicación de escritorio. He modificado la capa de persistencia, y he realizado los cambios necesarios en la capa de dominio, para que el Agente siempre devuelva objetos de la capa de dominio. De este modo se consiguen varios objetivos, pero hay que destacar que este es el modo para facilitar el uso de Slice e ICE. La aplicación todavía no la he modificado para que sea distribuida, espero hacerlo en breve. Sí he realizado el fichero slice, digamos que es un lenguaje que sirve para establecer un contrato entre las distintos lados(peers) de la aplicación. En este caso, un lado siempre hará de servidor y otro siempre de cliente. El lado del servidor se basará en el Agente y la base de datos. También he actualizado los diagramas de clases.
Los otros avances se han centrado en mejorar la interfaz a la hora de crear exámenes, así como en los render, a parte del comentado en HTML anteriormente, también se ha mejorado el render de LaTeX. Se ha añadido la lógica de negocio necesaria para trabajar con exámenes, así como las tablas en la base de datos, en la línea de la especificación IMS QTI v2.1. También, se crea el fichero xml de acuerdo a ésta especificación.
Las nuevas ideas que se están implementado ahora son ideas referentes a que una pregunta que ha sido utilizada en un examen, no puede ser editada, ya que si se edita una pregunta y se quiere ver el examen o datos almacenados relacionados a esa pregunta, se contemplarían datos falseados. Por lo tanto, hay que poner una barrera para no poder editar las preguntas utilizadas. Con objeto de no tener que crear de nuevo la pregunta con la modificación que se pretendía realizar, se trabaja en el clonado de una pregunta. Es decir, poder disponer de una pregunta igual(el mismo contenido) pero no la misma(no es el mismo archivo xml ni la misma instancia en la base de datos), de este modo, se puede editar la pregunta clonada para realizar las modificaciones que se deseen, utilizarla en futuros exámenes sin tener que crearla desde cero.

Feedo
¡Feedo LIVE!
Desde Junio está disponible una versión LIVE de Feedo accesible desde la URL, http://156.35.94.5/feedo.
Para probar la aplicación no es necesario registrase, existe una cuenta de usuario compartida con nombre “invitado@midominio.com” y contraseña “invitado”.
Además Feedo está disponible en dos idiomas Inglés y español.
Se trata de una buena forma de comprobar el grado de desarrollo de la aplicación y colaborar con el mismo.
Para cualquier sugerencia se encuentra disponible la dirección de correo electrónico isaac@users.forja.rediris.es.

21/07/2008
18/07/2008
R4P
R4P phoenix primeras imágenes
Ya se ha completado la construcción de R4P phoenix a falta de algunos detalles mínimos. Esperamos que les guste y les resulte un mejor diseño que el anterior:
17/07/2008
SmartManager
Viaje y nuevo trabajo
Como sabéis algunos me voy de viaje a Punta Cana y pasare unos días en Santo Domingo, la verdad es que tenía ganas de un viaje así, no he podido ir a muchos sitios este año y ya tenia ganas. Aparte empiezo a trabajar en Ittera, empiezo con mucha ilusión y la verdad que trabajar en algo que me gusta(debian, python, free software, i+d, etc..) y me motiva es algo que me encanta( ¡y jornada intensiva!), y espero que mi relación con la empresa prospere. Como veis tengo un buen mes de Julio, y la verdad que espero que Agosto sea igual de bueno y no tan fatídico como uno que recuerdo.
También quiero hacer una lista de un TODO, y empiezo añadiendo un “visitar a la gente de teralco” y un “terminar la carrera”, y sobretodo la ultima.
Por ultimo es un llamamiento a los guleros, que pasen una buena “reunión” y que se lo pasen bien, y segundo un llamamiento a estos para recomendar un cambio generacional, al estilo PP y PSOE pero sin corrupción y limpieza de imagen. Creo que se necesita un cambio de gente para que lleven o apoyen la asociación, se necesita nueva motivación y ganas que parece que no quedan actualmente( por varios motivos, ya sea tiempo, curro, etc..), al menos así pienso yo.
Nos vemos en 9 días, se despide Topo desde Madrid ![]()
16/07/2008
zenphp
Sobre compatibilidades entre versiones de PHP y zenphp

Hace un tiempo que cambié la versión de mi host dedicado de PHP4.2 a 5.2.6 y zenphp no ha tenido ningún problema para funcionar. Sólo un pequeño detalle a tener en cuenta con el fichero .htaccess…
Cuando escribimos redirecciones como por ejemplo:
AddDefaultCharset UTF-8
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^noticias index.php/noticias
RewriteRule ^noticia\/(.*) index.php/noticias/leer/$1
en la que queremos que las www.midominio.com/noticias se redirija a www.midominio.com/index.php/noticias/ para encontrar el controlador por defecto, en PHP5 ahora se usa en lugar de <$_SERVER['REQUEST_URI']> el parámetro <$_SERVER['PHP_SELF']> dentro de
zenphp/clases/clase_zen_enrutador.php
de forma que estas redirecciones más complejas sean bien encauzadas sin tener que reescribir el módulo del enrutador que proporciona el framework…recordar que se puede escribir un enrutador y asociarlo a cualquiera de la s aplicaciones que estemos usando en el sistema y lanzarlo por medio de una función tipo “delegar()”.
Seguimos informando!
Compártelo15/07/2008
R4P
Instalando Arduino/Processing en Windows Vista
Hace un par de meses se publicaron los parches necesarios para instalar Processing en Windows Vista. Hemos probado a instalarlo para ver que tal funciona y ahora queríamos compartirlo con aquellos usuarios que por el motivo que sea no utilizais un Ubuntu u otro linux.
Que quede claro que nosotros recomendamos Ubuntu para trabajar con Arduino.
10/07/2008
Open Virtual Container
Spameados...
Nos han llenado los issues de spam, ya esta solucionado, pero hemos tenido que restringir la creación de comentarios y de issues a usuarios registrados, si alguien quiere algo tendrá que ponerse en contacto con los administradores de la pagina.
Encaminados a la primera Release
Muy buenas,
Os escribo para informaros que pronto vamos a realizar la primera release a causa de el gran movimiento que está existiendo en el planet. Hemos decidido que igual para el martes que viene vamos a publicar los siguientes elementos:
Añadido nuestro proyecto a Ohloh!
Hemos añadido nuestro proyecto ovc a ohloh! para que nos lo analice a raiz de la entrada de zenphp al respecto.
Muchas Gracias!.
Vamos a ver que nos cuenta, en breve postearemos los resultados por aquí.
Motivación
En estos tiempos que corren en los que el software libre cada dia es más fuerte y la idea del desarrollo de la competencia y de aplicaciones, mediante compartición en vez de mediante la ocultación nos ha llevado a plantearnos que ya va siendo hora que impliquemos a otras áreas en el desarrollo exponencial que consideramos que aporta el software libre. En el mundo del software libre se ha dejado de reinventar la rueda, ahora cuando podemos cogemos la rueda y la ponemos en nuestro coche.
Post-procesador y Visor de demostraciones de ACL2
Mejorando mi comprensión de Git
Aleluya, creo que ya entiendo mejor Git, gracias a la fantástica charla “Getting Git” en RailsConf 2008 de Scott Chacon. En ella explica (y muy bien) los detalles internos de Git, y qué le diferencia de Subversion: cuando me fijé en que podía borrar commits y cosas del estilo, que las revisiones no eran secuenciales sino que usaban hashes SHA1 y que podía cambiar “mágicamente” de rama me quedé tan sorprendido en su momento que no llegué a entender un pimiento del resto :-D, y eso que me miré los dos Google TechTalks de Git.
Ahora que veo que se trata de un sistema basado en una base de datos de objetos agrupados en un grafo, y que los tags, ramas y etiquetas son sólo punteros a nodos raíz de subgrafos suyos lo entiendo mucho mejor. Bueno, supongo que a alguien que no conociera Subversion y fuera directamente a Git no le chocaría, pero no me gusta usar una herramienta sin entender por lo menos la idea general.
Lo siguiente en la lista es git-svn: la verdad, me daría pena dejar la forja de RedIris para el desarrollo de XMLEye. Podría usar el espacio de github.com, pero entonces ya no tengo el área de ficheros, y todo el tema de tickets. Me pregunto si hay algo parecido a Trac para Git, sería el remate. También quiero curiosear sobre la orden cherry-pick de Git.

09/07/2008
R4P
¿Por que no hemos publicado aún los planos?
Mucha gente nos ha hecho esta pregunta ultimamente, en persona o vía mail.
No hemos publicado los planos por que aún no hemos probado la viabilidad técnica de los últimos prototipos de los robtos. Los prototipos 1.1, 1.2 y 2.0 presentaban deficiencias en la estabilidad debido a la altura de su centro de masas. No queremos que nadie construya un R4P o R6P sin estar seguros de que son perfectamente estables y los diseño son acertados.
Los planos se publicarán tan pronto como se hagan las pruebas pertinentes y necesarias sobre R4P phoenix ylos dos R6P.
Aunque tengáis que esperar un poco más merecerá la pena ![]()
Diseños de R6P
Aquí están los dos diseños de R6P:
El hueco para el servo que está en medio podría ser utilizado para acoplar una camara movil o un sensor de ultrasonidos, laser, de temperatura, luz… etc.

08/07/2008
zenphp
Detalles del Modelo Visualizador VS MVC

Acabo de estar mirando el nuevo modelo de datos de Joomla 1.5 junto con su controladores y vistas…es interesante sin embargo complicado y necesitas tener el manual cerca (a “mano” :D) porque no sabes nada de nada al estar dentro de una vista…si estás en una vista tipo “blog” de una categoría, cómo puedes conseguir la sección a la que pertenece? En algunos foros se discute el tema, acabando por hacer un nuevo y completo módulo o extensión también llamado para cubrir las necesidades…sólo por necesitar un identificador? …como veis parece absurdo tener una división que no te da libertad y crea más confusión…

En zenphp está el modelo de datos donde están todos los datos que está comunicado con punteros con el resto de modelos de la aplicación y por otro lado está, asociado al modelo ,el visualizador, nunca perdemos nada de vista y todo es parametrizable y accesible fácilmente, casi no tenemos ni que usar el manual o la documentación…veis la pauta? notais la diferencia? ahi radica la potencia de hacer algo simple y que funciona…
Saludos!
CompárteloR4P
R6P, una realidad
Bien, ayer cuando estábamos preparando las piezas para enviarlas a LaserModel, íbamos a pedir un R4P completo, pero nos dimos cuenta de que ya teníamos un cuerpo para un robot de cuatro patas R4P.
Hemos hablado mucho de R4P y parece ser nuestro estandarte pero también hemos hablado de una plataforma robótica libre. Con unas pequeñas modificaciones de la estructura del robot y fabricando un par de patas más podemos añadir a nuestra plataforma un robot hexápodo. Y no solo uno, por que cuando nos ponemos nos gusta hacerlo, pero hacerlo bien. Es por eso que vamos a diseñar un R6P para aquellos que prefieran los robots hexápodos. Existen dos modalidades de robots hexápodos dependiendo de la disposición de las patas:
- Hexagonal, las patas se distribuyen en los vértices de un hexágono de tal forma de que el robot actua con cuatro de sus patas como si fuera un robot de cuatro patas y con las otras dos compensa el triángulo de estabilidad.
- Rectangular, dispone las patas tres a tres a cada lado del robot a una diferencia X de tal forma que queda un rectángulo de X por 2X.
La primera disposición es muy curiosa pero más lenta que la segunda (la rectangular). Pretendemos competir en algunos concursos de robótica caminantey por norma general no se suele tener en cuenta el número de patas. Es por eso que con un destornillador y un ordenador en apenas media hora podemos “metamorfosear”(totototoooma!) un robot de 4 patas en uno de 6! Además parece interesante disponer de dos patas de repuesto por si acaso que uno nunca sabe lo que puede pasar.
Ya hemos pedido las piezas a LaserModel y 20 servos a HobbyCity.
Evidentemente el modelo será un R6P H3i phoenix y R6P R3i phoenix.
07/07/2008
R4P
Los cuatro prototipos de R4P
En este post vamos a desvelar el diseño definitivo de R4P. El “R4P v3i” definitivo o “R4P phoenix”. Le hemos llamado phoenix por que resurge de las cenizas del primer prototipo (1.1). De este modo la electrónica y los servos se mantienen y solo se modifica la estructura o esqueleto de R4P.
En esta imagen se pueden observar las diferencias entre la estructura preliminar (izquierda) y la estructura definitiva (derecha). Al final de este apartado se encuentra una descripción detallada que justifica dicha transformación y explica las características de R4P phoenix.

Más abajo podéis ver las diferencias entre los diseños de cada prototipo y observar la evolución que han sufrido sus piezas hasta el diseño final de R4P.
(more…)
03/07/2008
ICUM: Instalador y Configurador Universitario para Molinux
Entradas Quijote Party
Hoa a todos gracias al ceslcam vamos a sortear una entrada por el momento que luego puede que sean 2 no se sabe todavía… a la Quijote Party.
Para poder participar solo tenéis que poner un comentario en el blog hasta el día 13 y el 14 se dará a conocer el ganador de la entrada que para seleccionarlo usaremos la pagina web Random.org la entrada incluye
* Un espacio de trabajo (mesa y silla) con una conexión de red RJ-45 y un enchufe (cada participante debe traer una base de múltiples enchufes).
* Acceso a Internet de banda ancha, proporcionado por Telefónica.
* Acceso a las distintas Conferencias y Foros de discusión y debate.
* Zona de acampada en un pabellón cubierto anexo.
* Manutención a lo largo del encuentro por parte de la organización (3 desayunos, comidas y cenas).
* Transporte en autobús desde las capitales de la región: Cuenca, Toledo, Ciudad Real y Guadalajara (PLAZAS LIMITADAS).
* Participación en todos los concursos en que se haya inscrito.
* Obsequios proporcionados por patrocinadores.
NOTA: apuntarse por favor gente de Castilla la mancha o gente de España que seguro fuera a ir. Gracias a todos por la colaboración

R4P
Campus Party Colombia (I)
Despues del viaje a Colombia hemos regresado y ya estamos trabajando de nuevo.
Tenemos que recuperar un poco de información perdida pues me robaron el portatil en el stand, por un despiste mio, de mis compañeros y la locura del primer día. Debemos agradecer a Kike Nimo y la organización de la Campus Party su rápida respuesta al comprarme un portatil para poder seguir con el fin de carrera.
Debemos decir que este incidente es desagradable sobretodo por la pérdida de información pero no afecta en absoluto a la imagen que traemos con nosotros de este impresionante pais, de su cultura y su gente. Es un lugar digno de ver y conocer, sobretodo su gente amable y bien intencionada. Esto nos hubiera ocurrido igual en España o en cualquier otro lugar.
Seguir leyendo para ver algunas fotos. Tenemos que poner más.
GBM (GNOME Biometric Manager)
Primera reunión del grupo GBM …
En la reuniónse trataron varios temas:
¿qué es lo que teniamos en mente? Sistema de login que implemente un reconocimiento biométrico que pueda sustituir o complementar a GDM u otros sistemas de login existentes.
¿hasta donde queremos llegar? Pues esto no quedó muy claro, nosotros queremos hacerlo todo, pero hasta donde lleguemos nos vendrá impuesto por el propio proyecto.
¿qué tenemos? Mucha infraestructura SVN, FORO, Lista de correo, etc…. Del proyecto no tenemos nada.
¿qué planteamos para empezar? Investigar mucho sobre temas de reconocimiento (tratamiento de imagenes) y sobre temas de login en gnu/linux junto con la adquisicion de datos imagenes, video, etc.
- Sistemas: que se encargará de recabar información acerca de los sistemas de login existentes por si podemos utilizar alguno. Ver si existen herramientas y proyectos de todo tipo de indole relacionadas con logins, sistemas de adquisición y almacenamiento de los datos para linux.
- Procesamiento: que se encargará de investigar si existen herramientas o cualquier cosa relacionada con el tema de procesamiento de datos biometricos, es decir, como tratar datos a partir de imagenes, video etc… y obtener datos relevantes. Para esto es buena idea ver si existen herramientas, sdk, librerias, proyectos existentes para ver si podemos utilizar algo ya existente.
Los integrantes de los grupos son:
- Sistemas: Victor, Ángel, Borja
- Procesamiento: Jesus, Juanje, Juan
Un saludo a todos y GBM ya esta en marcha.
02/07/2008
iSharpKnocking
Ingenieros en Informática
Es un placer comunicar que tanto Luis como yo (Miguel Angel) hemos logrado terminar al fin la carrera ^^
Eso no nos convierte aún oficialmente en Ingenieros en Informática ya que falta esperar las actas de junio y pedir el título.
Pero aún así, ahora hay que decidir que hacer con nuestras vidas, aunque por mi parte siempre ha habido y habrá un huequecito para seguir desarrollando este proyecto.
Mi plan para los próximos meses es terminar el dichoso refactoring que llevo tanto tiempo haciendo en la librería iptables-sharp (antes iptables-net), hacer una pequeña aplicación gráfica que la use y escribir más tests unitarios para ella (hay 0 actualmente
).
Esta versión de la librería es en algunos aspectos más limitada que la versión que hay colgada en el tar.gz en googlecode pero promete mejor mantenibilidad y más facilidad para añadir soporte de extensiónes, antes era demasiado difícil.
Esto es todo, de momento ...
por mangelp@gmail.com (Miguel Ángel Pérez) el 02/07/2008 08:55 AM
30/06/2008
cyberHotel
Una versión para Windows
Después de algún tiempo ya tenemos al menos una versión de cyberHotel para utilizar en Windows. Dado que cyberHotel utiliza una BD relacional para almacenar sus datos (lo cual quiere decir que es un medio de almacenamiento seguro y además escalable pués se puede consultar el modelo entidad-relación) necesitamos tener instalado para esta versión el Microsoft SQL Server 2005 Express así como la Máquina Virtual de Java.
Podemos descargar cyberHotel para windows desde la forja. La versión actual para descargar es todavía una versión alfa.
Para que cyberHotel funcione es necesario además tener ant instalado en el equipo, configurar el puerto de SQL Server y crear la BD sobre el gestor. Comentaremos como se puede hacer esto en el siguiente post.

25/06/2008
Sistema integrado para el soporte a la docencia
Framework elegido
De entre todos los frameworks, realicé una última criba por lenguaje. Sí, quizás hubiese sido magnífico hacerla desde el principio, pero hasta que no he visto un poquito más en profundidad no me he dado cuenta. Los de Java, ofrecen muchos efectos visuales casi todos basados en tecnología AJAX, pero lo necesario es buscar un framework que ofrezca mecanismos de seguridad, de desarrollo fácil y rápido, sesiones, etc. Por la parte de PHP, está muy de moda y eso, pero no lo he visto muy elegante, sobre todo, a la forma de trabajar con los datos. Por último Ruby o Python, me he quedado con Python porque conozco el lenguaje y me va a ser más sencillo programar en Python, aunque lo poco que he visto de Ruby está bastante bien.
Entre TurboGears y Django, la verdad es que son bastante parecidos, los dos se basan en CherryPy, otro framework de Python. Me he decantado finalmente por Django por dos motivos:
- La facilidad de crear interfaces de administración.
- La información de errores en el desarrollo. Si en Django intentas acceder a una URL no conocida, aparece una página de error muy bien formateada con las urls existentes, las variables de contexto y mucha más información.
He leído el tutorial, bastante largo, pero las cosas van quedando claras, menos las vistas generales, creo que por meterlas en el ejemplo y no hacer el tutorial más largo no quedan del todo ilustradas. Han sacado un libro y además, se está trabajando en la traducción al español del mismo.

24/06/2008
Post-procesador y Visor de demostraciones de ACL2
Usando PAR::Packer y Strawberry Perl en Windows
Todos los días se aprende algo. Hoy he aprendido que tirarme hasta las 5 de la mañana peleándome con camelbox, ActivePerl, y Strawberry Perl para que funcionara PAR::Packer como $DEITY manda ha sido una gran pérdida de tiempo, y que habría sido mucho más productivo simplemente dormir :-D.
Como ya dije en el post de ayer, estuve mirando cómo mejorar la distribución de los conversores, para que el “usuario medio” no tuviera que ser “usuario que sabe instalar un entorno Perl, tirar de CPAN y llevarse un dolor de cabeza con los fallos que le salgan”. En los entornos UNIX está todo muy depurado y PAR::Packer y PAR funcionan de maravilla a la primera, pero en Windows la cosa no está tan clara.
Primero probé con ActivePerl, que con los repositorios PPM de Uwinnipeg y Bribes quedaba bastante completo. Pero por alguna razón, no incluía bien un fichero que instalaba con install_share. Con ActivePerl me pasé varias horas, y luego probé con Strawberry Perl, en sus versiones 5.8 y 5.10 de Perl, y tenía fallos al instalar desde CPAN. Otras tantas horas. Y luego, cómo no, probé con camelbox, y una vez más con Strawberry Perl. Ya me caía de sueño y harto de mirar en listas de correo y bug trackers, me fui a dormir. (Por cierto, el nombre de Strawberry Perl viene por que es una mejora sobre el Vanilla Perl. Un batido fresquito no vendría mal ahora, no señor…)
Hoy me levanto y me acuerdo de un post de ayer que decía algo de que el fallo que yo encontraba “estaba arreglado en trunk”. Trunk, ¿de qué? Pues trunk del SVN de PAR::Packer, que aunque en el $VERSION de Packer.pm decía 0.980, no era el 0.980 de CPAN que me había dado tantos dolores de cabeza. Strawberry Perl 5.10, PAR::Packer del SVN, sin problemas. Todo instalado y funcionando como la seda.
Qué momento más agridulce de mi vida :-D. Bueno, para la próxima me voy a dormir y consulto con la almohada.
Una cosa: al llamar a pp para generar un EXE en Strawberry Perl, no hace falta darle el –gui para evitar que aparezca una ventana de consola. De hecho, si se lo damos nos quedamos sin stdout y stderr :-/. Es buena idea usar ‘-r’ para pruebas, y con la opción ‘-I blib/lib’ nos aseguramos que los ficheros que instala File::ShareDir aparezcan en los PAR. También es buena idea, y no hace daño, añadir “-M PerlIO”: en ActivePerl daba problemas si no se incluía. Dejo esto apuntado por si alguien con mis problemas busca por Google :-D.

R4P
From Colombia, with love…
Sip, después del duro vuelo por el que tuvimos que pasar para llegar hasta aquí…
…ya llevamos prácticamente un día en Colombia
La Campus está bien, vamos, suponemos que estará bien porque hoy todavía se están montando cosas. Por ejemplo, en nuestro stand (que bien suena eso, como si tuvieramos una empresa y fuéramos importantes :D) hemos tenido que pedir que nos hagan un circuito eléctrico aislado para poder darnos 220v a 50hz en vez de los 110v a 60hz que son el estándar por aquí.
De todas formas… ¿para que dar detalles aquí? Sobretodo cuando tenéis disponible un subdominio creado especialmente para hacer un seguimiento de todo lo que veamos/toquemos/cacharreemos por aquí
Sólo adelantaros que nos gusta como piensa la organización de la Campus, para muestra una fotillo:
(con especial dedicación para cortizo :P)
23/06/2008
Funny Box
Torneo FunnyBox
The Funny Box es un tres en raya especial. Se le ha añadido una dimensión más y ha surgido lo que podríamos llamar un tres en raya 3D. Además de la novedad de disputar la partida frente a dos oponentes, Funny Box presenta 27 casillas en lugar de las 9 tradicionales. Ahora podremos ganar alineando las fichas en cualquier dirección posible: horizontal, vertical, diagonal, pasando por el centro del cubo, etc. Por tanto, existirán múltiples formas de ganar la partida y muy pocas las partidas que acaben en tablas.
Desde esta web podrás, además de inscribirte en el torneo y descargar el juego, consultar las bases e instrucciones del juego y observar, en todo momento, tu posición en el ranking.
Podeis bajar el juego e inscribiros en el concurso en www.funnybox.es
22/06/2008
Post-procesador y Visor de demostraciones de ACL2
Mejorando la distribución de los guiones Perl
Estos días he estado curioseando sobre la forma de facilitar un poco la distribución de los conversores ACL2->XML y YAML->XML. Es cierto que ACL2::Procesador está mucho mejor que antes del Concurso, ya que al cambiar a una estructura basada en los módulos de CPAN, con un instalador creado mediante Module::Install, ahora se instalan todas las dependencias automáticamente al seguir estos pasos:
perl Makefile.PL
sudo make
make test
sudo make install
Esto le resultará muy familiar a cualquiera que haya compilado e instalado un proyecto de las autotools, pero hay un problema: CPAN no es a prueba de bomba, y el “sudo make” instalará no sólo los paquetes necesarios para ejecutar ACL2::Procesador, sino también los que hacen falta para compilar y depurar el módulo. Además, dos de estas dependencias de compilación son módulos XS, con lo que necesitan un compilador C, además de las bibliotecas y cabeceras que utilizan: libxml2 y libexpat. Para un desarrollador tampoco es gran cosa, pero pedir esto a un usuario medio… pues como que no es muy realista.
Con los paquetes Debian se facilita mucho la cosa, claro, pero ¿y si no estamos bajo una distribución basada en Debian, como openSUSE? ¿O si estamos en Windows? Algún usuario potencial en Windows habrá: al fin y al cabo, estoy usando Perl y Java, que por ir tendrían que ir como mínimo en Mac OS X también. No es cosa de cerrarme en banda, tampoco.
No tengo tiempo de hacer paquetes para todo lo habido y por haber, eso está claro. Pero simplificar se puede simplificar. Module::Install tiene dos módulos llamados Module::Install::Bundle y Module::Install::Include que supuestamente permiten incluir en las distribuciones de código las dependencias, pero no me funcionan en absoluto, la verdad.
Donde sí he tenido una grata sorpresa es con los módulos PAR y PAR::Packer. Cualquiera que haya utilizado Java y visto el acrónimo tendrá una idea (JAR = Java ARchive, PAR = Perl ARchive), me imagino. PAR permite crear ficheros .par que agrupan todos los módulos no estándar y bibliotecas necesarias para que nuestro program Perl funcione. Tras instalar PAR y PAR::Packer, ejecutaremos esta orden para crear el .par:
pp -p -o acl2-proc.par script/pprocACL2
Y ejecutarlo sólo requiere el módulo PAR (que es relativamente ligero, y en las Debian se halla disponible como libpar-perl) y Perl:
perl -MPAR acl2-proc.par (fichero Lisp raíz de la demostración)
Más fácil todavía: si no ponemos el -p, se crea no un .par, sino un ejecutable completamente autocontenido, que puede distribuirse sin necesidad de que el usuario instale nada previamente. El único problema es evidentemente el tamaño del ejecutable: pasamos de un .par de 75KB a un fichero de ~2.7MB. Esto es más interesante para la gente de Windows, sobre todo.
Obviamente, los .par son específicos de la plataforma en cuanto usemos un solo módulo que no sea Perl puro. Para ACL2::Procesador no es un problema, pero YAXML::Reverse sí que usa la biblioteca libyaml. Se pueden crear .par multiplataforma, acumulando los resultados de cada plataforma sobre el mismo .par, así:
pp -m -o yaxml.par script/yaml2xml
La verdad es que distribuir un fichero .par y poder olvidarte de CPAN es una alegría, qué más decir. Incluso existe la posibilidad de distribuir un único guión Perl y hacer que se “traiga” e instale el PAR de un repositorio bajo una URL, con el módulo PAR::Repository::Client, pero este módulo es bastante pesado: quizás sea conveniente para redistribuir código entre muchas máquinas que manejemos, pero no tanto para instalarlo en una máquina del usuario.
Mi idea es reunir en varios .tar.bz2 versiones de los conversores que puedan descomprimirse directamente sobre el directorio donde tengamos XMLEye, y que incluyan los .par o ejecutables monolíticos, los descriptores de formato y las hojas de estilo. Así resultará mucho más cómodo que como está ahora.

R4P
¡¡¡ Nos marchamos a Colombia !!!
Ya tenemos a R4P metidito en una caja de plástico listo para partir. Hoy domingo 22 cogemos el avión para Colombia. Salimos sobre las 16:00 y ya os diremos a que hora llegamos.
Iremos cubriendo la CP Colombia desde allí, ya veremos si desde esta dirección o desde un subdominio.
Aquí esta el robotillo listo para partir, esperemos que no nos digan nada en el aeropuerto. xD


Saludos Amigos!
19/06/2008
zenphp
Curiosidades del motor de rendering Gecko en Firefox 2 para GNU/Linux
Mostrando el infinito a través de iframes gracias a Gecko:
Firefox nunca deja de sorprenderme, a veces ocurren cosas extrañas como esta, en zenphp escribo una línea para depurar una consulta SQL y al mostrar el HTML, Firefox inventa una página nueva :D,dentro de un iframe y otra vez y así sucesivamente hasta el infinito, es un bug visual pero no consume recursos…impresionante…
Ahora que ha salido la versión 3 de este navegador imprescindible para algun@s
espero que los chicos de firebug tengan listo su módulo cuanto antes para mudarme alli…
ThoRo
Nuevos comandos
Hemos apliado los comandos con los que trabaja la parte hardware, y reestructurado gran parte de las DLL para poder ir ampliandolas (repositorio), en breve publicaremos un diagrama de clases para un mejor entendimiento.
Novedades
Sobre un motor:
*00# Avanza el motor derecho
*01# Retrocede motor derecho
*02# Para motor derecho
*05# Velocidad max
*06# Velocidad media
*07# Velocidad min
Sobre el otro motor:
*10# Avanza motor derecho
*11# Retrocede motor derecho
*12# Para motor derecho
*15# Velocidad max
*16# Velocidad media
*17# Velocidad min
Para tener la información de los sensores:
*20# , como respuesta a éste mensaje se enviarán 3 bytes
El primer byte:
Sensores ultrasonido:
Bit 0: Lee Ultrasonido derecho
Bit 1: Lee Ultrasonido frontal
Bit 2: Lee Ultrasonido izquierdo
Sensores infrarrojo:
Bit 3: Siguelineas derecho
Bit 4: Siguelineas izquierdo
Bit 5: Infrarrojo inferior
Sensores volumétricos:
Bit 6: PIR
Byte 2: Encoder derecho cuenta
Byte 3: Encoder izquierdo cuenta
18/06/2008
zenphp
Presentación: una introducción al ZEN y a Zen PHP

Gracias a los organizadores por publicar los vídeos de las presentaciones, el mio junto con el de los demás maravillosos proyectos se encuentran en:
Compártelo17/06/2008
Sistema integrado para el soporte a la docencia
Repaso de Frameworks
Hace tiempo ya hablé algo sobre los frameworks, han pasado unos meses y ahora que es el momento de utilizar alguno, creo que estaría bien, rehacer esa tabla con los frameworks más actualizados.
|
16/06/2008
QuiXo3D
De vuelta
Después de una cierta ausencia (más larga de lo esperado), vuelvo de nuevo a adentrarme en este mundo lleno de polígonos, tags y otras formas varias de tormento… Y esta vez procuraré utilizar el blog como bloc de notas, donde ir dejando constancia de todo lo que sucede. Aunque sólo sea por si luego me toca ir recorriendo hacia atrás el camino marcado por las miguitas de pan… ![]()

14/06/2008
Sistema integrado para el soporte a la docencia
Cambios en el editor y en los enunciados
Para facilitar un poco más la creación del editor, que realmente se ha vuelto más costoso de lo previsto y del objetivo de este proyecto, se ha asociado al editor con tipos de contenido. Esto es, asociar la clase editor con una clase content, que tendrá como hijos los distintos contenidos que se puedan meter a la hora de crear una pregunta. Éstos serán:
- Texto.
- Tablas.
- Imágenes.
- Fórmulas.
Cada vez que se cree contenido aparecera un diálogo para introducir información sobre esto y se irá añadiendo al editor como un elemento más de un HBox. Este cambio ha llevado también a redefinir la forma en la que se trabaja con enunciados, ahora el enunciado de una pregunta es una lista de contenidos, conllevando la realización diversos cambios en la capa de persistencia.

Cambios en los módulos
Hasta el momento, cada clase era un módulo, en Python esto significa, que tenía un fichero para cada clase. A causa también del Render y siguiendo el sentido común, los distintos tipos de clases, hijos de la clase Question, los he juntado con la clase Question, en un sólo módulo (fichero) formando el módulo Questions, por otro lado, he hecho lo propio con los subtipos de render para cada render, es decir, juntar en un fichero cada render (html, tex y gtk) con sus clases hijas (renders para cada tipo de pregunta).
De este modo, a parte de ser algo con mucho sentido, se evita la importación circular, o lo que es lo mismo que A importe a B y B importe a A. Esto ocurriría por las clases padres en estos casos actúan como fábricas, es decir construyen objetos de las clases hijos con los parámetros oportuno y se lo devuelven a aquellos que se lo piden.

Cambios en la capa de persistencia
Para hacer un poco más fácil y extensible la aplicación, y a raíz del desarrollo de los renders he creído oportuno modificar la forma de guardar y obtener los datos. Hasta el momento, la base de datos era muy sencilla, guardaba los datos mínimos de una pregunta, su nombre, su tipo, la ruta del fichero XML y poca información más. Esto obliga a que si quiero renderizar la pregunta, tenga que abrir el fichero XML parsearlo (estaba utilizando Amara hasta el momento) y esto es algo poco elegante y bastante lioso. Por lo tanto, la base de datos pasa a ser una correspondencia directa con la capa de dominio (algo así como seguir el patrón una clase una tabla) para así, obtener los datos directametne de la base datos y ahorrarnos el parseo del XML.
Sigo trabajando con SQLObject, cada día lo voy entendiendo mejor, ya permite herencia y además en la lista de correo son muy colaborativos ![]()

Aplicación del patrón Visitor
En este patrón participan un Visitor (nodo visitante) en el que normalmente se declaran de forma abstracta los métodos para visitar un elemento concreto en mi caso está clase será la clase Render. Después como hijos tenemos ConcreteVisitors (visitantes de distintos tipos) que implementan las operaciones declaradas en Visitor. En mi caso son DocHTMLRender, DocTeXRender y GTKRender. Estas clases tendrán además subclases para cada uno de los tipos de preguntas:
- Preguntas a desarrollar.
- Preguntas de elección múltiple con una o varias respuestas correctas.
- Pregunta de entrada de texto.
- Pregunta de elección en línea.
Otro participante es Element, que define una operación abstracta llamada Accept, en mi caso será la clase Question. Como hijos estarán los ConcreteElement, que implementan la operación Accept teniendo como argumento un visitor; serán los diferentes tipos de preguntas.
Por último, hay un ObjectStructure, que puede enumerar elementos concretos y facilita una interfaz de alto nivel que permite al visitante visitar sus elementos, en casos se puede tratar de un Composite. Este rol lo hará la clase Collection que serán listas de preguntas. De este modo, podremos previsualizar una o más preguntas.

11/06/2008
zenphp
Sistemas de etiquetas cíclicos para la web: buena idea, difícil implementación

La idea es crear una navegación única para cada usuario con la que vamos “barriendo” la web, usando los tags como cepillo: arrastra el polvo del contenido y nos quedamos con lo que interesa,gracias a un sistema cíclico de etiquetas clasificadoras.
Un sistema de etiquetas cíclico se basa en un sistema de etiquetas simple donde se dispone de una lista de n reglas de etiquetas (tags, cada una de una forma especial) que se aplican en un sistema de orden secuencial y después empiezan de nuevo por la primera regla.
En un sistema de este tipo, cada conjunto de reglas de etiquetas tiene una estructura especial donde es asociado un patrón a un usuario sólo si el primer elemento no es requerido, i.e., es independente del conjunto, entonces es borrado.
El lado oscuro del sistema

Sin embargo no todo es un camino de rosas, como suele pasar en los sistemas, se producen muchos problemas por el mal diseño del software y una pésima implementación puede hacer que un servidor web incluso se colapse…
Por ejemplo technorati usa un sistema de tags con 467 mil tags diferentes,cuando un típico diccionario puede tener alrededor de 75 mil entradas…la diferencia es impresionante, teniendo en cuenta que no todos los usuarios están utilizando realmente tags para clasificar sus artículos.
La parte oscura del sistema viene dado por los “memes”: si uso una cita o etiequeta específica en un artículo de mi blog o web, entonces, se conectará con otros artículos incluso de otros sitios, se crean vínculos…
Pero…sorpresa sorpresa!!, esto no funciona tan bien como se espera porque acabas creando subcomunidades que se estandarizan, pero que están navegando en contra de la dirección de otras subcomunidades.
Soluciones: usuarios y desarrolladores
En esta situación, ¿cuál de los dos grupos van a cambiar sus etiquetas retroactivamente?, o ¿es la persona que está navegando a través del sistema de etiquetas a partir de una serie de artículos la que debería saber acerca de esto y salirse del anillo a voluntad?
Con casi medio millón de etiquetas en una comunidad a la que le encanta progresar, quizás deberíamos replantearnos estas ideas y rediseñar nuestras aplicaciones…
Y ,pronto…¡la implementación!
Compártelo















