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 ;-)
I had proposed a talk for PyCon Argentina called "Driving 3 Nails with a Shoe". I know, the title is silly, but the idea was showing how to do things using the wrong tool, intentionally. Why? Because:
It makes you think different
It's fun
The bad side is, of course, that this talk's contents have to be a secret, or else the fun is spoiled for everyone. Since the review process for PyConAr talks is public, there was no way to explain what this was about.
And since that means the reviewers basically have to take my word for this being a good thing to have at a conference, which is unfair, I deleted the proposal. The good (maybe) news is that now everyone will see what those ideas I had were about. And here is nail number 1: Writing a spreadsheet using doit.
This is not my first "spreadsheet". It all started a long, long time ago with a famous recipe by Raymond Hettinger which I used again and again and again (I may even be missing some post there).
Since I have been using doit for Nikola I am impressed by the power it gives you. In short, doit lets you create tasks, and those tasks can depend on other tasks, and operate on data, and provide results for other tasks, etc.
See where this is going?
So, here's the code, with explanations:
cells
is our spreadsheet. You can put anything there,
just always use "cellname=formula" format, and the formula must be valid Python, ok?
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 implemented using doit's calculated dependencies by asking doit to run the task "get_dep:FORMULA" for this cell's formula.
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))], }
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 = {} 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,))], }
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 always does the minimum amount of effort to calculate the desired result. If you are so inclined, there are some things that could be improved, and I am leaving as exercise for the reader, for example:
Use uptodate to avoid recalculating dependencies.
Get rid of the global values
and use doit's computed values
instead.
Here is the full listing, enjoy!
![]() |
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.