[Butia-devel-list] FW: Cambios TurtleBots

Alan Jhonn Aguiar Schwyn alanjas en hotmail.com
Mar Abr 3 11:05:20 UYT 2012



Bueno.. la v137 de la Tortuga está lista!
Se viene TurtleBots 8..

Detalles:
Página web de la actividad:
http://activities.sugarlabs.org/addon/4027

Sugar Platform:
0.82 - 0.94

Descargar ahora:
http://activities.sugarlabs.org/downloads/file/27944/turtle_art-137.xo

Notas de la versión:
137

ENHANCEMENT:
* New help system inspired by Gonzalo Odiard's help in SimpleGraph 
(includes end run around #2633)
* Force standard palettes to appear before plugin palettes
* New mechanism for loading plugins from the Journal (with help from
Alan Jhonn Aguiar Schwyn)
* Toolbars too large to fit on the screen can be shifted
* Help, print, and status blocks expand to full width on wide screens
* New translations

BUG FIX:
* Fixed palette initialization problem for plugins using hidden blocks
* Fixed typo (#3330) in help string for NXT plugin
* Reverted some syntax changes to support old XO images still using Python 2.5
* Catch AttributeError when palette refresh fails
* Replace deprecated class commands with subprocess
* Fixed turtle inverted-color problem (#3396)
From: greisch en fing.edu.uy
To: butia-devel-l en fing.edu.uy
Subject: Re: [Butia-devel-list] Cambios TurtleBots
Date: Tue, 3 Apr 2012 01:31:00 -0300
CC: alanjas en hotmail.com; aguirrea en gmail.com; piegrande46 en hotmail.com; aricca8 en gmail.com; fandrade en fing.edu.uy; xxopxe en gmail.com; jopersr en gmail.com





TEMA1 => Grande Alan!
TEMA2 => Regrande Alan!
TEMA3 => si a lo de NO tener backcompatibility. Tener back solo agrega ruido, y termina siendo un dolor de cabeza! 
 
Discrepo en lo de "a futuro solo mantener los plugins actualizados y que cada uno baje lo que nesecite" ; para mi HAY QUE MANTENER UNA ACTIVIDAD "TurtleBots", ya que es mas comodo para los usuarios decirles que instalen una actividad donde todo ya esta mechado. Ademas a futuro habria que sacar de TurtleBots las paletas: "colores", la de crear "presentaciones" y LA DE TORTUGA! La paleta de tortuga NO deberia existir ; ya que es la tortuga virtual de la pantalla, deberia ser sustituida por la paleta butia "basica" osea (adelante, atras, derecha, izquierda) * Butia [Nota: Aplicar distributiva entre Butia y lo que esta adentro de los parentesis circulares]. Seguramente tambien aya alguna otra paleta que NO INTERESE para robotica.
 
PD: habria que ver alguna manera de organizar el orden de las paletas :-P
 
Saluds
 
On Lun 02 Abr 2012 20:58:01 Alan Jhonn Aguiar Schwyn escribió:
> Hola!
> TEMA 1:
> Como ya saben, sigo trabajando con el Tortuga para optimizarlo cada vez
> mas. Hice un branch nuevo llamado "all_to_poll" que como su nombre lo
> indica, tratade meter todo al "poll thread" (debería haberlo llamado
> all_to_thread). Cuando la tortuga inicia, carga cada plugin,  en el caso
> nuestro, llama al __init__ delplugin Butiá que se encarga de llamar al
> bobot y hacer otras tantas cosas. Estas muchascosas consumen mucho tiempo,
> y más en una XO 1.0. Por tal motivo, se me ocurrióllevar toda esa carga al
> thread para que el inicio sea mas rápido, y, mientras se cargan el restode
> las cosas, el thread va levantando el Lua y las otras cosas. Además, en
> lugar de llamar a os.system (deprecada?) utilizo: subprocessEsta función
> nos permite tener control absoluto sobre el proceso que llamamos. Ejemplo
> de llamada al bobot:
> bobot = subprocess.Popen(['./lua', 'bobot-server.lua'],
> cwd='./plugins/butia/butia_support') y al salir, hacemos un kill:
> bobot.kill()
> Y esto, lo mata o lo mata.. no queda colgado el bobot. Igualmente dejé la
> llamada al "ps ax"para controlar que ya no esté levantado (alguien puede
> tenerlo levantado, como por ejemplo,butialo). Voy a ver que otros cambios
> hago, pero esto baja el tiempo de inicio considerablemente.En un próximo
> mail les mando los times..
> 
> TEMA 2:
> Como algunos saben, y sino les cuento, con Walter venimos trabajando hace
> un tiempo en un sistema deimportación de plugins.Mirando el código de la
> Tortuga (y ya ni recuerdo el porque) me surgió la idea de aprovechar un
> viejosistema que usaba la Tortuga para importar "proyectos". Estos
> proyectos eran un .tar que contenía un archivo .ta con el código del
> proyecto y agregaba una captura del dibujo terminado.Cómo hacía la tortuga
> para abrir este tipo de archivos? Los descomprimía en una carpeta temporal
> y luego loabría.Ahi dije: listo, está todo hecho.. Hacer lo de los plugins
> es agregarle algunos detalles. Asi que le mandé un pequeño parche
> funcional con la idea básica: si es un .tar (o tar.gz) lo descomprime.
> Adentrochequea si existe un archivo "plugin" con la metadata del plugin,
> si existe, chequea por el nombre del plugin y encaso de encontrarlo, lo
> copia a la carpeta de plugins. Walter después le agregó todo tipo de
> validaciones y detalles, pero la idea sigue siendo esa.Algo que le agregó
> que está muy bueno, es que en mi primer versión, el plugin se copiaba y
> solo aparecía cuandoreiniciabas la actividad. Walter le agregó un import y
> con eso hacemos que el plugin se muestre inmediatamente,y no solo eso..
> queda completamente funcional! La estructura de un plugin es:
> pluginplugin_name/    icons/        ...    libs/       ...    __init__.py  
>  plugin_name.py Dentro de "plugin" creamos una metadata estilo .ini de
> windows :-) [Plugin]name=plugin_namepalette=palette_nameversion=1
> "name" es el nombre de la carpeta que contiene al plugin: el nombre del
> plugin"palette" es el nombre de la paleta/s que crea el plugin, Walter lo
> usa para chequear si ya existe la                 paleta o no. Se permite
> que un plugin cargue varias paletas, los nombres separarlos por
> comas."version" del plugin. Por ahora, no lo usamos. Pero en el futuro
> puede ser útil tener un versionado. Los plugins los podés bajar de la wiki
> de TurtleArt y te quedan en el Diario (Journal). Entrando a laTortuga y
> haciendo un "Cargar plugin" te habre el Diario y lo seleccionás y lo
> instala. Si uno va a labarra y se fija en las paletas, la paleta de ese
> plugin ya está cargada.. y todo esto se hace en menos de 2segundos! TEMA
> 3:
> Haciendo pruebas, con esto de los plugins, me encontré con un resultado
> interesante. Desde las primerasversiones de TurtleArt Butiá estamos
> agregando en la carpeta activity un archivo llamado permissions.info.Este
> archivo contiene solo una linea que dice "use serial" y era para que el
> rainbow (sistema de seguridad quetraía el Sugar 0.82) permitiera a la
> tortuga usar el serial.Esto ya quedó deprecado, y en las imágenes del
> LATU, tanto 0.88.1 como en la "nueva" dextrosa 2 (1b)esto es completamente
> innecesario. Ni que hablar que en el Sugar nuevo tampoco se necesita.Creo
> que tener compatibilidad con Sugar 0.82 es completamente innecesario, ya
> que máquinas conesa versión de Sugar son prácticamente inexistentes. Asi
> que resumiendo, con esto de los plugins, nuestra labor de TurtleBots puede
> llegar a su final.Posiblemente en el futuro, solo mantengamos los plugins
> actualizados. Y cada quién baje los plugins quequiera/necesite. Lo que
> falta implementar: borrar un plugin existente. Se aceptan sugerencias...
> Creo que no me olvido de decirles nada.. asi que..
> Saludos!
> Alan
  		 	   		   		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://www.fing.edu.uy/mailman/private/butia-devel-l/attachments/20120403/8c638798/attachment.html" 


Más información sobre la lista de distribución Butia-devel-l