Skip to main content

Ralsina.Me — Roberto Alsina's website

Hello

Hel­lo, my name is Rober­to Alsi­na. You may know me from my ap­pear­ances in "KDE De­vel­op­ers in the Stone Age" and "PyQt pro­gram­mers gone wild".

On the oth­er hand, I am not:

  • Rober­­to Al­si­­na, who lives in Hous­­ton and is ac­­tive in the Ar­­gen­­tine ex­­pa­tri­ate com­­mu­ni­­ty.

  • Ama­­do Rober­­to Al­si­­na, paraguayan poli­ti­­cian.

  • Rober­­to Ariel Al­si­­na (a­­ka Rober­s­tor­m) who drives a mo­­tor­­cy­­cle.

  • Rober­­to Al­si­­na, puer­­tor­i­­can ar­chi­tec­t.

  • Rober­­to Al­si­­na, who lives in Vil­la Ale­m­ana and at­­tend­ed Cole­­gio Buck­­ing­ham.

  • Rober­­to Al­si­­na Ruibal, who I hope is wear­ing a wig.

  • Rober­­to Gon­za­­les Al­si­­na, who lives in Canelones. I on­­ly eat canelones.

  • The FEARED Rober­­to Na­­va Al­si­­na who, while on­­ly 15 years old, is scor­ing goals in some am­a­­teur league some­where.

  • Rober­­to Le­bron Al­si­­na (I have slight­­ly more hair)

  • Rober­­to An­­to­nio Gómez Al­si­­na, ac­­tivist against bul­l­­fight­­ing

Hope­ful­ly, this will clear things up. Thanks for read­ing.

Re-Editar Drácula: Proyecto que me gustaría que alguien agarre.

This post makes no sense in en­glish, so span­ish on­ly!

Drácu­la es un li­bro muy par­tic­u­lar. Casi to­do el mun­do cree que sabe de qué se trata, pero en el 90% de los ca­sos no es así. O sea, sí, saben que es de un vam­piro, blabla.

Lo que no saben es na­da del li­bro. Saben de las pelícu­las, del es­pe­cial de Scoo­by Doo, de­los chistes de vam­piros, y cosas así, pero el li­bro en sí, no lo han leí­do.

¡Y es una lás­ti­ma! Es un li­bro muy in­tere­sante. Para la época que se pub­licó, tiene un es­ti­lo dinámi­co y poco ver­bor­rági­co. Es­tá lleno de ac­ción, es­ce­nas mem­o­rables (no es raro que se hayan he­cho tan­tas pelícu­las), per­son­ajes in­tere­santes. ¡Y enci­ma es un li­bro tec­nó­filo! No es una lec­tura forza­da leer Drácu­la co­mo una mi­cro-­ex­pre­sión de la lucha en­tre la cien­cia y la téc­ni­ca pos­i­tivista con­tra la cul­tura me­dieval reac­cionar­i­a, o cosas así.

Y en­ton­ces, cuan­do el otro día ví, en Work of Art (un re­al­i­ty), a un­os dis­eñadores crear tapas para Drácu­la, se me ocur­rió:

Edite­mos Drácu­la

Agar­remos el orig­i­nal, que es de do­minio públi­co, hag­amos una tra­duc­ción mod­er­na, hag­amos ebook­s, y quién te dice, una edi­ción en pa­pel. Re­galé­mosle a la gente la posi­bil­i­dad de leer una ver­sión mod­er­na de este li­bro buenísi­mo. Una tra­duc­ción que no sea cas­ti­za, ni dé vergüen­za hablan­do de "esto­fa­do con pol­vo de pimien­to ro­jo" si no que di­ga goulash, o por lo menos "esto­fa­do con pa­prika".

Yo ten­go un po­quito de can­cha ha­cien­do type­set­ting de li­bros. Se­guro que se puede con­seguir ilustrador/a/es co­pado/a/as/os para la tapa, tí­tu­los (¡o para ilus­trar in­ter­cal­ado!)

Y... lo mejor es que:

  1. Es un li­bro rel­a­ti­­va­­mente cor­­to

  2. Es­­tá es­­crito en muchas vo­ces dis­­t­in­­tas. No es­­­taría buenísi­­mo que Mi­­na Hark­er lo es­­cri­­ba una mu­­jer? Que Van Hel­s­ing es­­cri­­ba to­­tal­­mente dis­­t­in­­to que Lucy?

En­ton­ces: se nece­si­tan muchas cosas, pero más que nada, se nece­si­tan tra­duc­tores.

¿Quién quiere salir en la tapa de este li­bro? ¿Quién quiere traer al autén­ti­co Drácu­la, el vam­piro en se­ri­o, un autén­ti­co ma­cho de los cár­patos, de vuelta a la vi­da?

Anótense en los co­men­tar­ios.

Living in Zork

You are in an open field west of a big white house with a boarded
front door.

There is a small mailbox here.

>

We live in the gold­en age of tex­t. Peo­ple write more than ev­er be­fore. Peo­ple read more than ev­er be­fore. On­ly a few short years ago, the pre­ferred mech­a­nism to con­tact oth­er peo­ple was voice based "phone call­s". How quaint that ap­pears to the mod­ern per­son, that types mes­sages through any of to­day's jun­gle of mesag­ing sys­tem­s.

Sure, we al­so take more pic­tures than ev­er be­fore. And more video than ev­er be­fore. Be­cause we are, in gen­er­al, in an in­for­ma­tion gold­en age. But peo­ple ex­pect­ed that.

Who ex­pect­ed, 20 years ago, that kids would pre­fer to type short mes­sages to each oth­er in­stead of hav­ing long phone call­s? Who ex­pect­ed that peo­ple would want to read the mes­sages they got, in­stead of lis­ten­ing to them? Or watch­ing them?

Which is strange, since for as long as I have a mem­o­ry, I have been read­ing that the younger folks can't read or write as well as the old­est gen­er­a­tions (of which I am now part of). The dread­ed lack of "writ­ten text com­pre­hen­sion", mean­ing kids sim­ply did not un­der­stand what the heck they were read­ing. Sure, they could form the words in their mind­s, but the com­plex as­pects (plot, etc) sim­ply did­n't catch.

But why are those kids who could not read writ­ing and read­ing so much? Is that a para­dox? Or is it just that they didn care about what they were read­ing, and when, lat­er in life, they de­cid­ed to pay at­ten­tion, they did get it?

Or maybe it is that un­der­stand­ing long plots is not what read­ing is about nowa­days. That read­ing is about get­ting many small nuggets of data, and the whole cor­re­la­tion is done in our head­s, in­stead of hav­ing it spelled out in long, com­pre­hen­sive texts.

> open mailbox

Opening the mailbox reveals:
A leaflet.

Maybe the prob­lem with long texts and read­ing com­pre­hen­sion is that they are too spe­cif­ic. Once you ex­plain ev­ery­thing, maybe it's bor­ing, and peo­ple's mind wan­der of­f. Maybe you need to keep things short and open-end­ed. Maybe the read­er wants to fill in the blanks.

> read leaflet

Taken.
Welcome to Zork (originally Dungeon)!

Dungeon is a game of adventure, danger, and low cunning. In it
you will explore some of the most amazing territory ever seen by
mortal man. Hardened adventurers have run screaming from the
terrors contained within.

So, maybe the right way to write in the 21st cen­tu­ry is short and evoca­tive, in­stead of clever and wordy. Maybe the gam­ing com­po­nent of read­ing needs to be amped up, and the us­er will win imag­i­nary badges when­ev­er he gets some in­sight from what he is read­ing, like one of those what­ev­ervilles that give you mean­ing­less awards for mean­ing­less tasks ac­com­plished with mean­ing­less ef­fort.

> go west

You are in a forest, with trees in all directions around you.

Or maybe it's the oth­er way around. Maybe read­ing (or writ­ing) is be­com­ing split in­to two dif­fer­ent things. Maybe we are de­vel­op­ing a high and a low read­ing. A high read­ing that is what tra­di­tion­al­ly was called read­ing, and a low read­ing that is short and func­tion­al and not all that in­ter­est­ing.

> go west

Forest

And maybe this means we will get things like Chi­na Miéville's nov­el­s, full of weird for weird's sake, and fun, and things like twit­ter, snip­pets full of whim­sy and con­nec­tion and wit (hey, I fol­low in­ter­est­ing peo­ple), and blogs full of dis­joint­ed mis­ce­lanea, and 9gag full of things that should not, in all hon­esty, be fun­ny.

> reset

Starting over.

PS: http://www.crazygames.­com/game/­zork

PyQt Quickie: QTimer

QTimer is a fair­ly sim­ple class: you use it when you want some­thing to hap­pen "in a while" or "ev­ery once in a while".

The first case is some­thing like this:

# call f() in 3 seconds
QTimer.singleShot(3000, f)

The sec­ond is this:

# Create a QTimer
timer = QTimer()
# Connect it to f
timer.timeout.connect(f)
# Call f() every 5 seconds
timer.start(5000)

Sim­ple, right? Well, yes, but it has some trick­s.

  1. You have to keep a re­f­er­ence to``­­timer``

    If you don't, it will­get garbage-­­col­lec­t­ed, and f() will nev­er be called.

  2. It may not call f() in 5 sec­ond­s.

    It will call f() more or less 5 sec­onds af­ter you en­ter the event loop. That may not be quick­ly af­ter you start the timer at al­l!

  3. You may get over­lap­ping cal­l­s.

    If f() takes long to fin­ish and re-en­ters the event loop (for ex­am­ple, by call­ing pro­ces­sEv­ents) maybe the timer will time­out and call it again be­fore it's fin­ished. That's al­most nev­er a good thing.

So, you can do this:

def f():
    try:
        # Do things
    finally:
        QTimer.singleShot(5000, f)

f()

What that snippet does, is, calls f() only once. But f itself schedules itself to run in 5 seconds. Since it does it in a finally, it will do so even if things break.

That means no overlapping calls. It also means it won't be called every 5 seconds, but 5 seconds plus whatever f takes to run. Also, no need to keep any reference to a QTimer.

Fi­nal tip: You can al­so use QTimer to do some­thing "as soon as you are in the event loop"

QTimer.singleShot(0, f)

Hope it was use­ful!


Contents © 2000-2021 Roberto Alsina