-
Religion: Glorifying murder since 4000BC
Posted on September 29th, 2008 9 commentsMy wife helps out at her church’s nursery. She helps watch barely or non-walking kids while their parents attend services and whatnot. Though she doesn’t really offer the lessons that the rest of her church’s children’s ministry does, she gets kept in the loop on what they’re teaching.
I happened to look at her computer screen this morning, and saw this week’s or month’s bible story. It said something along the lines of “God is your strength and shield,” and was meant to emphasize their god’s omnipotence.
I mean, at first take, that’s foolish enough, because there are plenty of homeless people who subscribe to the same god, and seem fairly unshielded from, say, weather. And without food, they’re not strong, either. Maybe it’s in a metaphorical sense, though, but I think you’d still have a hard time arguing that a god is doing them any favors.
This was hardly reason enough to write a blog post. Everybody comes across stuff like this. “Fully rely on [your god].” “Jesus loves me.” Etc.
What was reason to write the blog post was the lesson that they used to illustrate this point. I’d never really thought about David and Goliath before, but after this morning, I’m realizing it’s atrocious.
You can find the gist of the story here: [The Brick Testament].
So, let’s get this straight. A young man thinks a god is talking to him, and he’s telling him to fight another guy. Since they’re at war with this other group, this is taken by everybody else to be ok. So, thanks to his god’s power (and not acknowledging that ranged weapons are superior to spears … at range), he kills the guy, and everybody celebrates. (To be thorough, this story is a relevant sacred text to Christians, Jews, and Muslims.)
Let me tell it a different way. A country is at war with your country, and they have a really big icon that you find imposing. If you can take it down, surely they will realize your strength and surrender. Also, this is important, there’s a god on your side. So, because you don’t think you’re susceptible to indoctrination and hallucinations, you board a plane with 19 other warriors and kill 3000 people in that damn Goliath, the World Trade Center.
Yeah. The stories aren’t much different, except that one uses modern day tools (there were no weapons that long ago that could kill 3000 people in one swoop).
This is what religion teaches kids. It’s ok to do what you think is right, especially if you “hear” your god telling you to do it. How do you know it’s a god telling you to do it and it’s not, say, a demon or a hallucination? Presumably because it does what you think is good. Then how does the other guy tell?
What happens when two people have different gods, and their respective gods are giving them competing advice?
Stupidity. Terrorism. Bigotry. Intelligent Design.
People will argue that religion is just one means to stupid behavior, and other activities can cause it too, like sports fanaticism. But the key difference is that religion encourages blindness to reasoning, and consequently has kids idolizing crazy people who kill others.
Uncategorized -
Time Warner clubs baby seals and causes global warming
Posted on September 26th, 2008 1 commentAnd that’s not the worst of what they do.
When we moved to our new house, we had to give up the *awesome* AT&T U-Verse. You could record 4 channels at once. There were lots of HD channels. We got all the local channels we’d ever need. The DVR and cable box were responsive, reflected a push towards usability, and had more space than you could shake a stick at (when we cancelled U-Verse, we had over 120 shows waiting to be watched).
Enter Time Warner Cable. The. Worst. TV. Provider. Ever.
After getting our new TV (our old one conveyed with our house), we got the cable all set up. The first thing I noticed was that the DVR looked the same as it did at Sara’s dad’s house … 6 years ago. Oh well, maybe they just liked the color scheme.
But then there’s things that aren’t so justifiable, like the text telling you what you’re watching being rendered in a Sega Genesis font. Or that the box has to think just for me to change channels. Or that I can only record two shows at once. Or that I can only fit ~10 shows on the DVR before it starts deleting stuff. Or having one of the worst schedule navigation interfaces invented, so it’s impossible to tell it that you want to record a show 2 weeks from now.
The interface looks like it came right out of 1980. 3 years before I was born, and I bet Apple already had a better system for what the box does. Just to remind you of its age and never-thought-of interface, after you watch a show on the DVR, it asks if you want to record to VCR. Yeah. You know, those devices that NOBODY OWNS ANYMORE BECAUSE WE HAVE DVRs.
Now, the NFL network has been around for 2 years or so. TWC still doesn’t carry it. That’s 8 football games a year that I have to go somewhere else to watch. Strike 237.
TWC is in a contract dispute with KXAN, Austin’s local NBC affiliate. TWC says that, we’re still ok, even if we don’t get NBC, because the shows are available for free over the air or on NBC.com. Bullshit. If I want to watch Heroes, The Office, or 30 Rock, I want to watch them in HD. And the closest I’ll get to that is through Apple TV, which is going to charge me 1.99 an episode (I’m fine with that, but not when I should be getting the show for free).
I don’t care about Notre Dame football (the onyl college games NBC shows), but I *do* care about Sunday Night Football. It’s Al Michaels! John Madden! TO! Cowboys! Steelers! Colts! Manning! Manning! Brady (*lol). Titans!
And I might not get to watch it because Time Warner doesn’t think they should have to pay KXAN to carry its signal. The fundamental problem here is that I don’t care if Time Warner does want to pay, doesn’t want to pay, etc. I just want the signal in my house, in HD, and TWC is threatening to stop that from happening.
Time Warner also gave us a rebate, because we switched over from U-Verse. That was nice of them, but they do it in a sneaky way where they send us a taped piece of paper in the mail. It looks like junk mail, but Sara was curious and opened it anyways. So all we had to do was put that in the envelope with our bill and we got a rebate — why can’t TWC just apply it to our account? Because they’re evil and want to kill trees and cause global warming, that’s why.
Lastly, I don’t even get the “oh at least you’re not in a contract” crap, because Time Warner charges *more* for just having TV and internet. If you get their phone service, they charge you thirty dollars *less*. But with the phone service comes a 2 year agreement, which costs $150 to break.
As soon as U-Verse is available, or I convince myself to get DirecTV, I’ll happily put down that $150.
Uncategorized -
Upgrading from Rails 1.1.6 to 2.1.1
Posted on September 26th, 2008 No commentsThe main product I work on hasn’t had a Rails upgrade in a long, long time. It was probably put off at first, and then eventually because such an obstacle that nobody wanted to try to get it up and running (well, they did, it just is hard to justify to PMs and such).
After our last sprint, I just started doing it. I was hoping I’d finish before the next sprint started, but I think it came off as promising enough that everybody decided we should do it as part of the sprint.
First up, if you’re asking “why would you upgrade?” well, there’s several reasons. One, obviously, is that the Rails API has been updated to better suit developers, make things faster to code, cache things more smartly, etc. Another is that all of our other Rails based products are on Rails 2.1.0. And, here’s the big one, YOU CAN’T USE THE NEW RUBYGEMS WITH 1.1.6.
You have to use a biblical era RubyGems, which is bad, because lots of shit just doesn’t install on Windows (lots of our devs use Windows – masochism, I think, is their drive).
So, anyways, here’s a list of things that you’ll have to change to get your app working from 1.1.6 (or up) to 2.1.1. I realize I’m probably the only person who’s ever going to do this, but oh well, maybe someone else will be unlucky in the future.
- There is no more extract_options_from_array method, or extract_options(array) method, or whatever it is. It’s now Array#extract_options.
- Do not use find_first or find_all. They’ve been deprecated forever, and should be replaced with find(:first) or find(:all), respectively.
- Use symbols instead of strings when passing locals to partials. This was an optimization done by the Rails team, because it turns out it’s taxing to have to call Hash#symbolize_keys every time a partial is rendered.
- start_form_tag and end_form_tag are gone. Use form_tag with a block around the form, or just use form_tag and /form (html tag).
- ActiveRecord::Base#with_scope is now protected. If you’re using it outside the model, it’s probably best to clean that up, but if you can’t, you can still call it by using send.
- Don’t use @response.headers['Content-Type']. Use @response.content_type (in tests).
- Range#step now takes an argument for how much of a step to take, instead of defaulting to one. Just say (1..2).step(1), and you have the same functionality.
- Don’t use @flash, @response, @request, @headers, or @env. Use flash, response, request, headers, or env. Encapsulation, please.
- Render now requires a type. render “hello” is no longer valid; it needs to be render :text => hello.
- render_text, render_template, etc., are all gone. Use render :text, render :template, etc.
- If you need ActionWebService, don’t believe the hype about just installing a gem for things to work. Instead of wasting your time with that, just use the plugin talked about here.
- All times come out of the database with a time zone now, and are converted to whatever time zone you specify in environment.rb. If your database isn’t recording times correctly for timestamps (or “NOW()”), you’ll need to update your code and database setup accordingly.
- ActionMailer config has changed, though not too significantly. Here’s a good writeup of the changes.
- Built in Rails pagination is gone. If you want to use the old pagination stuff (though it’s recommended that you upgrade to will_paginate), install the classic_pagination plugin.
- Observers no longer need to be referenced in controllers. Take that out.
Good luck with that. Before upgrading, I’d suggest making sure that (1) you have decent test coverage, and (2) the tests you have are passing. They’ll speed things up a LOT.
Uncategorized -
Rails 2.1.1 Plugin/Observer CRAZINESS
Posted on September 26th, 2008 No commentsWe recently upgraded our product at work from Rails 1.1.6 to 2.1.1 (that’s another post, coming shortly), and we ran into this error: A copy of TagObserver has been removed from the module tree but is still active!
TagObserver runs any time a Tag gets created, and is referenced in one of our plugins, but after the upgrade, had decided to blow up any time it was run. After a lot of reading, my hypothesis is that the Observer was being referenced from a thread (we do no threading on purpose, but I’ve read that Rails 2.1.1 is working to get better and maybe use threads), and the main (different) thread that was returning to the client, on trying to unload the classes, couldn’t.
This only happens with observers that get executed with a plugin (we have several other observers, none of them caused any problems).
One solution was to not run in development mode, or, more precisely, not cache classes. Unfortunately, I wasn’t about to ask everyone to turn off class caching for development mode. That would be a pain in the ass (you’d have to restart the server every time you made changes).
So, to avoid that, I created a directory called “observers” under app, so it was a sibling of models, controllers, etc. Then I added this to my environment.rb Rails::Initializer block:
config.load_paths += %W( #{RAILS_ROOT}/app/observers ) config.load_once_paths += %W( #{RAILS_ROOT}/app/observers )config.load_once_paths has to be a subset of load_paths, so that’s why it gets added twice. This tells Rails only to load the classes in observers once (and not to unload them). A negative side effect of this is that, if we do make any changes to our observers, we’ll have to restart the server. But I like that better than having to restart for *everything*.
Uncategorized -
links for 2008-09-24
Posted on September 24th, 2008 No comments-
Just turned this on, we'll see how much it gets used…
-
How to avoid passwords w/ SSH
-
Performance analyzer for Rails. Maybe I can try it once we get Rails2 all working on the hub…
-
Great way to kill productivity.
Uncategorized -
-
I read books: The God Delusion
Posted on September 23rd, 2008 No commentsJust wrapped up The God Delusion
by Richard Dawkins. It was a thorough challenge to common held beliefs by most people I know, and I like that it helped me think through other arguments that I’ve read. Dawkins has the luck to be both brilliant and articulate. While I never doubted that Hitchens was a really smart guy, he wrote in such a way that it took a long time for me to understand anything he said.
The Ugly: Dawkins actually writes really well, and there wasn’t much about the book that I thought was wrong or couldn’t relate to.
The Bad: In Hitchens’s book, I’d get lost (or, more aptly, bored) when he went off into too many anecdotes. The same applies for Dawkins, but instead of anecdotes, he’d go too deep into a subject like how memes propagate through generations, or too far into a single metaphor. I’ll admit that I’m a fickle reader who won’t pay attention if the ideas stop flowing quickly, and that happens in the final chapter and in the origin of religions chapter. The rest of the book, however, I loved.
The Good: Dawkins not only debunks all of the arguments offered for a god, but he offers his own actually against a god. This is a big step, though it’s not necessary (but every bit helps).
First, in outlining the arguments for a god, I realized that most arguments aren’t of the “therefore, god exists” but more “see, that doesn’t make sense, so god has to exist.” They followed more the lines of a contradiction proof than a positive proof. The problem is that a god never satisfies the contradiction proofs, because the answer to those arguments only shift the contradiction to another arena, where it seems equally applicable.
Dawkins also offers a play on the intelligent design argument. In a nutshell, it goes, if people are so well designed and couldn’t have come up by chance, and need a designer, how much more improbable is that designer? It’s a play on the ontological argument, applied to the teleological one (look at my vocabulary busting out in a blog post).
While I don’t need Dawkins’s argument against god (I don’t need arguments against flesh-eating, invisible hippos in my fireplace, either), I think it will offer a bit of area for thought for Christians.
Overall, I’d recommend The God Delusion
pretty strongly. It serves a different purpose from Letter to a Christian Nation, and relies more on logic to debunk Christian claims, instead of relying on apalling anecdotes like Hitchens. Both are effective, I just find Dawkins’s approach more appealing.
Uncategorized -
Dear Nate
Posted on September 18th, 2008 4 commentsSara and I are going to Lubbock tomorrow (our last hoorah before baby #2 arrives) for the weekend, and we’re leaving Nate behind. While, statistically, you’re safer on a plane than you are in the ocean or in a car, it’s still scary having the two of us leave as eggs in the same basket, so to speak.
While we have a will (which hasn’t actually been signed by witnesses, which we might need to work out pretty quick), and he’d be left with good people, as a parent, I feel driven to impart both pieces of wisdom and information about me that only I’d know.
With that in mind, if we do die, here are the things I’d like to say:
- It’s okay to cuss. It doesn’t make you a bad person. Just watch where you do it, because it’s not always appropriate.
- If your grandpa (on either side) or your dad is any indication, you’re going to be a fan of alcohol. For better or worse. If you read this, then I might as well start you off ahead of everyone else. Stella Artois. Delicious.
- There’s a good chance you’re going to think differently from other people. Not wrong or right, just different. As a result, if you decide to get into software, you’ll think of data structures differently than most people.
- Your dad wasn’t religious. At all. To the point that he’d change almost any view, given sufficient evidence.
- Your mom was religious. We disagreed about things in that area, obviously.
- I don’t care if you turn out religious or not, but I do want you to be skeptical of everything. There should be a quasar in your head whenever you encounter a new idea or a belief system, critically evaluating it. There’s nothing wrong with searching for the truth. Nothing is sacred, and nothing is beyond questioning.
- Always remember that even if people are different from you, they don’t deserve poor treatment. You’re lucky to live in a time where your smarts reward you socially and economically, but this wasn’t always the case. Act accordingly, and try to leave the world a little better than you entered it.
- Lord of the Rings is a fantastic trilogy, but Big Fish reminds me almost too much of my relationship with my dad.
- Your dad’s favorite TV show, at the time of this writing, is House. Not counting football, which he obsesses over.
- The degree you obtain in college doesn’t matter too much, except that it opens doors to new jobs. What you should really try to learn in college is how to think, how to get along with new people, and how to study. You won’t need to study until then. This has as much to do with you as it does with the terrible public education system.
- From at least 13-15 months, you were a hands down daddy’s boy.
- Never stop reading. It’s really easy to get out of the habit, and by the time you’re old enough to surf the 15-year-from-now equivalents to present day Reddit or Digg, you’ll have distractions abound. Read books anyways. My favorite book of all time is Alice’s Adventures in Wonderland by Lewis Carroll. Sam Harris comes in a close second (The End of Faith, Letter to a Christian Nation).
- In the business of running a house, your mom was the manager. She kept everything in order. She knew what you liked to eat, when you would want to nap, and when you’d want to go to bed. She kept the house in order, and my biggest responsibility was to bring in money. I wouldn’t say one was harder than the other, but both of us worked incredibly hard to make sure you had everything you’d ever need.
- Your mom and I loved each other very much. We started dating in high school (look out for the hotties in physics classes) and had only enjoyed good times since. It only makes sense that you’re absolutely perfect, given that context.
- We didn’t agree entirely on how to parent you. I wanted to breed independence while she wanted to nurture you. Both are healthy motivations, and at least thus far by all indications you’re doing great.
- Lastly, we loved you. Very much. You brightened our day, but at the same time made it harder. I think it was through the ubiquitous new responsibilities that you made us better people, and we loved you even more for it. While you got up too early more mornings than not, it was always a great sendoff to work to see you waving bye. And it was fantastic getting to come home and have you pounding on the door (before I walked in) because you heard the garage open.
- So, we love you. Go out and enjoy the world. It’s beautiful, and we’re thrilled that we were the ones who got to bring you into it. If you’re reading this, we’re sad that we didn’t get to see you impact more of it, but there’s little doubt that you’ll make your mark with enough time. If you choose to have kids, I hope they’re overwhelmingly horrible and astoundingly beautiful at the same time. That’s a truism, though, and you’ll realize that if you have them.
Uncategorized -
Goddidit
Posted on September 15th, 2008 5 commentsI think in everyone there’s some sense of wonder. It manifests itself in stupid things (“what happens if I light my hand on fire?”) to funny things (“what happens if I put the cat in the crib with the baby?”) to awesome things (“why is light getting bent around some invisible spot in the universe?”)
As wonder increases, we’re required to shed some preconceptions. Maybe electricity isn’t magic, and follows a set of rules. Maybe bacteria doesn’t spontaneously appear (this was a valid theory for the origin of life for a long time), but comes from other bacteria and changes over time. Maybe there’s something to calculus, and not just a platform on which the professor can look down at you.
The stronger that someone holds onto these misguided notions, the harder it is to wonder and be amazed with the rest of the universe. Most of the assumptions are harmless and allow us to write off certain aspects of our world that we don’t care about (“computers are crazy”), but when the assumptions become all encompassing – a god – the whole sense of wonder thing goes out the window.
I’ve met people who are content with the idea that a god put everything here exactly as it is, and we’re just several thousand generations later. That’s absurd. I have family who deny that animals evolve. Ridiculous. That the LHC is pointless. What?
My guess is that it’s because the LHC is meant to recreate conditions at the beginning of the universe. This probably offends overly religious people, because it’s starting to hit closer to the crux of the religion.
On the flip side, though, I’ve got a pretty damn smart wife and a few friends who work hard to reconcile their religion with science. It’s much better that way. It allows for new antibiotics (because older ones don’t work as well against adapted bacteria). My best man majored in biology and can explain a lot more about the mechanics of evolution than I can, but he remains a Christian. My wife accepts lots of the things we talk about, and just says that it’s not a direct insult to God if we understand how the world works.
This is a step in the right direction. Not wondering about how the world works and how we can make it better isn’t. I’m fine with people who want to believe in a god (I see no reason for it, but I understand that it’s hard to dismiss myths that have been ingrained since childhood), as long as they’re for advancing humanity.
Fully embracing religion denies us that progress.
Uncategorized -
Stop yelling; start arguing
Posted on September 14th, 2008 1 commentThis is the 2nd political cycle where I’ve actually paid attention. I wasn’t a big Kerry supporter in ’04, but I was strongly anti-Bush. Unfortunately, the arguments that I had at the time were pretty ridiculous, and never resulted in anything except for occasional hurt feelings.
This was also during the time that I was trying to convince myself to believe in a god, so you’ll have to excuse my poor skills in reason.
After finally coming to terms that I just couldn’t reconcile all the stuff in the Bible with, you know, reality, I started taking a heavy interest in logical reasoning. I’ve read a lot about logical fallacies, which is helpful for 2 reasons: (1) it keeps you from making them, (2) you know when to identify them.
Logical fallacies, even when not explicitly identified, are poor tools of persuasion. If not identified, it can lead to the end of a discussion with “I understand your argument, but I’m not convinced.” If two people have an argument (competing claims, not angry talk) and neither side leaves thinking differently than they did before, I’d say both parties argued poorly.
After learning about these fallacies, reading more about things I cared about, trying to construct my arguments better and (kindly) rejecting fallacies from other people outright, I’ve seen fruits of my efforts. In the last 2 weeks I’ve changed the opinion of a global warming denier (from “I don’t even think the temperature is going up” to “oh wow, this is crazy that this is happening”), the opinion of a developer on test length (from really long tests to short, succinct tests), and the opinion of a guy who thought homeopathic medicine was worth anything.
This is a huge change from how things previously went, where in a roundabout manner we’d effectively be calling each other stupid.
So, here’s a short list of things you can do to start arguing effectively, and ideally stop wasting your time raising tempers:
- Don’t attack the other guy. While it’s rewarding to dismiss the other guy as an idiot, realize that he’s either privy to information that you’re not or has a misunderstanding of the issue at hand. It’s not a bad thing. We’ve all been wrong before. Well, except me.
- Don’t make fallacious arguments. While there’s dozens of names for different types of fallacies, I make sure I avoid the following:
- Straw man – A creatively worded version of the argument that’s indefensible. If arguing abortion, a good straw man would be “so you want to kill babies.” That’s an indefensible position, and the problem is that there are several assumptions in that statement that you might not accept. Are fetuses babies? Do I actually *want* abortions, or do I just want it legal? Etc.
- Non sequitur – A, therefore X, when really A doesn’t have anything to do with X. In latin, it means “does not follow.” Keeping with the political examples: “I’m Christian, therefore I vote for McCain.” The implicit argument being not Christian (not a bad thing, but to anyone identifying themselves as Christian, it is) means you wouldn’t vote for McCain. But both McCain and Obama are Christian – so how is that at all related? It’s not.
- Questionable cause – This happens when someone attributes something to something else, but the causal relationship is (ready?) questionable. Human brains are fantastic at identifying proximity and patterns and implying relationships. Example: A group of Christians prays for gas prices to go down, and after the prices start to fall, credit their god for the result. Not market forces like a drop in demand (caused by the high prices), which is a much more rational explanation.
- Post hoc – (The full name, “post hoc ergo propter hoc” means “after this, therefore because of this.”) This is a special case of the questionable cause fallacy that’s used a lot. The most impactful use case for this fallacy that I can think of is: “I got my child vaccinated, and then autism symptoms surfaced. Therefore, vaccines cause autism.” While people are great at making these associations, and it can be used to raise suspicion, it’s not an answer. It only means that the relationship might need to be investigated (which, in the case of vaccines and autism, it has been investigated, and there is no link).
- Ad hominem – An attack on the person. If we’re discussing the god question, and you call me “close minded,” it’s not an argument. It’s only an attack and doesn’t do anything to further either side’s case. This is the most common fallacy I’ve come across in arguing with people over anything. Including fast food restaurant hierarchy.
- Appeal to authority – This is only a fallacy when the sense of authority is suspect. Children will argue with their parents saying that their teacher explained the subject as X, but is the teacher necessarily an expert? I know if Nate comes home from a CS class and tells me something I know to be false, I’m not going to lend his argument any credibility just because he cites his teacher as the source. A favorite example: “Jerry Falwell said you’re going to hell.” What does he know about hell? Why is he an expert in it? Has he seen it, or just read someone else’s take on it, that was also suspect?
- Poisoning the well – Person A did X, which was wrong, therefore anything from A is wrong. This allows people to quickly dismiss arguments just from their source, without critically evaluating the argument. Example: Michael Irvin got caught with drug paraphernilia in his car. Therefore, his analysis of TO’s play on Sunday is worthless. The only thing Irvin’s drug episode tells us is that he might do drugs, but it doesn’t take anything away from his experience and insight as an ex-NFL receiver.
- Identify fallacious arguments and explain why they’re not effective
- Question vagueness. Last week, a guy was at my house and was explaining how he had to perform all sorts of things to make sure his router was secure. I doubted this from my experience with all the routers I’ve owned and from what I learned in networking classes and whatnot. Now I couldn’t really convince the guy that his router was set up fine most likely, but just by asking “what did you have to change?” and getting an answer, essentially as “stuff,” I knew the debate wouldn’t go any further. It’s good not to get into discussions when one party is ill-equipped. It’s always fruitless.
I’ve found by doing these things, my arguments come across as a lot more coherent. Also, interestingly, in my effort to make sound arguments, I’ve started evaluating my opponents’ positions more openly, and have found several times where their contention seems more reasonable. It’s not bad to be wrong, because as long as you realize it, you’re better afterwards.
Uncategorized -
Launched another site
Posted on September 13th, 2008 No commentsI decided a few months ago that I wanted to donate more to charities. So I started doing that. Then I decided that I should be soliciting donations from other people, too, since I know they have money.
Enter Half a Hundred. It’s a site named after NU’s offense back in the day, but isn’t related to college football. I’ll vet and post a charity every month and solicit donations for it. I’m not taking any of the money; I’m putting up a direct link to the charity.
So, head over there and read about the first charity I posted, and then donate. Kthx.
Uncategorized


