Wild Cards (Wild Cards, #1)
![]() |
Review:I liked this book enough, but the idea of it being part of a 20+ book series is daunting enough that I may not continue it. |
![]() |
Review:I liked this book enough, but the idea of it being part of a 20+ book series is daunting enough that I may not continue it. |
This is a response to a response to this webcomic titled "How to suck at your religion". While Oatmeal's comic is crass and paints things in broad terms, it's a freaking webcomic. So it's supposed to do that. Butthe response is so full of phallacies (and lacking in webcomic-ness) that it may deserve a response.
I have promised not to be a troll (anymore) so I will try to answer in a sensible manner.
Here's the article I am replying to go read it if you want. I will not reply to all of it, but will instead cherrypick a couple of paragraphs.
In response to the "forcing dogma" panel:
So... religion is fine, unless you actually believe in it? Should parents not pass their political, ethical or moral views on to their children as well? What parts of parenting would be left if parents were to avoid passing their views on to their kids? The irony here is that silence is itself a statement. Avoiding any mention of God to your kids sends as clear a message as talking about God: specifically, it tells your kids that God's existence is either untrue, unknown, or unimportant. Because if you knew Him to exist, surely you'd share that knowledge, right?
Let's start from the top: you don't know god exists. You have faith that he exists, but you don't know it for a fact. If you knew for a fact that he exists, you could not possibly have faith because faith excludes certainty. As your bible says, faith is "the substance of things hoped for, the evidence of things not seen."
So, do I tell my son god doesn't exist? Nope. I tell him I think he doesn't exist, and that I have never seen r heard of any reliable evidence or datum that points towards his existence, but also that some people do believe he does exist. I told him that because I feel that's a honest answer. If your honest answer is "god exists", then bully for you, but from the point of view of a non-believer you are telling your son a lie, or at best a half-truth. And if you really don't know he exists for a fact then you are just lying.
Now, are you sayin that you know god exists factually? Based on what? That's the usual slippery slope for this argument. The religious are the ones making statements of fact based on tradition. To the rest of us, they just seem to be playing loose with what "fact" means, or what "god" means or what "know" means.
So, no, don't avoid mentions of god, just avoid lying to your kids if you can.
This next section is probably the worst, because it's just an incoherent argument. A kid asks, “Dad, what happens to us after we die?” The author compares providing the Christian answer to this question with correcting your kid for having green as a favorite color. What?? That just isn’t a coherent argument. In what world are those two ideas parallel, or even comparable?
According to the webcomic, good parenting is to pretend to be agnostic, and say that “no one really knows for sure.” Of course, if the Resurrection is true, that claim is false. So to be a good parent, you apparently have to deny the Resurrection and embrace agnosticism, treating beliefs about the afterlife as mere matters of personal preference like having a favorite color. This is just… stupid. There’s just no other way of describing it. Imagine if we treated everything that way. “Dad, what’s 3 x 3?” “No one really knows for sure. What do YOU think 3 x 3 is?”
So, comparing life after death with color preference is stupid and incoherent, but comparing it the christian belief of resurrection with basic arithmethics is a-ok? That must have taken some effort to write with a straight face, I'm sure.
So, let's go slowly on this one. Beliefs about the afterlife are, like most other beliefs, probably not a personal preference, but just something you have, because of, in most cases, indoctrination early in life, peer pressure, and just because you live in a society where that belief is normal and approved of.
But what is it your belief in the afterlife is not?
It's not inherent to "you". If you were born in another place or time, you would probably believe something else.
It's not undisputed. Because there exists a majority of people who don't believe the same thing, either by details or entirely.
It's not unique. Because other religions have had similar resurrection beliefs.
It's not reliable. Even if we were to accept everything the bible says as true that would not mean we know what will happen to you or to me after we die. We would have a testimony about what happened in a few days in the afterlife of a specific person, at a point in the past, as told to someone by someone. Is that the same as knowing what will happen? No it's not.
Let's compare that to 3x3 as the author attempted:
If I was a chinese in the 12th century: 3x3 is 9.
There is no group of people that believes 3x3 is 8 or 10.
There has not been in the past any real disagreement about the value of 3x3. We have not achieved that result via a gradual improvement.
We rely on 3x3 being 9 every day in our lives. If you drive a car, use a phone, or zip your pants, you are agreeing 3x3 is 9.
We don't expect 3x3 not to be 9 in the future.
Notice any differences? Yes, me too.
Personally, I consider your faith in god more akin my liking Queen (the band, not the ruler). I was exposed to Queen at the right time, it was approved by my peers, and I like it. On the other hand, I understand that Queen is not everyone's cup of tea, and I don't claim Queen to be the "right" band.
The whole "if the Resurrection is true, that claim is false" line of thought is not logical. If my cat had wings, then the claim that winged cats are awesome is false. But my cat doesn't have wings. Does it make the winged cats less or more awesome that he doesn't? It's not that it's not right, it's that it's not even wrong.
Also, Oatmeal, shame on you about Galileo, really, look it up ;-)
Te hace pensar diferente.
Es divertido.
Lo malo es, por supuesto, que el contenido de la charla tiene que ser secreto, o no tiene ninguna gracia. Como el proceso de review para charlas de PyConAr es público, no tenía manera de explicar de qué se trataba.
Como eso significa que pongo a los revisores en el compromiso de tener que aceptar mi palabra de que esta charla es algo interesante, y eso es injusto para ellos y los demás charlarines, cancelé la propuesta.
La (tal vez) buena noticia es que ahora todos van a poder ver de qué se trataba la charla. Acá está el clavo número 1: Escribir una hoja de cálculo usando doit.
Esta no es mi primera "hoja de cálculo". Todo empezó hace mucho, mucho tiempo con una famosa receta de Raymond Hettinger que he usado una y otra y otra vez (capaz que falta alguna).
Dado que vengo usando doit para Nikola estoy impresionado con lo potente que es. En breve, doit te permite crear tareas, y esas tareas dependen de otras, operan en datos, dan resultados que otras tareas usan, etc.
¿Se ve adonde va esto?
Acá va el código, con explicaciones:
cells
es nuestra hoja. Podés poner cualquier cosa, pero usá siempre
el formato "nombre=formula" y la fórmula tiene que ser Python válido ¿ok?
from tokenize import generate_tokens
cells = ["A1=A3+A2", "A2=2", "A3=4"]
values = {}
task_calculate
crea una tarea para cada celda, llamada calculate:NOMBRE
.
La acción que esa tarea realiza es evaluar la fórmula. Pero para hacer eso de manera
exitosa, necesitamos saber qué otras celdas hay que evaluar primero.
Eso lo implementé usando las calculated dependencies de doit, con la tarea "get_dep:FORMULA" para la fórmula de esta celda.
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 {
'name':name,
'calc_dep': ['get_dep:%s' % formula],
'actions': [(evaluate, (name, formula))],
}
Por ejemplo, nuestra A1
depende de A3
y A2
que no dependen de nada. Para
parsear esto, usé el módulo tokenize, y tomo nota de cuales cosas son "nombres". Existen
maneras más soisticadas ;-)
la función task_get_dep
es una tarea de doit que crea tareas llamadas "get_dep:NOMBRE"
para cada nombre de celda en cells
.
A su vez, get_dep devuelve una lista de tareas de doit. Para nuestra celda A1
, eso
sería ["calculate:A2", "calculate:A3"]
o sea que para poder calcular A1
primero
tenemos que terminar esas tareas.
def get_dep(formula):
"""Given a formula, return the names of the cells referenced."""
deps = {}
try:
for token in generate_tokens([formula].pop):
if token[0] == 1: # A variable
deps[token[1]] = None
except IndexError:
# It's ok
pass
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,))],
}
Y eso es todo. Veámoslo en acción. Podés obtener tu propia copia acá
y probarlo instalando doit, editando cells
y usándolo así:
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
Como podés ver, siempre hace el mínimo esfuerzo posible para calcular el resultado deseado. Si querés, hay algunas cosas mejorables, que dejo como ejercicio para el lector. Por ejemplo:
Usar uptodate para no recalcular dependencias inutilmente.
Eliminar la variable global values
y usar los computed values
de doit en su lugar.
Acá está el listado completo, buen provecho!
![]() |
Review:This trilogy is a tricky read. Most characters just suffer through horrible things. |
Every day there is a new post decrying Apple's tasteless use of skeuomorphism (you know, making calculator programs look like calculators and note-taking apps look like notepads?).
I totally agree that skeuomorphic apps are ugly and stupid. I said that in 2-thousand-freaking-four. But just looking at the latest abomination (it seems to be a sound recorder that looks like a ree-to-reel, of all things) and sneering is worse, because that means you don't have any ideas of where design comes from, and I say this being a person with as much taste as a walrus.
Design comes from people. There is a grander design behind that specific design, which you could call a guideline, or a philosophy, or in some cases a zeitgeist. For 50 years, there has existed a consensus about cleanliness of design being a good thing. It started in some specific niches while others went in other directions (car fins!) and later each area of design has moved, like a pendulum, towards cleanliness or "specialness".
Once you go "clean", and everyone goes "clean" there is very little you can do to make your product distinctive, and a tension is created to make it less clean and more "special".
Google's entry page used to be absolutely clean. A place to enter text, and two buttons. Now it has a menu with 11+ items, 3 buttons, and an icon. Apple's OS9 was ascetic, and now OSX is a sea of bouncy colorful things shouting at you.
The skeuomorphism and other indications of overdesign, of complication, in apple's apps is not unintentional, it's an intentional attempt at making the applications special, appealing, and distinctive. It is ugly and awful, but it is so intentionally, because the very concepts of ugliness and awfulness are just a vague consensus among the users, and Apple surely felt confidence that users, accostumed to Apple's role as kings of taste, would change their taste to fit. And as far as I can see that is exactly what has happened.
Users are not the ones complaining about Apple's design style, other designers are complaining. That signals, to me, a disconnect between the taste of designers and the taste of users. And honestly, the taste of designers is only of vague academic interest to companies trying to sell product.
Apple's hardware stays minimalistic because they have successfully branded it. If you see a squarish slab of black glass with a button, you think iPad or iPhone depending on size, not "generic minimalistic touch device". On software, that did not work. There was nothing interesting or innovative, or distinctive in minimalistic design for applications.
So they started with colorful gumdrops, moved onto brushed metal, and then into fake stitched leather, because they are trying to find something that can be as successfully and powerfully branded as "silvery slim wedge with black keys" is now.
Designers apparently seem to believe there is certain specific "cleanliness" that is the hallmark of "good" design, and that ripped paper and other skeuomorphic affectations are signs of bad taste. That is silly and ahistoric. Cleanliness is just a fashion, reel-to-reel digital recorders are an attempt at creating a taste. It's ambitious, and respectable.
On the other hand, it is ugly as hell.