Publicaciones sobre open source (publicaciones antiguas, página 3)
Yo sabía que no tenía que hacerlo, o como HTML5 y Qt hacen mi trabajo.
Desde hace un tiempo quiero que tenga soporte de podcasts. El asunto es que ... siempre me pareció mucho trabajo. Seguro, usando phonon puedo crear un reproductor de audio y eso, pero...
Estoy usando un widget HTML para mostrar los posts, así que tendría que encontrar una forma de agregar el reproductor a la interface y... mucho trabajo.
Hoy me desperté y pensé... esperá... El widget HTML de Qt está basado en Webkit. Y webkit soporta HTML5. Y HTML5 tiene un tag "audio".
Entonces, si hiciera que uRSSus bajara los links de los enclosures, y los agregara a la base de datos, y agrego esto al template de post:
<?py for enclosure in post.enclosures: ?> <audio autobuffer="Yes" controls="controls" src=#{enclosure.href}></audio><br> <?py #end ?>
Eso no funcionaría? Bueno, sí!
Y ahí está, yo tenia razón en no implementarlo, porque la forma fácil de hacerlo es dejar que Qt lo haga ;-)
Un tutorial (muy) rápido: QGraphicsScene y sus amigos parte 1
Mi primer código python
En 1996 era inminente el año de Linux en el escritorio, y esa fiebre estaba impulsada por una de las mejores aplicaciones open source de la época: LyX.
LyX era (es) algo así como un procesador de texto donde uno escribía y generaba LaTeX, que después producía otra cosa con la que uno imprimía. Pero me voy por las ramas, LyX estaba bueno porque usaba uno de los primeros toolkits buenos y libres: XForms.
Bueno, en realidad no era libre, porque era sólo para uso no comercial.
Y no era tan bueno tampoco, pero lo estábamos comparando con Motif así que era mucho más libre y mucho mejor que esa cosa.
De paso: el último release de XForms es de agosto del 2009.
En ese momento, un yo de 25 años estaba enamorado de Python 1.3. Así lo describí:
- Python 1.3
It's a beautiful ,free, language. Get it from ftp://ftp.python.org http://www.python.org
Sí, Python 1,3. Entonces, yo quería usar este toolkit en C que usaba LyX y este lindo lenguaje que estaba aprendiendo, y quería usar las dos cosas al mismo tiempo.
Corrí (no caminé) hasta mi fiel Slackware 3.0 ELF en mi 486DX2 y empecé a hackear. En un fin de semana tenía algo que andaba.
Inclusive empecé a escribir el santo grial de las aplicaciones de escritorio, una versión GUI de Pine, usando python y su módulo IMAP (python mailer, o PyM):
Liberé la versión 0.1 alpha el 13 de mayo de 1996... y unos meses más tarde Matthias Ettrich empezó KDE, encontré Qt y nunca más pensé en XForms.
Hasta este mes.
Por motivos que no vienen al caso, mencioné PyM en la lista de correo de PyAr el otro día y... bueno, funcionaría todavía pyxforms?
Y sí, funciona!
Me bajé los fuentes de pyxforms-0.1-alpha de algun lugar de la internet, instalé XForms 1.0.9sp2 (sí, el release de hace tres meses), por supuesto que ya tenía python 2.6.4 instalado, hice un setup.py, edité 10 líneas de código y...
Sí, funciona. Se puede bajar esta versión 0.2 (nombre código "Cthulhu was here") aquí apenas 13 años después de la 0.1.
No, no entiendo las esquinas redondeadas extrañas, ni porqué el cursor se ve raro y viejo cuando entra a las ventanas de la aplicación.
Es MUY chiquito y rápido, eso sí.
Honestamente, es útil para alguien? No creo. Me sorprende que algo que escribí en 1996 todavía funcione? Mucho!.
24-hour app #1: Die Schere, un editor de video
Eso es porque no sé qué estoy haciendo, y no lo digo en el sentido de "no soy un buen programador" (aunque eso es medio cierto), sino que literalmente no sé como debe verse la aplicación, o qué debe poder hacer.
Así que he decidido embarcarme en una serie de experimentos que llamo "24-hour apps".
Éstas son las reglas:
Debo crear una aplicación linda, estable, útil, usable y de aspecto agradable.
Debo hacerlo en menos de 24 horas. Después de ese tiempo, debe al menos ser digna de un preview, si no un beta.
Esas 24 horas se pueden dividir en dos o tres sesiones.
El tiempo usado haciendo iconos, documentación, etc, cuenta.
Todo el desarrollo debe ser público (estoy usando github).
Debo tener un uso para la aplicación producida, y debe ser al menos una solución adecuada para ese problema.
Entonces, ¿cual és el primer proyecto? lo llamo Die Schere (Las Tijeras en alemán) y es un editor de video.
No es un reemplazo de kdenlive, es tan solo el editor de video que me hubiera gustado tener cuando necesité pegar un pedazo de un video con un pedazo de otro.
El el antiguo mundo pre-digital, eso se hacía con un cutter y cinta scotch. Quiero que Die Schere sea al menos tan útil y comprensible como era eso, pero útil para gente torpe como yo.
Aquí hay un video después de la sesión de hoy, que duró unas 8 o 9 horas:
La funcionalidad básica está ahí, aunque queda mucho trabajo por delante.
Se pueden cargar clips para trabajar con ellos.
Se pueden cortar (como con un cutter)
Se puede elegir el punto de corte interactivamente o editando un valor tiempo
Se pueden acomodar (como con cinta scotch!)
Se puede generar el video de salida
Como backend estoy usando mencoder, pero no hay motivo para que no funcione con ffmpeg o melt si alguien escribe 20 líneas de código.