Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

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.

Des­de ha­ce un tiem­po quie­ro que ten­ga so­por­te de po­dcas­ts. El asun­to es que ... siem­pre me pa­re­ció mu­cho tra­ba­jo. Se­gu­ro, usan­do pho­non pue­do crear un re­pro­duc­tor de au­dio y eso, pe­ro­...

Es­toy usan­do un wi­dget HT­ML pa­ra mos­trar los pos­ts, así que ten­dría que en­con­trar una for­ma de agre­gar el re­pro­duc­tor a la in­ter­fa­ce y... mu­cho tra­ba­jo.

Hoy me des­per­té y pen­sé... es­pe­rá... El wi­dget HT­ML de Qt es­tá ba­sa­do en We­bki­t. Y we­bkit so­por­ta HT­M­L5. Y HT­M­L5 tie­ne un tag "au­dio­".

En­ton­ce­s, si hi­cie­ra que uR­S­Sus ba­ja­ra los li­nks de los en­clo­su­res, y los agre­ga­ra a la ba­se de da­to­s, y agre­go es­to al tem­pla­te de pos­t:

<?py for enclosure in  post.enclosures: ?>
  <audio autobuffer="Yes" controls="controls" src=#{enclosure.href}></audio><br>
<?py #end ?>

Eso no fun­cio­na­ría? Bue­no, sí!

urssus26

Y ahí es­tá, yo te­nia ra­zón en no im­ple­men­tar­lo, por­que la for­ma fá­cil de ha­cer­lo es de­jar que Qt lo ha­ga ;-)

Mi primer código python

En 1996 era in­mi­nen­te el año de Li­nux en el es­cri­to­rio, y esa fie­bre es­ta­ba im­pul­sa­da por una de las me­jo­res apli­ca­cio­nes open sour­ce de la épo­ca: Ly­X.

LyX era (es) al­go así co­mo un pro­ce­sa­dor de tex­to don­de uno es­cri­bía y ge­ne­ra­ba La­TeX, que des­pués pro­du­cía otra co­sa con la que uno im­pri­mía. Pe­ro me voy por las ra­ma­s, LyX es­ta­ba bue­no por­que usa­ba uno de los pri­me­ros toolki­ts bue­nos y li­bres: XFor­ms.

Bue­no, en rea­li­dad no era li­bre, por­que era só­lo pa­ra uso no co­mer­cia­l.

Y no era tan bue­no tam­po­co, pe­ro lo es­tá­ba­mos com­pa­ran­do con Mo­tif así que era mu­cho más li­bre y mu­cho me­jor que esa co­sa.

De pa­so: el úl­ti­mo re­lea­se de XFor­ms es de agos­to del 2009.

En ese mo­men­to, un yo de 25 años es­ta­ba ena­mo­ra­do de Py­thon 1.3. Así lo des­cri­bí:

Python 1.3

It's a beau­ti­ful ,free, lan­gua­ge. Get it from ftp://­ftp.­p­y­tho­n.org http://www.­p­y­tho­n.org

Sí, Py­thon 1,3. En­ton­ce­s, yo que­ría usar es­te toolkit en C que usa­ba LyX y es­te lin­do len­gua­je que es­ta­ba apren­dien­do, y que­ría usar las dos co­sas al mis­mo tiem­po.

Co­rrí (no ca­mi­né) has­ta mi fiel Sla­ckwa­re 3.0 ELF en mi 486­DX2 y em­pe­cé a ha­ckea­r. En un fin de se­ma­na te­nía al­go que an­da­ba.

In­clu­si­ve em­pe­cé a es­cri­bir el san­to grial de las apli­ca­cio­nes de es­cri­to­rio, una ver­sión GUI de Pi­ne, usan­do py­thon y su mó­du­lo IMAP (p­y­thon mai­le­r, o Py­M):

//ralsina.me/static/im1.jpg
//ralsina.me/static/im2.jpg

Li­be­ré la ver­sión 0.1 al­pha el 13 de ma­yo de 1996... y unos me­ses más tar­de Ma­tthias Ettri­ch em­pe­zó KDE, en­contré Qt y nun­ca más pen­sé en XFor­ms.

Has­ta es­te me­s.

Por mo­ti­vos que no vie­nen al ca­so, men­cio­né PyM en la lis­ta de co­rreo de PyAr el otro día y... bue­no, fun­cio­na­ría to­da­vía py­x­for­ms?

Y sí, fun­cio­na!

Me ba­jé los fuen­tes de py­x­for­ms-0.1-al­pha de al­gun lu­gar de la in­ter­ne­t, ins­ta­lé XFor­ms 1.0.9s­p2 (sí, el re­lea­se de ha­ce tres me­s­es), por su­pues­to que ya te­nía py­thon 2.6.4 ins­ta­la­do, hi­ce un se­tu­p.­p­y, edi­té 10 lí­neas de có­di­go y...

im1

Sí, fun­cio­na. Se pue­de ba­jar es­ta ver­sión 0.2 (nom­bre có­di­go "C­thulhu was he­re") aquí ape­nas 13 años des­pués de la 0.1.

No, no en­tien­do las es­qui­nas re­don­dea­das ex­tra­ña­s, ni por­qué el cur­sor se ve ra­ro y vie­jo cuan­do en­tra a las ven­ta­nas de la apli­ca­ció­n.

Es MUY chi­qui­to y rá­pi­do, eso sí.

Ho­nes­ta­men­te, es útil pa­ra al­guien? No creo. Me sor­pren­de que al­go que es­cri­bí en 1996 to­da­vía fun­cio­ne? Mu­cho­!.

24-hour app #1: Die Schere, un editor de video

Eso es por­que no sé qué es­toy ha­cien­do, y no lo di­go en el sen­ti­do de "no soy un buen pro­gra­ma­do­r" (aun­que eso es me­dio cier­to­), sino que li­te­ral­men­te no sé co­mo de­be ver­se la apli­ca­ció­n, o qué de­be po­der ha­ce­r.

Así que he de­ci­di­do em­bar­car­me en una se­rie de ex­pe­ri­men­tos que lla­mo "24-hour app­s".

És­tas son las re­gla­s:

  • De­­bo crear una apli­­ca­­ción li­n­­da, es­­ta­­ble, úti­­l, usa­­ble y de as­­pe­c­­to agra­­da­­ble.

  • De­­bo ha­­ce­r­­lo en me­­nos de 24 ho­­­ra­s. Des­­pués de ese tie­m­­po, de­­be al me­­nos ser di­g­­na de un pre­­view, si no un be­­­ta.

  • Esas 24 ho­­­ras se pue­­den di­­vi­­dir en dos o tres se­­sio­­­nes.

  • El tie­m­­po usa­­do ha­­cien­­do ico­­­no­­s, do­­­cu­­men­­ta­­ció­­n, etc, cuen­­ta.

  • To­­­do el de­s­a­­rro­­­llo de­­be ser pú­­bli­­co (es­­toy usan­­do gi­­thub).

  • De­­bo te­­ner un uso pa­­ra la apli­­ca­­ción pro­­­du­­ci­­da, y de­­be ser al me­­nos una so­­­lu­­ción ade­­cua­­da pa­­ra ese pro­­­ble­­ma.

En­ton­ce­s, ¿cual és el pri­mer pro­yec­to? lo lla­mo Die Sche­re (Las Ti­je­ras en ale­mán) y es un edi­tor de vi­deo.

No es un reem­pla­zo de kden­li­ve, es tan so­lo el edi­tor de vi­deo que me hu­bie­ra gus­ta­do te­ner cuan­do ne­ce­si­té pe­gar un pe­da­zo de un vi­deo con un pe­da­zo de otro.

El el an­ti­guo mun­do pre-­di­gi­ta­l, eso se ha­cía con un cu­tter y cin­ta sco­tch. Quie­ro que Die Sche­re sea al me­nos tan útil y com­pren­si­ble co­mo era eso, pe­ro útil pa­ra gen­te tor­pe co­mo yo.

Aquí hay un vi­deo des­pués de la se­sión de ho­y, que du­ró unas 8 o 9 ho­ra­s:

La fun­cio­na­li­dad bá­si­ca es­tá ahí, aun­que que­da mu­cho tra­ba­jo por de­lan­te.

  • Se pue­­den ca­r­­gar clips pa­­ra tra­­ba­­jar con ello­­s.

  • Se pue­­den co­r­­tar (co­­­mo con un cu­­tte­­r)

  • Se pue­­de ele­­gir el pun­­to de co­r­­te in­­te­­ra­c­­ti­­va­­men­­te o edi­­tan­­do un va­­lor tie­m­­po

  • Se pue­­den aco­­­mo­­­dar (co­­­mo con ci­n­­ta sco­­­tch!)

  • Se pue­­de ge­­ne­­rar el vi­­deo de sali­­da

Co­mo ba­ckend es­toy usan­do men­co­de­r, pe­ro no hay mo­ti­vo pa­ra que no fun­cio­ne con ffm­peg o melt si al­guien es­cri­be 20 lí­neas de có­di­go.


Contents © 2000-2024 Roberto Alsina