Skip to main content

Ralsina.Me — Roberto Alsina's website

Christians say the funniest things!

This is a re­sponse to a re­sponse to this we­b­com­ic ti­tled "How to suck at your re­li­gion". While Oat­meal's com­ic is crass and paints things in broad terms, it's a freak­ing we­b­com­ic. So it's sup­posed to do that. But­the re­sponse is so full of phal­la­cies (and lack­ing in we­b­comic-­ness) that it may de­serve a re­sponse.

I have promised not to be a troll (any­more) so I will try to an­swer in a sen­si­ble man­ner.

Here's the ar­ti­cle I am re­ply­ing to go read it if you wan­t. I will not re­ply to all of it, but will in­stead cher­ryp­ick a cou­ple of para­graph­s.

In re­sponse to the "forc­ing dog­ma" pan­el:

So... re­li­gion is fine, un­less you ac­tu­al­ly be­lieve in it? Should par­ents not pass their po­lit­i­cal, eth­i­cal or moral views on to their chil­dren as well? What parts of par­ent­ing would be left if par­ents were to avoid pass­ing their views on to their kid­s? The irony here is that si­lence is it­self a state­men­t. Avoid­ing any men­tion of God to your kids sends as clear a mes­sage as talk­ing about God: specif­i­cal­ly, it tells your kids that God's ex­is­tence is ei­ther un­true, un­known, or unim­por­tan­t. Be­cause if you knew Him to ex­ist, sure­ly you'd share that knowl­edge, right?

Let's start from the top: you don't know god ex­ist­s. You have faith that he ex­ist­s, but you don't know it for a fac­t. If you knew for a fact that he ex­ist­s, you could not pos­si­bly have faith be­cause faith ex­cludes cer­tain­ty. As your bible says, faith is "the sub­stance of things hoped for, the ev­i­dence of things not seen."

So, do I tell my son god does­n't ex­ist? Nope. I tell him I think he does­n't ex­ist, and that I have nev­er seen r heard of any re­li­able ev­i­dence or da­tum that points to­wards his ex­is­tence, but al­so that some peo­ple do be­lieve he does ex­ist. I told him that be­cause I feel that's a hon­est an­swer. If your hon­est an­swer is "god ex­ist­s", then bul­ly for you, but from the point of view of a non-­be­liev­er you are telling your son a lie, or at best a half-truth. And if you re­al­ly don't know he ex­ists for a fact then you are just ly­ing.

Now, are you sayin that you know god ex­ists fac­tu­al­ly? Based on what? That's the usu­al slip­pery slope for this ar­gu­men­t. The re­li­gious are the ones mak­ing state­ments of fact based on tra­di­tion. To the rest of us, they just seem to be play­ing loose with what "fac­t" mean­s, or what "god" means or what "know" mean­s.

So, no, don't avoid men­tions of god, just avoid ly­ing to your kids if you can.

This next sec­tion is prob­a­bly the worst, be­cause it's just an in­co­her­ent ar­gu­men­t. A kid asks, “Dad, what hap­pens to us af­ter we die?” The au­thor com­pares pro­vid­ing the Chris­tian an­swer to this ques­tion with cor­rect­ing your kid for hav­ing green as a fa­vorite col­or. What?? That just is­n’t a co­her­ent ar­gu­men­t. In what world are those two ideas par­al­lel, or even com­pa­ra­ble?

Ac­cord­ing to the we­b­comic, good par­ent­ing is to pre­tend to be ag­nos­tic, and say that “no one re­al­ly knows for sure.” Of course, if the Res­ur­rec­tion is true, that claim is false. So to be a good par­en­t, you ap­par­ent­ly have to de­ny the Res­ur­rec­tion and em­brace ag­nos­ti­cis­m, treat­ing be­liefs about the af­ter­life as mere mat­ters of per­son­al pref­er­ence like hav­ing a fa­vorite col­or. This is just… stupid. There’s just no oth­er way of de­scrib­ing it. Imag­ine if we treat­ed ev­ery­thing that way. “Dad, what’s 3 x 3?” “No one re­al­ly knows for sure. What do YOU think 3 x 3 is?”

So, com­par­ing life af­ter death with col­or pref­er­ence is stupid and in­co­her­en­t, but com­par­ing it the chris­tian be­lief of res­ur­rec­tion with ba­sic arith­me­thics is a-ok? That must have tak­en some ef­fort to write with a straight face, I'm sure.

So, let's go slow­ly on this one. Be­liefs about the af­ter­life are, like most oth­er be­lief­s, prob­a­bly not a per­son­al pref­er­ence, but just some­thing you have, be­cause of, in most cas­es, in­doc­tri­na­tion ear­ly in life, peer pres­sure, and just be­cause you live in a so­ci­ety where that be­lief is nor­mal and ap­proved of.

But what is it your be­lief in the af­ter­life is not?

  • It's not in­­her­ent to "y­ou". If you were born in an­oth­er place or time, you would prob­a­bly be­lieve some­thing else.

  • It's not undis­­put­ed. Be­­cause there ex­ists a ma­jor­i­­ty of peo­­ple who don't be­lieve the same thing, ei­ther by de­­tails or en­tire­­ly.

  • It's not unique. Be­­cause oth­­er re­li­­gions have had sim­i­lar res­ur­rec­­tion be­lief­s.

  • It's not re­li­able. Even if we were to ac­­cept ev­ery­thing the bible says as true that would not mean we know what will hap­pen to you or to me af­ter we die. We would have a tes­ti­­mo­ny about what hap­pened in a few days in the af­ter­life of a spe­­cif­ic per­­son, at a point in the past, as told to some­one by some­one. Is that the same as know­ing what will hap­pen? No it's not.

Let's com­pare that to 3x3 as the au­thor at­tempt­ed:

  • If I was a chi­­nese in the 12th cen­­tu­ry: 3x3 is 9.

  • There is no group of peo­­ple that be­lieves 3x3 is 8 or 10.

  • There has not been in the past any re­al dis­­a­gree­­ment about the val­ue of 3x3. We have not achieved that re­­sult via a grad­u­al im­prove­­men­t.

  • We re­­ly on 3x3 be­ing 9 ev­ery day in our lives. If you drive a car, use a phone, or zip your pants, you are agree­ing 3x3 is 9.

  • We don't ex­pect 3x3 not to be 9 in the fu­­ture.

No­tice any dif­fer­ences? Yes, me too.

Per­son­al­ly, I con­sid­er your faith in god more akin my lik­ing Queen (the band, not the ruler). I was ex­posed to Queen at the right time, it was ap­proved by my peer­s, and I like it. On the oth­er hand, I un­der­stand that Queen is not ev­ery­one's cup of tea, and I don't claim Queen to be the "right" band.

The whole "if the Res­ur­rec­tion is true, that claim is false" line of thought is not log­i­cal. If my cat had wings, then the claim that winged cats are awe­some is false. But my cat does­n't have wings. Does it make the winged cats less or more awe­some that he does­n't? It's not that it's not right, it's that it's not even wrong.

Al­so, Oat­meal, shame on you about Galileo, re­al­ly, look it up ;-)

Driving a Nail With a Shoe I: Do-Sheet

I had pro­posed a talk for Py­Con Ar­genti­na called "Driv­ing 3 Nails with a Shoe". I know, the ti­tle is sil­ly, but the idea was show­ing how to do things us­ing the wrong tool, in­ten­tion­al­ly. Why? Be­cause:

  1. It makes you think dif­fer­­ent

  2. It's fun

The bad side is, of course, that this talk's con­tents have to be a se­cret, or else the fun is spoiled for ev­ery­one. Since the re­view process for Py­ConAr talks is pub­lic, there was no way to ex­plain what this was about.

And since that means the re­view­ers ba­si­cal­ly have to take my word for this be­ing a good thing to have at a con­fer­ence, which is un­fair, I delet­ed the pro­pos­al. The good (may­be) news is that now ev­ery­one will see what those ideas I had were about. And here is nail num­ber 1: Writ­ing a spread­sheet us­ing doit.

This is not my first "spread­sheet". It all start­ed a long, long time ago with a fa­mous recipe by Ray­mond Het­tinger which I used again and again and again (I may even be miss­ing some post there).

Since I have been us­ing doit for Niko­la I am im­pressed by the pow­er it gives you. In short, doit lets you cre­ate tasks, and those tasks can de­pend on oth­er tasks, and op­er­ate on data, and pro­vide re­sults for oth­er tasks, etc.

See where this is go­ing?

So, here's the code, with ex­pla­na­tion­s:

cells is our spreadsheet. You can put anything there, just always use "cellname=formula" format, and the formula must be valid Python, ok?

from tokenize import generate_tokens

cells = ["A1=A3+A2", "A2=2", "A3=4"]
values = {}

task_calculate creates a task for each cell, called calculate:CELLNAME. The "action" to be performed by that task is evaluating the formula. But in order to do that successfully, we need to know what other cells have to be evaluated first!

This is im­ple­ment­ed us­ing doit's cal­cu­lat­ed de­pen­den­cies by ask­ing doit to run the task "get_de­p:­FOR­MU­LA" for this cel­l's for­mu­la.

def evaluate(name, formula):
    value = eval(formula, values)
    values[name] = value
    print "%s = %s" % (name, value)

def task_calculate():
    for cell in cells:
        name, formula = cell.split('=')
        yield {
            'calc_dep': ['get_dep:%s' % formula],
            'actions': [(evaluate, (name, formula))],

For example, in our test sheet, A1 depends on A3 and A2 but those depend on no other cells. To figure this out, I will use the tokenize module, and just remember what things are "names". More sophisticated approaches exist.

The task_get_dep function is a doit task that will create a task called "get_dep:CELLNAME" for every cell name in cells.

What get_dep returns is a list of doit tasks. For our A1 cell, that would be ["calculate:A2", "calculate:A3"] meaning that to calculate A1 you need to perform those tasks first.

def get_dep(formula):
    """Given a formula, return the names of the cells referenced."""
    deps = {}
        for token in generate_tokens([formula].pop):
            if token[0] == 1:  # A variable
                deps[token[1]] = None
    except IndexError:
        # It's ok
    return {
        'result_dep': ['calculate:%s' % key for key in deps.keys()]

def task_get_dep():
    for cell in cells:
        name, formula = cell.split('=')
        yield {
            'name': formula,
            'actions': [(get_dep, (formula,))],

And that's it. Let's see it in action. You can get your own copy here and try it out by installing doit, editing cells and then running it like this:

ralsina@perdido:~/dosheet$ doit -v2 calculate:A3
.  get_dep:4
.  calculate:A3
A3 = 4
ralsina@perdido:~/dosheet$ doit -v2 calculate:A2
.  get_dep:2
.  calculate:A2
A2 = 2
ralsina@perdido:~/dosheet$ doit -v2 calculate:A1
.  get_dep:A3+A2
{'A3': None, 'A2': None}
.  get_dep:4
.  calculate:A3
A3 = 4
.  get_dep:2
.  calculate:A2
A2 = 2
.  calculate:A1
A1 = 6

As you can see, it al­ways does the min­i­mum amount of ef­fort to cal­cu­late the de­sired re­sult. If you are so in­clined, there are some things that could be im­proved, and I am leav­ing as ex­er­cise for the read­er, for ex­am­ple:

  1. Use up­­­to­­date to avoid re­­cal­cu­lat­ing de­pen­­den­­cies.

  2. Get rid of the glob­al val­ues and use doit's com­put­ed val­ues in­stead.

Here is the full list­ing, en­joy!

The Coldest War (The Milkweed Triptych, #2)


This tril­o­gy is a tricky read. Most char­ac­ters just suf­fer through hor­ri­ble things.

Al­so, the way the or­a­cle's pow­er works is fair­ly ob­vi­ous, and there are (a­gain) ob­vi­ous coun­ter­mea­sures that could have been tak­en by the oth­er par­ties in or­der to ren­der her
pow­er use­less (ex­am­ple: killing her).

On the oth­er hand, it de­scribes a world that feels as if it ex­ists or ex­ist­ed, which is some­thing I re­al­ly like in sci­ence fic­tion.

Apple uses skeuomorphism, but it's not because they are idiots.

Ev­ery day there is a new post de­cry­ing Ap­ple's taste­less use of skeuo­mor­phism (y­ou know, mak­ing cal­cu­la­tor pro­grams look like cal­cu­la­tors and note-­tak­ing apps look like notepad­s?).

I to­tal­ly agree that skeuo­mor­phic apps are ug­ly and stupid. I said that in 2-t­hou­sand-f­reak­ing-­four. But just look­ing at the lat­est abom­i­na­tion (it seems to be a sound recorder that looks like a ree-­to-reel, of all things) and sneer­ing is worse, be­cause that means you don't have any ideas of where de­sign comes from, and I say this be­ing a per­son with as much taste as a wal­rus.

De­sign comes from peo­ple. There is a grander de­sign be­hind that spe­cif­ic de­sign, which you could call a guide­line, or a phi­los­o­phy, or in some cas­es a zeit­geist. For 50 years, there has ex­ist­ed a con­sen­sus about clean­li­ness of de­sign be­ing a good thing. It start­ed in some spe­cif­ic nich­es while oth­ers went in oth­er di­rec­tions (car fin­s!) and lat­er each area of de­sign has moved, like a pen­du­lum, to­wards clean­li­ness or "spe­cial­ness".

Once you go "clean", and ev­ery­one goes "clean" there is very lit­tle you can do to make your prod­uct dis­tinc­tive, and a ten­sion is cre­at­ed to make it less clean and more "spe­cial".

Google's en­try page used to be ab­so­lute­ly clean. A place to en­ter tex­t, and two but­ton­s. Now it has a menu with 11+ item­s, 3 but­ton­s, and an icon. Ap­ple's OS9 was as­cetic, and now OSX is a sea of boun­cy col­or­ful things shout­ing at you.

The skeuo­mor­phism and oth­er in­di­ca­tions of overde­sign, of com­pli­ca­tion, in ap­ple's apps is not un­in­ten­tion­al, it's an in­ten­tion­al at­tempt at mak­ing the ap­pli­ca­tions spe­cial, ap­peal­ing, and dis­tinc­tive. It is ug­ly and aw­ful, but it is so in­ten­tion­al­ly, be­cause the very con­cepts of ug­li­ness and aw­ful­ness are just a vague con­sen­sus among the user­s, and Ap­ple sure­ly felt con­fi­dence that user­s, ac­cos­tumed to Ap­ple's role as kings of taste, would change their taste to fit. And as far as I can see that is ex­act­ly what has hap­pened.

Users are not the ones com­plain­ing about Ap­ple's de­sign style, oth­er de­sign­ers are com­plain­ing. That sig­nal­s, to me, a dis­con­nect be­tween the taste of de­sign­ers and the taste of user­s. And hon­est­ly, the taste of de­sign­ers is on­ly of vague aca­dem­ic in­ter­est to com­pa­nies try­ing to sell prod­uc­t.

Ap­ple's hard­ware stays min­i­mal­is­tic be­cause they have suc­cess­ful­ly brand­ed it. If you see a squar­ish slab of black glass with a but­ton, you think iPad or iPhone de­pend­ing on size, not "gener­ic min­i­mal­is­tic touch de­vice". On soft­ware, that did not work. There was noth­ing in­ter­est­ing or in­no­va­tive, or dis­tinc­tive in min­i­mal­is­tic de­sign for ap­pli­ca­tion­s.

So they start­ed with col­or­ful gum­drop­s, moved on­to brushed met­al, and then in­to fake stitched leather, be­cause they are try­ing to find some­thing that can be as suc­cess­ful­ly and pow­er­ful­ly brand­ed as "sil­very slim wedge with black keys" is now.

De­sign­ers ap­par­ent­ly seem to be­lieve there is cer­tain spe­cif­ic "clean­li­ness" that is the hall­mark of "good" de­sign, and that ripped pa­per and oth­er skeuo­mor­phic af­fec­ta­tions are signs of bad taste. That is sil­ly and ahis­toric. Clean­li­ness is just a fash­ion, reel-­to-reel dig­i­tal recorders are an at­tempt at cre­at­ing a taste. It's am­bi­tious, and re­spectable.

On the oth­er hand, it is ug­ly as hel­l.

Year Zero

It starts with these two alien­s:

And a lawyer called Nick Carter, who is not this Nick Carter:

If I were to de­scribe the plot, it would make me sound in­sane, which is a good thing. So, I will just let the book trail­er do the work:

Have you ev­er read Dou­glas Adams and wished the plot start­ed mak­ing some sense? Have you ev­er read Ter­ry Pratch­ett and wished there was more than one ex­cru­ci­at­ing­ly stretched joke per book? 1

Well, if you have, I rec­om­mend you give Year Ze­ro a try. It's hi­lar­i­ous, it has a plot of sort­s, and has at least three dif­fer­ent jokes in it. A work­ing knowl­edge of lame 80s (and 70s) mu­sic helps but is not hor­ri­bly nec­es­sary.

So, I give this five stars 2 and rec­om­mend it to ev­ery one.


And yes, I know that's prac­ti­cal­ly the point of Ter­ry Pratch­et­t's style.


It's the sec­ond 5-s­tar book for me this year, af­ter A Naked Sin­gu­lar­i­ty. I did­n't even give those to The Mon­go­li­ad even though I am a hope­less Neal Stephen­son fan­boy.

Contents © 2000-2020 Roberto Alsina