Automágica: durante 2017 estoy trabajando bastante en Automágica, mi software para editar libros: Más información - Posts relacionados

Plug-in para gimp que genera constelaciones PSK

Este es mi primer plug-in para gimp. Es un plug-in para gimp escrito en Python de 150 líneas:

PSK Plug-in

Si en la opción numérica de la ventana anterior se elije 3 se obtiene esta imange:

8-PSK

Y si se elije 4 esta:

16-PSK

El código fuente puede obtenerse aquí.


El arte de Python-Fu (cinturón blanco)

Como parte de mi aprendizaje del lenguaje de programación Python y por la necesidad de generar automáticamente algunos dibujos, incurcioné en el milenario arte del Python-Fu.

Si querés conocer más sobre este acestral arte, seguí leyendo..

Script-Fu (un dialecto de Scheme) es el lenguaje original (además de C) utilizado para escribir plug-ins para Gimp (The GNU Image Manipulation Program). Actualmente se pueden escribir plug-ins en otros lenguajes como Perl, Tcl y.. Python

¿qué hay que tener instalado?

    <li>python (<code>apt-get install python</code> en Debian GNU/Linux)</li>
    
    <li>gimp (<code>apt-get install gimp</code>)</li>
    
    <li>pygimp (<code>apt-get install gimp-python</code>)</li>
    

    Los dos primeros programas suelen estar instalados en la mayoría de las instalaciones de GNU/Linux, el último no. Una verificación rápida puede hacerse ejecutando gimp y buscando la opción Python-Fu en el menú Exts.

    Script-Fu

    En http://www.jamesh.id.au/software/pygimp/structure-of-plugin.html se puede ver la estructura de un Script-Fu.

    Cuando gimp es ejecutado, busca los archivos ejecutables que se encuentran en $HOME/.gimp-x-y/plug-ins/. En el caso de los scripts en python, la función register() es ejecutada y cuando se acceda al plug-in mediante el menú especificado se ejecutará su función principal. Antención a esto: los archivos deben ser tener encendido el bit de ejecución (chmod +x hello-world.py).

    Otro tip: si algo no funciona como se espera, una forma de enterarse que pasó es ejecutar gimp desde una terminal (gimp --verbose) y leer en esta las distintas salidas que produce el programa (allí se van a escribir los errores que se produzcan en tiempo de ejecución).

    Links útiles

    [update: a pedido del público: hello-world.py]

    Pueden bajar hello-world.py para ver un ejemplo sencillo. Debería generar una imagen como esta:Hello Worldsalvo que cambien los parámetros ;-)



    Un día en el aeropuerto

    El otro día estuve en el aeropuerto despidiéndome de mis papás que se iban de viaje.

    En un momento me dieron ganas de usar el baño, así que fuí. A diferencia de otras veces en que había usado el baño, esta vez había dos guardas armados, uno de cada lado de la puerta. Cuando intenté entrar, uno me detuvo.

    "NO", me dijo. Nada más.

    Yo estaba en un apuro, a lo mejor por tomar mucho mate, por lo que volví a intentar entrar.

    Uno de los guardas me agarró fuertemente del brazo y gritó "NO" otra véz mientras me empujaba fuera del baño.

    Pregunté por qué no podía entrar. No respondieron. Corrí a otro baño en el aeropurto. Todos estaban custodiados por guardias.

    Estaba parado cerca de uno de los baños cuando ví a un hombre entrando sin problemas. El hombre entró caminando y los guardias ni siquera se movieron. Pensé que ahora sí podría usar el baño.

    Me empujaron tan fuerte que terminé sentado en el piso. No pude contenerme y dí un pequeño grito que llamó la atención de varias personas en el aeropuerto. Un hombre vino y me ayudó a levantarme.

    Le conté al hombre que no había podido usar los baños. Ricardo, así se llamaba el hombre, me dijo:

    "Por su puesto, no estás usando una camisa marca Armani".

    "'¡¿Qué?!" exclamé "¿necesito una camisa marca Armani para usar el baño?"

    "Si, bastante tonto, ¿no?"

    Cada vez que alguien necesita de tecnología propietara (camisas marca Armani) para acceder a un servicio o un producto, nosotros, los usuarios de tecnologías libres (remeras) nos sentimos así, incluso los usuarios de otras tecnologias propietarias (camisas marca Calvin Clain) se sienten así.

    Actualmente la Biblioteca Pública de Boston, como la FSF informó, está haciendo esto bloqueando el acceso a los audio-libros mediante una forma de Gestión de Restricciones Digitales (DRM) que requiere que uses un software propietario provisto por un único vendedor. Podés unirte a la protesta enviando una carta o chequeando tu librería local.

    Antes de irse, RIcardo me dió una hoja de papel que tenía unos dibujos. Luego de inspeccionarla me dí cuenta de que eran instrucciones así que las seguí.

    El resultado fué una especie de cuello que cuando me lo ponía sobre mi remera la hacía ver como una camisa marca Armani. Ahora si podía ir y usar el baño.

    Del lado de atrás de la hoja de papel había dos mensajes.

    Una decía que podía usar el cuello todo lo que quisiera (ya sea para entrar a baños o para verme bien en una cita); podía también leer las instrucciones, estudiarlas y cambiarlas para adaptarlas a mis necesitades (bárbaro por que mi cuellos es un poco grande); podía ir a la fotocopiadora y hacer tantas copias como quiciera; a esas copias podía regalarlas o venderlas, como quiera (incluso estaba pensando en poner mi propio puesto de venta de estos artículos); por último mis cambios también podía darlos a otros, podía publicar las instrucciones en un pizarrón en el aeropuerto así todos podrían hacerse sus propios cuellos (cuando fuí a hacer esto ví que las instrucciones ya estaban publicadas, pero usando servilletas que se podían conseguir en el bar, impresionante).

    Este es el equivalente al Software Libre como lo define la FSF.

    Todo estaba bárbaro hasta que leí la última parte, era una advertencia, no una condición impuesta por el buén Ricardo:

    "Bajo de actuales regulaciones del aeropuerto, usar este cuello es ilegal y castigado por la ley, tené cuidado."

    Este es el equivalente a la ley norteamericana que prohibe usar Software Libre para escuchar los audio-libros. Bastante tonto, ¿no?.

    Esta historia fué traducida del blog de Pupeno. Versión original (inglés).

    Aclaración debido a: :-)

    (14:54:58) adrianhector28@hotmail.com: che adonde se fueron tus viejos?

    (14:56:03) adrianhector28@hotmail.com: eso es mentira

    (14:56:16) adrianhector28@hotmail.com: yo entre con jeans y una remera pedorra en ezeiza y no me dijeron nada

    Es ficción :-D


    Historia de Trenes

    Hoy comiendo con unos amigos conté esta historia. Busqué en mi computadora y encontre, entre viejos back-ups, un archivo llamado Historia_de_trenes.txt que escribí hace varios años:

    La siguiente historia no nació en mi mente, sino que la leí en una revista de informática hace unos años, no la tengo en mi poder como para citarla o como para reproducir la historia textualmente, digamos que tiene la fidelidad al original de una historia contada de boca en boca.

    La historia solo tiene como fin sugerir que ciertas personas fueron más astutas que otras, y no es para nada una apología del delito. Cualquier similitud con la realidad es mera coinsidencia.

    Historia de Trenes

    Se encuentran en una estaci¢n de trenes 3 empleados de Micro$oft y 3 desarrolladores de Software Libre que se dirigían a un congreso sobre nuevas tecnologías. Los empleados de Micro$oft sacaron sus boletes, hicieron fila y vieron asombrados que los desarrolladores de Software Libre sacaban solo un boleto. Boquiabierta, los empleados de Micro$oft le preguntaron a los desarrolladores de Software Libre como harían para viajar 3 personas con un solo boleto, a lo que estos respondieron

    que ya verían. Una vez en el tren, los 6 personajes de esta historia se sentaron en el mismo vagón.

    Cuando el engargado de recoger los boletos se acercaba, los desarrolladores de Software Libre se metieron en un pequeño baño que había en el vagón. El encargado, al grito de: "Boletos por favor!", retiró los boletos de los empleados de Micro$oft y de otras personas que allí estaban, luego golpeó la puerta del baño, gritó: "Boletos por favor!", la puerta se entreabrió, y una mano con un boleto se asomó, el encargado tomó el boleto y se retiró. Al instante los desarrolladores de Software Libre salieron del baño. Fasinados con la estrategia, los empleados de Micro$oft decidieron hacer lo

    mismo en el viaje de regreso y así mostrarle a su jefe Bill, lo astutos que habían sido y que habían ahorrado el dinero de dos pasajes.

    En la estación de trenes de la ciudad donde se había realizado el congreso, se encotraron nuevamente los empleados de Micro$oft y los desarrolladores de Software Libre, los empleados de Micro$oft compraron un boleto, hicieron fila, y casi se caen del asombro al ver que los desarrolladores de Software Libre se incorporaron a la fila sin comprar ningún boleto,

    pero sin hacerles ningún comentario, dejaron pasar la esena, confiando en la desventura que sus antagonistas sufrirían; los 6 se sentaron en el mismo vagón y en seguida los empleados de Micro$oft se metieron en uno de los baños del tren, instantes después, uno de los desarrolladores de Software

    Libre se para, les golpea la puerta y grita: "boletos por favor!" :-)


    gnuplot

    El año pasado escribí una guía sobre este programa para el proyecto Gleducar, en la introducción decía algo que cuando lo leí reien me gustó:

    Los autores iniciales de gnuplot son Thomas Williams y Colin Kelly, quienes decidieron crear un programa que les permitiera visualizar las ecuaciones matemáticas de las clases de electromagnetismo y ecuaciones diferenciales. Ellos eran estudiantes igual que ustedes, se encontraron con un problema (ya que no contaban con una herramienta como esta) y le dieron una solución. Gracias a su generosidad, hoy está disponible para todos.

    Lo encontré en la web con el formato de media wiki (el sistema que usan en Wikipedia) -- muy lindo, gracias a quien lo haya pasado!! les dejo el link por si quieren leerlo http://wiki.gleducar.org.ar/wiki/index.php/Manual_GNUPlot



    Breve historia de la Cultura Hacker

    Encontré en la biblioteca del programa radial Red-Handed la traducción de este ensayo de Eric Raymond. Leí el original en inglés hace unos años y me gustó mucho, dejo el link para que puedan leerlo: http://g.1asphost.com/radiored/textos/historia-cultura-hacker.html

    Algunas de las personas que crecieron en la cultura de los Auténticos Programadores permanecieron en activo hasta bien entrados los 90. Seymour Cray, diseñador de la gama de supercomputadoras Cray, fue uno de los mejores. Se dice de él que, en cierta ocasión, introdujo de principio a fin un sistema operativo de su invención en una de sus computadoras, usando los conmutadores de su panel de control. En octal. Sin un solo error. Y funcionó.

    ...

    El MIT, aunque hizo uso de la PDP-10 como todo el mundo, tomó un camino ligeramente diferente; rechazó por completo el software de DEC para ella y construyó su propio sistema operativo, el legendario ITS, cuyo significado, Sistema de Tiempo-compartido Incompatible, da una pista bastante buena sobre la actitud de los hackers del MIT.

    ...

    Ken Thompson echó de menos el entorno Multics y comenzó a realizar pruebas, implementando una mezcla de sus características y algunas ideas propias en una vieja DEC PDP-7 rescatada de la basura.

    Otro hacker llamado Dennis Ritchie inventó un nuevo lenguaje llamado C para usarlo en el embrionario Unix de Thompson. Al igual que Unix, C fue diseñado para ser ameno, flexible y no imponer límites.

    ...

    Así estaban las cosas en 1980: tres culturas cuyos bordes se solapaban pero estaban agrupadas en torno a tecnologías muy distintas. La cultura de las PDP-10 y ARPANET, ligada a LISP, a MACRO, a TOPS-10, a ITS y al SAIL; la gente de Unix y C con sus PDP-11, sus VAXen y sus conexiones telefónicas rudimentarias, y una anárquica horda de entusiastas de los primeros microordenadores, decididos a acercar el potencial de las computadoras al pueblo.


    Fourier 2: new feature!

    Fourier es una pequeña aplicación que escribí cuando estudiaba Series de Fourier en la materia Comunicaciones de la facultad. hasta hoy sus principales características incluían: gráficas ondas cuadradas, trenes de pulsos y dientes de sierra; más la posibilidad de solapar gráficas para compararlas.

    Hoy publiqué en la casa de Fouier una versión mejorada que perminte, luego de graficar una señal compuesta por N armónicas, descomponerla en las N armónicas senoidales que la forman, y luego recomponer.


    El Derecho a Leer

    Este cuento lo leí por primera vez hace algunos años ya. El autor es rms, fundador del proyecto GNU.

    Este artículo fue publicado en el número de febrero de 1997 de Communications of the ACM (Vol. 40, Número 2).

    (de "El camino a Tycho", una colección de artículos sobre los antecedentes de la Revolución Lunar, publicado en Luna City en 2096)

    Para Dan Halbert el camino a Tycho comenzó en la universidad, cuando Lissa Lenz le pidió prestado su ordenador. El de ella se había estropeado, y a menos que pudiese usar otro reprobaría su proyecto de fin de trimestre. No había nadie a quien se atreviera a pedírselo, excepto Dan.

    Esto puso a Dan en un dilema. Tenía que ayudarle, pero si le prestaba su ordenador ella podría leer sus libros. Dejando de lado el riesgo de ir a la cárcel durante muchos años por dejar a otra persona leer sus libros, la simple idea le sorprendió al principio. Como a todo el mundo, se le había enseñado desde la escuela primaria que compartir libros era algo malo y desagradable, algo que sólo los piratas harían.

    Además, no había muchas posibilidades de que la SPA (la "Software Protection Authority", o Autoridad de Protección del Software), no lo descubriese. En sus clases de programación Dan había aprendido que cada libro tenía un control de copyright que informaba de cuándo y dónde fue leído, y quién lo leía, a la oficina central de licencias (usaban esa información para descubrir piratas, pero también para vender perfiles personales a otras compañías). La próxima vez que su ordenador se conectase a la red, la oficina central de licencias lo descubriría. Él, como propietario del ordenador, recibiría el castigo más duro, por no tomar las medidas adecuadas para evitar el delito.

    Lissa no necesariamente pretendería leer sus libros. Probablemente lo único que ella necesitaba era escribir su proyecto. Pero Dan sabía que ella provenía de una familia de clase media que a duras penas se podía permitir pagar la matrícula, sin pensar en las tasas de lectura. Leer sus libros podía ser la su única forma de terminar la carrera. Entendía la situación; él mismo había pedido un préstamo para pagar por los artículos de investigación que leía (el 10% de ese dinero iba a parar a los autores de los artículos, y como Dan pretendía hacer carrera en la universidad, esperaba que sus artículos de investigación, en caso de ser citados frecuentemente, le dieran los suficientes beneficios como para pagar el crédito).

    Más tarde, Dan descubrió que hubo un tiempo en el que todo el mundo podía ir a una biblioteca y leer artículos, incluso libros, sin tener que pagar. Había investigadores que podían leer miles de páginas sin necesidad de becas de biblioteca. Pero desde los años 90 del siglo anterior, tanto las editoriales comerciales, como las no comerciales, habían empezado a cobrar por el acceso a los artículos. En el 2047, las bibliotecas de acceso público eran sólo un vago recuerdo.

    Había formas de evitar los controles de la SPA y la oficina central de licencias, pero también eran ilegales. Dan había tenido un compañero de su clase de programación, Frank Martucci, que consiguió un depurador ilegal, y lo usaba para evitar el control de copyright de los libros. Pero se lo contó a demasiados amigos, y uno de ellos lo denunció a la SPA a cambio de una recompensa (era fácil tentar, para traicionar a sus amigos, a estudiantes con grandes deudas). En 2047 Frank estaba en la cárcel; pero no por pirateo, sino por tener un depurador.

    Dan supo más tarde que hubo un tiempo en el que cualquiera podía tener un depurador. Incluso había depuradores libremente disponibles en la red. Pero los usuarios normales empezaron a usarlos para saltarse los controles de copyright, y finalmente un juez dictaminó que ese se había convertido en su uso práctico. Eso quería decir que los depuradores eran ilegales y los programadores que los habían escrito fueron a parar a la cárcel.

    Obviamente, los programadores necesitan depuradores, pero en el 2047 sólo había copias numeradas de los depuradores comerciales, y sólo disponibles para programadores oficialmente autorizados. El depurador que Dan había usado en sus clases de programación estaba detrás de un cortafuegos para que sólo se pudiese utilizar en los ejercicios de clase.

    También se podía saltar el control de copyright instalando un núcleo del sistema modificado. Dan llegó a saber que hacia el cambio de siglo había habido núcleos libres, incluso sistemas operativos completos. Pero ahora no sólo eran ilegales, como los depuradores: no se podía instalar sin saber la clave de root del ordenador, cosa que ni el FBI ni el servicio técnico de Microsoft te darían.

    Dan llegó a la conclusión de que simplemente no podía dejarle su ordenador a Lissa. Pero no podía negarse a ayudarle, porque estaba enamorado de ella. Cada oportunidad de hablar con ella era algo maravilloso. Y el hecho de que ella le hubiese pedido ayuda podría significar que sentía lo mismo por él.

    Dan resolvió el dilema haciendo algo incluso más increíble, le dejó el ordenador, y le dijo su clave. De esta forma, si Lissa leía sus libros, la oficina central de licencias pensaría que quien estaba leyendo era él. Seguía siendo un delito, pero la SPA no lo detectaría automáticamente. Sólo podrían saberlo si Lissa lo denunciaba.

    Si la universidad descubriese que le había dado su clave a Lissa significaría la expulsión para los dos, independientemente de para qué hubiese usado ella la clave. La política de la universidad era que cualquier interferencia con sus métodos de control sobre el uso de los ordenadores era motivo para una acción disciplinaria. No importaba si se hubiera hecho o no algún daño, el delito era el hecho de dificultar el control. Se asumía que esto significaba que se estaba haciendo algo prohibido, y no necesitaban saber qué.

    En general los estudiantes no eran expulsados por eso -no directamente-. En su lugar se les prohibía el acceso a los ordenadores de la universidad, lo que inevitablemente significaría reprobar todas sus asignaturas.

    Dan supo más tarde que ese tipo de políticas en la universidad empezaron en la década de 1980, cuando los estudiantes comenzaron a usar ordenadores masivamente. Antes de eso, las universidades tenían una actitud diferente: sólo se penalizaban las actividades dañinas, no las que eran meramente sospechosas.

    Lissa no denunció a Dan a la SPA. Su decisión de ayudarle llevó a que se casasen, y también a que cuestionasen lo que les habían enseñado cuando eran niños sobre el pirateo. Empezaron a leer sobre la historia del copyright, sobre la Unión Soviética y sus restricciones sobre las copias, e incluso sobre la constitución original de los Estados Unidos. Se mudaron a Luna, donde se encontraron con otros que de la misma forma intentaban librarse del largo brazo de la SPA. Cuando empezó el Levantamiento de Tycho en 2062, el derecho universal a leer se convirtió en uno de sus objetivos fundamentales.

    Fuente:

    http://www.gnu.org/philosophy/right-to-read.html