Advertisement
Bienvenido a Squishdot Reportes Anuncios Debian Ciencia Linux
 principal
 nivel superior
 enviar artículo
 buscar
 administrar
 acerca de ...
 rdf
 rss
 main


Reporte 24-X-08
Reportes Posted by ernesto on Friday October 24, @02:26PM el 2008
from the dept.

Hola,

Finalmente a tiempo (con agradecimientos a mi vacaci�n de dos semanas), he aqu� mi reporte semanal.


Terminado:

  • Ya est� en Sourcefourge la primera versi�n del mundito con sonido de fondo. El audio es extremadamente sencillo (pensarlo como Hola Mundo). Para escuchar todo el sonido es importante reproducir el audio en est�reo (ya que hay una voz paneada a la izquierda y otra a la derecha). Si su compu es monoaural, la soluci�n son aud�fonos. Para lograr el sonido de fondo, fue necesario utilizar threads (aunque a�n de manera muy rudimentaria). Adem�s del apartado sobre threading del tutorial de Python y el manual de librer�as, he aqu� las p�ginas que consult� para entender threads:

La m�s clara

La buena

La mala

La fea

  • Tengo tres envolventes distintas para cuando se instanci�n varios agentes.

En proceso:

  • Pulir el sonido de fondo.

Pendiente:

  • Ligar una de las envolventes arriba mencionadas al agente que se instancia en la versi�n actual.
  • Subir el "how to" para instalar Csound.


Reporte 31-X-08 | Acuerdos de ayer  >

 

Related Links
  • Articles on Reportes
  • Also by ernesto
  • Contact author
  • The Fine Print: The following comments are owned by whoever posted them.
    ( Reply )

    Re: Reporte 24-X-08
    by jergas on Saturday October 25, @05:57AM

    Hola Ernesto,

    Pues bien, hice un co para correr tu nuevo codigo, pero no recuerdo cual archivo era el demo. (Disculpa mi falta de memoria, pero en el ultimo mes casi no he estado enlinea.)

    Ahora bien, le pedi "svn info -r 43" y me dijo:

    Path: birdcage
    URL: https://ouroborus.svn.sourceforge.net/svnroot/ouroborus/birdcage
    Repository Root: https://ouroborus.svn.sourceforge.net/svnroot/ouroborus
    Repository UUID: b2e75cc2-c23a-0410-bd76-b3583853a6a7
    Revision: 43
    Node Kind: directory
    Last Changed Author: el_erno
    Last Changed Rev: 43
    Last Changed Date: 2008-10-24 13:48:55 -0500 (Fri, 24 Oct 2008)

    Se me ocurre, dado lo exhaustivo de esa info, que probablemente no pusiste un comentario sobre que cambios hiciste. Si lo pusiste y no se verlo, de antemano me disculpo. Si no lo pusiste, dejame ahondar, se pone para que si alguien necesita hacer un rollback, un merge o algun otro cambio (buscar un bug), o simplemente saber que hay de nuevo, pueda verlo. El comentario debe ser muy corto (generalmente un oneliner), del tipo "hice fulano cambio a xutano archivo".

    Bueno, en cualquier caso, soplame el nombre de tu ultimo demo porfas, y si se invoca de algun modo especial (mas alla del hartante "build_ext --inplace" que quisieramos quitarnos de encima).

    Finalmente, aqui esta el articulo que te prometi sobre reportar bugs. No creo que sea la biblia, y Simon Tatham suele tener opiniones muy fuertes sobre las cosas, pero creo que es una discusion muy buena y completa del tema, escrita por un muy buen programador que tiene decadas manteniendo paquetes usados por varia banda.

    Un Abrazo, la Jerga que ama los reportes

    PS Mi navegador ya no despliega bien tus acentos ni en Western, ni en Unicode. Que encoding estas usando? Desde que maquina reportas? Hay otros posts que no muestran esa peculiaridad.


    [ Reply to this ]
    • Re: Reporte 24-X-08
      by ernesto on Saturday October 25, @06:54AM

      Hola,

      Mi código es llamado desde main_sequence.py, así es que si la corres, escucharas el nuevo demo. No estoy subiendo nada que no esté ya ligado al Mundito, así es que, en general, con correr el Mundito debes escuchar mis avances.

      Respecto a los comentarios, los puse para todos y cada uno de mis archivos. Sin embargo, lo hice mal pues no se adjuntaron. Después traté de agregarlos retroactivamente, pero sin éxito. Van dos commits que hago sin comentarios y entiendo la gravedad -sobre todo a largo plazo- de no hacer ese tipo de comentarios. Una disculpa por el error reiterado. Voy a experimentar con un archivo de la carpeta "csound" para que no haya fallo la próxima vez que actualice algo.

      Gracias por el texto sobre reportar bugs. Le di una "lectura acelerada" (sin estar entrenado para ello) y se ve interesante ya le daré el tiempo que requiere...

      Finalmente, una disculpa por los caracteres raros. Normalmente reporto desde la Mac, que está en UTF. Ahora lo hice desde Debian, pero no tengo ni idea de que protocolo tenga asignado. Ya me hice una nota para hacer los cambios pertinentes cuando la prenda.

      Un abrazo,

      Ernesto


      [ Reply to this ]
    • Re: Reporte 24-X-08
      by ernesto on Saturday October 25, @07:11AM

      Mmm. Otra vez mal las cosas solo checando que el error sea mío:

      árbol único ungüento camión nadé comía eñe


      [ Reply to this ]
    • Re: Reporte 24-X-08
      by ernesto on Monday October 27, @01:32PM

      Hola,

      Pasé la tarde tratando de hacer un log post-commit, pero sin éxito. Parece que tengo que hacer un "pre-revprop-change hook". Desafortunadamente, no entendí como hacer tal cosa, además de parecer una operación delicada. En su lugar, he aquí una lista de los cambios hechos para la versión 43 (afortunadamente los logs si se guardaron en el autocomplete de mi svn-gui):

      • spectral_amplitudes.py: Limited maximum amplitudes to avoid samples out of range.
      • main_sequence.py: Plugged the background sound threads to the module.
      • Csound_Interfase.py: Corrected a minor bug.
      • Background_sound.py: NewModule! Adds (for now, extremely rudimentary) background sound to the simulation.

      Nuevamente, perdón por tronar el sentido histórico del mundito. Sabes de alguien que me pueda ayudar a reparar el daño? Saludos,

      Ernesto


      [ Reply to this ]
      • Re: Reporte 24-X-08
        by jergas on Thursday October 30, @08:25AM

        Noop, ni idea, ni se que sea eso, ni como se coma.

        Gunnar, Vic, uds. saben como agregar los comentarios al subversion despues de hacer la operacion (commit, por ejemplo)? Porfas respondan pronto, si saben, y si no tambien digan que no saben pa no estar esperando.

        Mira, sugiero que si te pica mucho la curiosidad o responsabilidad le des una buscadita, pero no te claves, no se puede ser experto en todo, y no conviene que pierdas tiempo superandote mas aya de lo necesario en tu dominio del subversion, nomas asegurate que sabes hacer los comentarios cuando realizas cualquier operacion, pa que no siga sucediendo. Una manera facil de hacerlo es no usar el GUI. Entiendo que es monsergoso aprenderse los comandos en linea de comandos, pero es mas universal, y a veces, como ahora, mas facil a la larga. El comando svn se porta igual o muy similar en un chingo de sistemas, y te da la chance de hacer ese comentario al vuelo. (Le puedes incluso configurar tu editor preferido, como nano, por ejemplo.)


        [ Reply to this ]
        • Re: Reporte 24-X-08
          by Víctor Martínez on Thursday October 30, @09:38AM
          Segun yo no es necesario, puesto que para eso uno puede ir viendo los logs, o si lo prefiere puede uno usar svn blame sobre el archivo que cambio. Por ejemplo, si quiero saber que se ha hecho sobre un archivo le puedo dar svn blame path/archivo y de ahi puedo sacar en que revision y que cosas modifico cada usuario.

          Añadir nueva información a un commit anterior, hasta donde yo se no es posible, puesto que la idea es que uno ponga que cosa hizo, pero tambien svn log permite ver que archivo trabajo uno en cada revision

          Por ejemplo en svn log --verbose icme.gwolf me permite ver todos los logs de archivos modificados, por ejemplo en mi caso me interesa una modificación que yo hice:

          r15 | vicm3 | 2007-05-14 19:35:33 -0500 (Mon, 14 May 2007) | 5 lines
          Changed paths:
          M /trunk/gen_site.pl

          Quite el ../style.css bueno mas bien el ../ para que al usar el
          post-commit me quede una web navegable... puesto que todo el contenido
          lo estoy poniendo en /var/www/html/icme/icme11
          Si quieren ver un hack feo /var/svn/icmeweb/post-commit


          [ Reply to this ]
          • Re: Reporte 24-X-08
            by ernesto on Friday October 31, @03:34AM

            Hola Vic,

            Una vez más gracias. Los logs (no subidos) están guardados en mi gui (esvn). Ya no la utilizaré para hacer commits por estar defectuosa en cuanto a subir el respectivo log. Dado que estoy aprendiendo como va el chisme este de svn, también guardé el archivo de diferencias. El problema sería para los demás. En fin, me imagino que perder "dos años de historia" no es tan grave. Una vez más, gracias por la pronta respuesta. Saludos,


            [ Reply to this ]
        • El que modifica la historia...
          by Gunnar on Thursday October 30, @10:29AM

          Está condenado a olvidarla. Subversion -y en general, todos los sistemas de control de versiones, aunque en los sistemas más modernos hay capacidades limitadas- no soportan modificar lo que ya subiste. Obviamente, no es imposible hacerlo - siempre puedes editar los archivos de la BD directamente. Pero no está soportado. Hay capítulos lamentables en la historia de la humanidad, pero ya es historia - no le muevas.


          [ Reply to this ]
          • Pero
            by Víctor Martínez on Thursday October 30, @10:52AM
            En la revision 44 puedes añadir los cambios que hiciste, tal vez con solo recordar que archivos modificaste:

            vicm3@avalon:~$ svn --verbose log -r 43 https://ouroborus.svn.sourceforge.net/svnroot/ouroborus/birdcage
            ------------------------------------------------------------------------
            r43 | el_erno | 2008-10-24 13:48:55 -0500 (Fri, 24 Oct 2008) | 1 line
            Changed paths:
            A /birdcage/Background_sound.py
            M /birdcage/Csound_Interface.py
            M /birdcage/main_sequence.py
            M /birdcage/spectral_amplitudes.py

            nomsg
            ------------------------------------------------------------------------
            vicm3@avalon:~$

            Y si haces un diff del 42 con el 43 casi seguro que te das una idea de que cambios se hicieron, por ejemplo:

            vicm3@avalon:~$ svn di -r 42:43 https://ouroborus.svn.sourceforge.net/svnroot/ouroborus/birdcage
            Index: spectral_amplitudes.py
            ===================================================================
            --- spectral_amplitudes.py (revision 42)
            +++ spectral_amplitudes.py (revision 43)
            @@ -8,7 +8,7 @@
            ##Generate and scale the maximum amplitudes of the note's partials
            -def amplitudes(distSpectrum, limit=25000):
            +def amplitudes(distSpectrum, limit=15000):
            spectAmps = []
            for x in distSpectrum:

            @@ -18,4 +18,4 @@
            - return scaledSpectAmpseToRange(spectAmps, 10, limit)
            \ No newline at end of file
            + return scaledSpectAmps
            Index: Csound_Interface.py
            ===================================================================
            --- Csound_Interface.py (revision 42)
            +++ Csound_Interface.py (revision 43)
            @@ -97,4 +97,4 @@
            perf.Stop()
            perf.Join()
            if __name__ == "__main__":
            - HelloWorld()
            + initCsound()
            Index: Background_sound.py
            ===================================================================
            --- Background_sound.py (revision 0)
            +++ Background_sound.py (revision 43)
            @@ -0,0 +1,39 @@
            +## Import the necessary built-in modules
            +import time, threading
            +## Import the necessary user-defined modules
            +from Csound_Interface import csoundNote, initCsound, perf
            +from Csound_Note import note
            +
            +## Variable to stop the threads' iterations. Will be changed externally (by main_sequence.py)
            +mainIterCycle = 1
            +
            +## Threading class for the background sound.
            +class backgroundSound1(threading.Thread):
            +
            +## Thread's run method.
            + def run(self):
            + while mainIterCycle == 1:
            + spectrum1 = note(110, 5, 0, .5, 1, 13)
            + while len(spectrum1) > 0:
            + partial1 = spectrum1.pop(0)
            + perf.InputMessage(partial1)
            + time.sleep(13)
            +
            +## Another threading class for background sound.
            +class backgroundSound2(threading.Thread):
            +
            + def run(self):
            + while mainIterCycle == 1:
            + spectrum2 = note(165, 5, 3, 1.3, 0, 17)
            + while len(spectrum2) > 0:
            + partial2 = spectrum2.pop(0)
            + perf.InputMessage(partial2)
            + time.sleep(17)
            +
            +## Background Sound's playback method.
            +def playback():
            + backgroundSound1().start()
            + backgroundSound2().start()
            +
            +if __name__ == "__main__":
            + playback()
            Index: main_sequence.py
            ===================================================================
            --- main_sequence.py (revision 42)
            +++ main_sequence.py (revision 43)
            @@ -1,13 +1,15 @@
            import GOD
            import curses

            -####Ernesto's edit
            -##Module(s) imported for sound purposes
            +#### Ernesto's edit
            +## Module(s) imported for sound purposes
            import time
            import Csound_Interface
            +import Background_sound
            print "Imported sound engine"
            +## Starts the sound server
            Csound_Interface.initCsound()
            -####End Ernesto's edit
            +#### End Ernesto's edit

            def main(stdscr):
            mary = GOD.Generator("kristos")
            @@ -31,17 +33,28 @@

            for i in range(avatars):
            mary.generateGenotype(seedCode.split(" "), biblos)
            -####Ernesto's edit
            - Csound_Interface.csoundNote()
            -####End Ernesto's edit
            +#### Ernesto's edit
            +## Plays a single note when an agent is instantiated.
            +#### Some latency issues have still to be dealt with.
            + Csound_Interface.csoundNote()
            +#### End Ernesto's edit
            magdalen.readBookOfLife(i, seedCode, 7, 1, (10,10))

            display = mary.generateDisplay(terra, size, stdscr)
            +#### Ernesto's edit
            +## Starts the background sound threads.
            + Background_sound.playback()
            +#### End Ernesto's edit
            # here cometh the main iteration cycle
            while magdalen.annum < doomsday:
            magdalen.iterateAutomaton()
            magdalen.iterateAgents()
            magdalen.refreshDisplay(display)
            +#### Ernesto's edit
            +## Changes a global within Background_sound.py. This causes the iteration of the background sound
            +# loops (and thus its threads) to end.
            + Background_sound.mainIterCycle = 0
            +####End Ernesto's edit

            return 1

            vicm3@avalon:~$

            Seguro que de ahi puedes ir revisando, 40 contra 41, 41 contra 42, 42 contra 43 y no creo que fuera descabellado añadir en la revision 44 un resumen de "estos son los cambios de las revisiones 40,41,42 y 43".

            Saludos.
            [ Reply to this ]
            • Re: Pero
              by ernesto on Friday October 31, @03:42AM
              Buena idea, en el próximo commit haré los comentarios retroactivos.

              [ Reply to this ]
          • Re: El que modifica la historia...
            by ernesto on Friday October 31, @03:39AM

            Hola Gunnar,

            A menos que el intrépido líder se oponga, creo que tu comentario será tomado por sabio (y adoptado). Gracias y saludos.


            [ Reply to this ]
    • De codificaciones y revisiones
      by Gunnar on Thursday October 30, @10:30AM
      Sí, quién sabe qué onda haya pasado con la codificación en cuestión... Ni la reconozco ni nada por el estilo. Cuando pasa desde una aplicación Web, además, no es algo -creo- que Ernesto pueda arreglar - La codificación va entre el navegador y el servidor (y el servidor dice que Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7) o entre el Apache/Zope y la BD, o en el camino de regreso.

      Respecto a los mensajes de la bitácora SVN, es más fácil que los consultes con «svn log» - Veamos si el squishdot no se come mi formato. Puedes revisar una versión específica: 0 (43)
      gwolf@mosca[5]/tmp/ouroborus$ svn log -r 43
      ------------------------------------------------------------------------
      r43 | el_erno | 2008-10-24 13:48:55 -0500 (Fri, 24 Oct 2008) | 1 line

      nomsg
      ------------------------------------------------------------------------

      O revisar varias:
      0 (43) gwolf@mosca[7]/tmp/ouroborus$ svn log -r 40:43
      ------------------------------------------------------------------------
      r40 | el_erno | 2008-09-25 11:01:51 -0500 (Thu, 25 Sep 2008) | 1 line

      Sound Enabeled when creature(s) instantiate
      ------------------------------------------------------------------------
      r41 | el_erno | 2008-10-14 10:33:31 -0500 (Tue, 14 Oct 2008) | 1 line

      nomsg
      ------------------------------------------------------------------------
      r42 | el_erno | 2008-10-14 10:35:24 -0500 (Tue, 14 Oct 2008) | 1 line

      nomsg
      ------------------------------------------------------------------------
      r43 | el_erno | 2008-10-24 13:48:55 -0500 (Fri, 24 Oct 2008) | 1 line

      nomsg
      ------------------------------------------------------------------------

      Y sí, el_erno mandó un mensaje cuando subió la rev. 40, pero desde esa hasta la 43, no pegó ningún mensaje.

      [ Reply to this ]
      • Re: De codificaciones y revisiones
        by ernesto on Friday October 31, @04:10AM

        A ver si este post no me contradice. El codificado de caracteres, como dices, debe ser entre el navegador y el servidor; y cunado escribo desde mi mac (OS 10.3.9) siempre aparecen mis caracteres correctamente. Sin embargo, ahora en Linux, apareció el primer comentario que escribí mal (aunque en el preview se desplegaba correctamente) pero los subsecuentes bien. Lo que hice entre el defectuoso y los que están correctos fue, en View->Character Encoding, cambiar de UTF-8 (mi default) a ISO-8859-1 y de regreso. Los siguientes mensajes (espero que éste incluido) se despliegan correctamente.En efecto, "view" no debería tener relación con "encode", pero parece tenerla. Ojalá esto sirva pera resolver el misterio.


        [ Reply to this ]
        • Urmf...
          by Gunnar on Friday October 31, @09:43AM

          Este mensaje parece que perdió lo UTF8. Puedes reconocer un texto que debería ser UTF8 pero está representado como Latin1 porque tiene "caracteres anchos" (esto es, los caracteres no-base ocupan dos o más posiciones), y el primero de estos es una à o algo cercano seguido de algún otro (o más en algunos casos) caracter "anormal". (¿qué significa cercano? Que su representación Latin1 comienza con 110 o con 1110. ¿Qué significa anormal? Que su representación en Latin1 comienza con 10. ¿En qué casos? En que estés representando caracteres que estén en los planos superiores de Unicode, aunque eso es muy poco frecuente y no debe preocuparte). http://es.wikipedia.org/wiki/UTF-8 http://es.wikipedia.org/wiki/Unicode


          [ Reply to this ]
          • Re: Urmf...
            by ernesto on Saturday November 01, @06:09AM

            Ya. Mi preocupación (y conocimiento) se limitaba a que los acentos diéresis, tildes y signos de interrogación y exclamación se desplegaran correctamente. Saludos


            [ Reply to this ]
        • Re: De codificaciones y revisiones
          by jergas on Friday November 07, @01:54AM

          No me parece tan raro que al cambiarle el
          View->Character Encoding
          escribas distinto, despues de todo, estas escribiendolo desde el mismo browser.

          Cuando yo le pongo unicode (utf-8), lo que tu escribes sale bien, pero el resto del squishdot sale mal. Prueba ponerlo en Western (ISO-8859-1) justo antes de empezar a escribir.


          [ Reply to this ]
          • Re: De codificaciones y revisiones
            by ernesto on Friday November 07, @02:46PM

            Chale. Según recuerda mi anal costumbre de apuntar tus peticiones, me habías dicho que lo deseado era unicode. En fin, western será.

            Ya que hoy ando con la piel tan delgadita (los deadlines de Paulina me tensan mucho), respondo lo que me parece raro: "ver" y "codificar" no tienen nada que ver. Aunque, claro, sería una pasada que hubiera que buscar en lugares distintos las opciones para codificar y decodificar los caracteres. En fin, si fuera por mi, "Character Encoding" estaría en el menú "Edit" y no en el "View".


            [ Reply to this ]
    • Re: Reporte 24-X-08
      by ernesto on Friday October 31, @06:45AM

      Hola,

      Los logs faltantes (correspondientes a las revisiones 41,42 y 43) están incorporados a la revisión 45. Una errata: donde dice "rev44" debe decir "rev45". La rev 44 está propiamente comentada. Saludos,

      Ernesto


      [ Reply to this ]

     
    The Fine Print: The following comments are owned by whoever posted them.
    ( Reply )

    Powered by Zope  Squishdot Powered
      "Any system that depends on reliability is unreliable." -- Nogg's Postulate
    All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©1999 Butch Landingin.
    [ home | post article | search | admin ]