Skip to main content

Ralsina.Me — Roberto Alsina's website

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!

Every US presidential candidate is a moron or sleazy

  1. They all claim that evo­lu­­tion does­n't work

  2. They all claim the world is less than 10000 years old

So you have now two choic­es:

  1. They be­lieve they are say­ing the truth, which means they are mo­ron­s.

  2. They be­lieve they are ly­ing, and on­­ly say­ing ob­vi­ous­­ly false things be­­cause that will help them win, which means they are sleazy.

Have a fun fu­ture, US!

Antonio María Delgado is an ignorant

An­to­nio María Del­ga­do writes for the Mi­a­mi New Her­ald. I would dare guess he's sup­posed to know en­glish, even if he writes in span­ish.

Let's back­track a bit. The Econ­o­mist pub­lish­es (as it has done for a while), some­thing called the "Mis­ery In­dex", which at­tempts to cap­ture the coun­tries where peo­ple are feel­ing mis­er­able, and rank them.

So, Mr. Del­ga­do goes, reads that, sees Venezuela near the top, and I can imag­ine the idea light­bulb bright­en­ing to a daz­zling 0.5 watts, his scream of "po­lit­i­cal an­gle!" and the rush to write this:

"Venezuela se ubicó el año pasa­do en el se­gun­do puesto del "Indice de Mis­e­ri­a" elab­o­ra­do por la re­vista británi­ca The Econ­o­mist..."

The prob­lem, dear eng­lish read­er, is that "mis­e­ri­a" does­n't mean "mis­ery". It means "pover­ty". In fac­t, it means "ex­treme pover­ty". And thus, Mr. Del­ga­do makes it seem as if the Econ­o­mist is say­ing Venezuela is the sec­ond poor­est coun­try (in some sense).

While I per­son­al­ly dis­like Chavez, this is ei­ther ig­no­ran­t, or stupid. Your cal­l.

Demetrio Fernandez is an idiot

Spain is a coun­try. Cór­do­ba is a place in Spain. In Cór­do­ba there are church­es. Peo­ple go to church­es. The peo­ple who at­tend church in Cór­doba, Spain, are un­der the spir­i­tu­al guid­ance of Demetrio Fer­nan­dez, bish­op.

Just so we are clear: You are sup­posed to greet him by kiss­ing his hand.

On the oth­er hand, Demetrio Fer­nan­dez is an id­iot who said this:

"The Min­is­ter for Fam­i­ly of the Pa­pal Gov­ern­men­t, Car­di­nal An­tonel­li, told me a few days ago in Zaragoza that UN­ESCO has a pro­gram for the next 20 years to make half the world pop­u­la­tion ho­mo­sex­u­al. To do this they have dis­tinct pro­gram­s, and will con­tin­ue to im­plant the ide­ol­o­gy that is al­ready present in our school­s."

I rest my case. Demetrio Fer­nan­dez is an id­iot. Car­di­nal An­tonel­li is an id­iot. And if you go to church in Cór­doba, Spain, know­ing about this, and kiss the id­iot's hand, you are an id­iot.


Contents © 2000-2025 Roberto Alsina