Wednesday, June 30, 2010

Government and the DRY Principle

I recently read a book called The Pragmatic Programmer, by Andrew Hunt and David Thomas. One of the things they repeatedly stress is the DRY Principle. Don't Repeat Yourself.

Any good programmer practices this rule, to a limited extent. Calling a function instead of rewriting the same block of code  over and over again follows the DRY Principle. But Hunt and Thomas suggest taking it even further, further than I would have thought practical.

Most people take DRY to mean you shouldn't duplicate code. That's not its intention. The idea behind DRY is far grander than that.

DRY says that every piece of system knowledge should have one authoritative, unambiguous representation. Every piece of knowledge in the development of something should have a single representation. A system's knowledge is far broader than just its code. It refers to database schemas, test plans, the build system, even documentation.

-Dave Thomas
They say to do that by using code generators, automated scripts and other such tools.

But I think this principle can be good outside of computer contexts. I think that it could be applied to the government, at least in some situations, to make it more efficient.

What brings this to mind is changing my address. You shouldn't have to change your address twice (once for the Post Office, once for the BMV). You should be able to change your address once, in one place and have that communicated to other relevant agencies. This would make the system somewhat more complex, but also more efficient and more consistent.

I'm sure there are other bureaucracies and other real life situations this would apply to.

Saturday, June 12, 2010

Why Do Atheists Talk About God?

If atheists don't believe in any god, why do they spend so much time talking about it? This is something that comes up when engaging in such theist-atheist discussions. It's usually used as a cheap attempt to discredit an atheist's points, or prove that atheists don't really disbelieve in god. Of course, such attempts are ridiculous, and, well, stupid.

But it's not an unreasonable question. Why would you spend so much time talking about something that you don't think exists? I can't speak for anyone else, but here are my reasons.

  1. It's interesting. Just because something doesn't exist doesn't mean it's not interesting to think about. I also like talking about elves and alternate histories. 
  2. I want to know the truth. If a god does exist, I want to know about that, and I won't find out by sticking my fingers in my ears.
  3. Finally, and most importantly, because people use their belief in god to support teaching creationism, banning abortion, bashing gays, mandatory public school prayers, and many other flagrant infringements on rights.