Software que se repara a si mismo
Autor: Juan Carlos García Tirado
Fecha: 30 Octubre 2009
El profesor de ciencias informáticas en la MIT Martin Rinard afirma sin ningun tipo de objeción que el objetivo de su investigación es crear un programa inmortal. Su grupo ha sido capaz de desarrollar un software capaz de encontrar y arreglar errores en el software en cuestión de minutos.
Cuando se descubre una debilidad en un programa de software se suele tardar un mes en encontrar la solución, según un informe realizado por la compañía Simantec. El grupo de Richard espera que su nuevo software llamado Clearview pueda acelerar ese proceso.
Clearview funciona sin necesidad de que lo maneje una persona. En vez de eso, el sistema hace un seguimiento del comportamiento de una binaria: la forma que toma el programa para ejecutar las instrucciones en el hardware de un ordenador.
Clearview es efectivo cuando se instala en varias máquinas que utilizan el mismo software. En ese caso, ClearView aprende de los errores de una máquina y lo usa para arreglar todas las otras máquinas. Debido a que no necesita acceder el código fuente, Rinard afirma que ClearView podría utilizarse para arreglar programas sin necesidad de cooperar con la compañía que lo creó.
Para poner a prueba el sistema, los investigadores instalaron ClearView en un grupo de ordenadores con FireFox y contrataron a un equipo independiente para atacar a dicho navegador. El equipo hostil utilizó 10 métodos de ataque distintos, y cada uno de los cuales consistía en introducir código malicioso en Firefox. ClearView bloqueó con éxito todos los ataques mediante la detección del comportamiento erróneo y cerró la aplicación antes de que el ataque hubiese podido lograr el efecto deseado.
Piensa en ruso y acertarás con la tecnolgía
Autor: Juan Carlos García Tirado
Fecha: 29 Octubre 2009
Estamos actualmente en una época en el que no nos podemos limitar con el ratón y el teclado como forma de comunicación con la computadora. Pantallas táctiles y controladoras basadas en gestos son cada vez más comunes y esto va a más, hay una empresa llamada Emotiv Sistems que ha creado un casco que lee la actividad cerebral y permite a los usuarios dirigir un juego con sus pensamientos.
Actualmente los investigadores de Microsoft están descubriendo formas distintas de interactuar con el ordenador. Este descubrimiento consiste en una serie de electrodos que permite leer el movimiento del antebrazo de cada persona y la actividad eléctrica de los diferentes músculos del brazo. Estas señales se correlacionan con gestos concretos como por ejemplo agarrar un objeto más fuerte de lo normal o tocar con un dedo y el pulgar juntos. Con esto, los investigadores preveén utilizarlo por ejemplo para cambiar de canción en un mp3 mientras se va corriendo o para jugar al Guitar Hero sin utilizar la carcasa de plástico normal.
Sin embargo este descubrimiento basado en la interacción no es nuevo, antes se había utilizado en músculos cercanos a zonas amputadas para controlar la prótesis mecánica. Conseguir gestos fiables del movimiento muscular es dificil, estas interfaces a veces se condicionan a la detección de una escala limitada de gestos y movimientos.
En este momento el interfaz más moderno que fue presentado en User Interface Software and Technology consta de seis sensores de electromigrafía y dos electrodos a tierra dispuesto en un anillo puesto en el antebrazo para el reconocimiento de la mano.
Los sensores no pueden interpretar la actividad muscular inmediatamente. Los programas informáticos deben estar preparados para asociar las señales electricas con gestos diferentes
” Pasamos mucho tiempotratando de averiguar como llegar al usuario y graduar el dispositivo de manera adecuada”, dice Desney Tan. El progama estudia las señales EMG y observa como el usuario realiza gestos de manera controlada.
Los algoritmos se centran en tres características de los datos EMG: La magnitud de la función muscular, la tasa de actividad de los musculos y los patrones de impulso sensorial de la actividad que atraviesa a traves de varios sensores. Estas tres características facilitan una forma bastante detallada de ciertos tipos de gestos. El software describe con exactitud los gestos el 85 por ciento del tiempo.
Pattie Maes, profesor de artes y ciencias en el MIT afirma ” Necesitamos desesperadamente nuevas interfaces como por ejemplo el nuevo desarrollado por Microsoft para una integración más fluida de la información digital”.

casco que lee actividad cerebral
Tan está trabajando actualmente con un modelo que utiliza una banda inalámbrica que se acomoda con facilidad en el brazo de una persona así como un sistema de formación muy rápido. Los investigadores están viendo si el sistema funciona perfectamente cuando la persona va andando o corriendo.
Por último Tan afirma que cuando se consiga lograr un control absoluto del cuerpo dara lugar a una forma distinta del manejo de las computadoras. ” Sabemos que tiene que ver con los gestos por ser móvil aunque estamos trabajando en el paradigma exacto”.
Estabilidad de las aplicaciones: Metodología que ayuda
Autor: Nacho Serrano Oña
Fecha: 18 Junio 2009
La importancia del ¿Cómo lo hacemos?
Desde nuestra experiencia, a lo largo de más de 9 años desarrollando software a medida, para todo tipo de empresas y organismos, nos hemos dado cuenta que existen varios pilares en donde se sustenta el éxito de un proyecto:
- El equipo humano, su formación y lo más importante, su actitud y motivación
- Las tecnologías elegidas para dar forma a la solución
- La propia definición del problema y el diseño de la solución, factor clave que debe ser atendido con la máxima atención por parte del equipo (cuando decimos equipo incluimos a nuestros clientes, que también forman parte de la solución aportando la experiencia y el conocimiento de sus propios procesos). Si no trabajamos al principio, tendremos que trabajar al final… de forma incómoda, presionados y muy posiblemente incurriendo en retrasos que molestan a los clientes
- Lo más importante ¿CÓMO LO VAMOS A DESARROLLAR?. No es que todo lo anterior no tenga importancia, sino que hoy nos queremos detener un poco más en la metodología de desarrollo.
28 de Marzo de 2005 Primero de todo y antes de continuar, necesitas una herramienta de seguimiento y control de errores. Si no tienes una herramienta de este tipo instalada en tu organización, no hace falta que sigas leyendo porque todo lo que hagas no va a servir de nada. Puedes encontrar una justificación para implantar una herramienta de seguimiento y control de errores en el mi artículo “Seguimiento y control de errores“. Si has seguido leyendo es porque tienes una herramienta de seguimiento y control de errores.
La creación del equipo
El equipo debe estar formado por el grupo de programadores, el grupo de probadores (también llamados testers) y el líder del grupo, que podría ser el gestor o el programador jefe.
Los roles parecen obvios, los programadores arreglan errores, los probadores prueban la aplicación reportando errores y el líder del grupo es el encargado de que todo funcione como debe ser y no se desmorone.
- Programadores. Arreglan los errores, evidente, no? Es de vital importancia que los programadores solo arreglen errores que hayan sido introducidos mediante la herramienta de gestión de errores.
- Probadores. Aparentemente tendrían un solo cometido que sería la de probar la aplicación buscando errores, pero tienen otro que es igual o más importante que el primero que es el de verificar que los errores arreglados realmente se han arreglado. Esto ocurre porque un porcentaje de los errores que los programadores arreglan no terminan de estar bien arreglados, errores en la reparación de errores. (diabólico pero cierto)
- Líder del grupo. Es una pieza clave en este proceso. Por un lado es el que conduce las reuniones SCRUM, realizando la tarea de facilitador del grupo, procurando que todo el mundo pueda realizar el trabajo lo mejor posible. Por otro lado es el encargado de priorizar los errores, es decir, indicar qué errores son más importantes y por consiguiente se repararán en primer lugar.
Priorizar los errores
Cuando los probadores empiezan a reportar errores, aparecen errores de todo tipo, desde el error que cuelga la aplicación o peor, todo el equipo, hasta el error de que le falta una tilde a tal o cual palabra.
Como nuestro objetivo es estabilizar la aplicación lo más rápidamente posible (véase el título del artículo), lo primero que haremos es indicar a los probadores qué criterios tienen que seguir para priorizar los errores.
Nosotros como líderes del equipo y responsables del proceso repasaremos las prioridades de los errores para verificar que han sido introducidas correctamente y modificaremos las que sean necesarias.
Podríamos establecer muchos tipos de clasificación de errores pero como lo que nos interesa es la estabilización de la aplicación, estableceremos por ejemplo la siguiente clasificación.
| Bloqueantes | Errores que impiden que se siga probando o se sigan arreglando errores, es decir errores que impiden seguir trabajando al equipo. |
| Críticos | Errores de tipo cuelgue de la aplicación, cuelgue del sistema, errores de programación no controlados, etc… |
| Normales | Mal funcionamiento de la aplicación, es decir, la aplicación no hace lo que debería hacer. |
| A partir de aquí no importa mucho para la estabilización de la aplicación pero son útiles para la mejora de la misma. | |
| Estéticos | Fallos ortográficos o estéticos como alineación de botones, capitalización de títulos. |
| Mejoras | Sugerencias, mejoras de usabilidad, etc… |
Reuniones SCRUM
Estas reuniones se llevan a cabo hasta que el proyecto está listo para ser lanzarlo al mercado o puesto en producción. Se han de realizar todos los días antes de empezar a trabajar a primera hora de la mañana si es posible.
Primera Reunión
- Explicar al equipo cómo se va a trabajar. Se hace una breve introducción de cómo son este tipo de reuniones, reuniones cortas, no son reuniones para solucionar problemas, tan solo para coordinar trabajo. Si existe algún problema que impida trabajar se expone, para solucionarlo, pero no el trabajo en si. Tienen que servir para organizar no para resolver. Si hace falta una reunión para resolver alguna cuestión relacionada con los errores, se hace después, ya que posiblemente no hace falta que estén todo los miembros del equipo.
- Establecer los criterios para priorizar los errores. Se explica a todos cuál será el criterio para clasificar los errores, basándonos en la tabla anteriormente mostrada.
Primera reunión y siguientes
- ¿Qué es lo que se hizo desde la última reunión? Como las reuniones son diarias no habrá mucho que tratar, es importante destacar que sólo el trabajo que se hizo para la consecución del objetivo es válido. Todo lo demás se verá como un impedimento al objetivo.
- ¿Qué es lo que se va a hacer hasta la siguiente reunión? Es muy importante que quede claro que al salir de la reunión todo el mundo sabe lo que tiene que hacer, y todos están alineados en la misma dirección. La dirección que queremos seguir está clara, estabilizar la aplicación lo antes posible. Para lo cual corregiremos siempre los errores por prioridad, corrigiendo primero los bloqueantes que impiden que el equipo trabaje y seguidamente los críticos que provocan que la aplicación se estrelle.
Mucha gente no sabe organizarse y pierde el tiempo en cosas poco importantes, estas reuniones también sirven para organizar la agenda diaria de cada miembro del equipo y asegurarnos de que todos tienen el mismo objetivo. - ¿Cómo se va a llevar a cabo? Todo el mundo tiene claro cómo va a hacer lo que tiene asignado, es el momento de que surjan a la luz todos los problemas que tienen las personas para la realización de su trabajo. ¿Existe hay necesidad de máquinas, personas, recursos o tiempo? Si es así el facilitador tiene la obligación de conseguir o si no es posible buscar otras formas de satisfacer esas necesidades.
La finalidad de las reuniones SCRUM es alinear a todas las personas en la misma dirección y sacar a la luz los problemas e impedimentos que hay para conseguir el objetivo.
El éxito de este sistema se basa en arreglar los errores por prioridades, los errores críticos hacen que la aplicación sea más difícil de probar y por tanto no se pruebe bien. Además de bajar la moral del equipo, así que cuánto antes los eliminemos mejor.
Es tu obligación como líder del grupo y responsable de la estabilización de la aplicación que se mantenga esta norma lo más estrictamente posible.
Es muy importante también que no se añadan funcionalidades ni mejoras hasta que la aplicación esté estable, la razón es que podemos multiplicar los errores fácilmente si realizamos modificaciones sobre aplicaciones inestables.
Resumiendo, las claves de este sistema son:
- Priorizar la resolución de errores
- Mentalidad de equipo, mismo objetivo
- Organización del trabajo
Nace la asociación AIEI para ayudar a crear negocios en la red
Autor: Nacho Serrano Oña
Fecha: 11 Junio 2009
Seis empresarios que sobrevivieron a la crisis de las puntocom y que han logrado el éxito en la red son los impulsores de la Asociación de Inversores y Emprendedores de Internet (AIEI). Su objetivo: asesorar y ayudar a los emprendedores a triunfar en la red.
Sólo el 5% de las iniciativas empresariales creadas para operar exclusivamente en Internet sobreviven el primer año. Con esta realidad en la mano, seis jóvenes empresarios que sobrevivieron y salieron fortalecidos de la crisis de las puntocom han decidido crear la Asociación de Inversores y Emprendedores de Internet (AIEI). Los seis están convencidos de que la experiencia vale para algo, y con esa idea se han marcado como meta asesorar y ayudar a otros emprendedores a triunfar en Internet.
“Queremos dinamizar el mercado de Internet y apoyar, a través de nuestro expertise y Know-How, a aquellos que quieren emprender en este escenario”, explicó Yaho Arbeloa, uno de los socios fundacionales y consejero delegado de Sync, empresa dedicada al hosting y al desarrollo web. Según coincidieron todos, el objetivo de la asociación es realizar una labor de consultoría gratuita en forma de reuniones mensuales con distintos emprendedores en las que se les aconsejará acerca de modelos de negocio, público objetivo, infraestructuras tecnológicas, contenidos, formas de rentabilización, herramientas de marketing que ayudan a asegurar el éxito… “Todos ellos elementos tremendamente importantes para ejecutar con éxito un proyecto en Internet”, dijeron.
La nueva asociación tampoco olvida la ayuda financiera y colaborará con los emprendedores en la búsqueda de medios y establecimiento de rondas de financiación. “Nuestra capacidad de networking es muy valiosa, puesto que llevamos mucho tiempo en Internet”, apuntó Ángel María Herrera, otro de los socios y consejero delegado de la librería online Bubok.com. Además, los promotores de la asociación tampoco descartan invertir ellos mismos en algunos proyectos. En este sentido, Arbeloa recordó que algunos de los impulsores de la AIEI ya han funcionado como inversores.
Los socios de la iniciativa contaron que la situación ha cambiado mucho desde el boom de las puntocom. “En aquella ocasión los bancos e inversores invirtieron millones de euros con los ojos cerrados en iniciativas de dudosa viabilidad en un mercado que se estaba inventando a sí mismo. Ahora, la financiación sólo llega a los proyectos disruptivos”, subrayó Alejandro Suárez, consejero delegado de del Grupo Publispain, de la red de blogs de Ocio Networks y socio fundador de Yes.fm. Este experto aseguró que la clave no sólo está en tener una idea realmente innovadora: “La idea está demasiado mitificada; la ejecución es la clave”, continuó, subrayando así lo importante que es crear este marco de conocimiento y experiencias para contribuir a reducir radicalmente el índice de proyectos fallidos en Internet.
Los promotores de la AIEI también aclararon que la asociación nace para cubrir el vacío derivado de la inexistencia de una agrupación empresarial relevante dentro del sector Internet. “Con la iniciativa pretendemos que este sector se consolide y reciba inversiones con más convicción del mundo offline. También queremos mostrar que en esta industria haya negocio, puestos de trabajo; queremos transmitir fuera que en Internet hay modelos de negocio sostenibles y rentables”, continuó Arbeloa.
La nueva asociación está constituida, además de por los citados Arbeloa, Herrera y Suárez, por José Antonio Paunero, consejero delegado de Tupagoseguro.com; Ismael El-Qudsi, responsable de New Media de Havas Digital, y Eneko Knörr, consejero delegado de Ideateca. La AIEI está abierta a nuevos socios.
Autor: Marimar Jiménez
FUENTE | El País Digital
La UE propone que el software tenga garantía
Autor: David Lumbreras
Fecha: 9 Junio 2009
as comisarias europeas Viviane Reding y Meglena Kuneva han propuesto que el software tenga la misma garantía obligatoria de dos años que el resto de bienes de consumo.
Actualmente, los minoristas no están obligados a ofrecer un reembolso por un videojuego que tenga un error que impida al usuario completarlo. Si la propuesta se convierte en ley, esta situación cambiaría, en tanto que los usuarios tienen derecho “a obtener un producto que funcione correctamente en unas condiciones comerciales justas“:
“La situación actual, donde los productos con licencia están exentos de la legislación de la UE, no es satisfactoria.Por un lado existe el riesgo de abuso, pero por otro, esa no es una razón suficiente para decidir que la protección de los consumidores no deba aplicarse”.
Francisco Mingorance, portavoz de la BSA (Business Software Alliance) comenta al respecto:
“El contenido digital no es un bien material y no debe estar sujeto a las mismas leyes de responsabilidad que la tostadoras. Está licenciado contractualmente, no se vende a los usuarios.Estos contratos se rigen por el derecho civil, que proporcionan a los consumidores multitud de oportunidades para incumplir el contrato. No tenemos conocimiento de ninguna deficiencia en el marco legal actual con respecto a los contenidos digitales.”








