Greetings from Seattle

I’m currently hanging out in Brad’s condo. I’ve been in Seattle since Monday and have been having a great time. I’ve been running around looking for condos with three (yes three) realtors and it’s been insane. Lauren and I have our eyes on two units right now and plan on making an offer tomorrow on one of them. The picture to the right is the view from Brad’s new condo.

Seattle, from my point of view, is basically a miniature version of San Francisco. Same terrain (very hilly), same kind of people/vibe (hippies/liberal) and a decent tech area with Amazon, Real Networks, F5 and Microsoft all calling the area home. The best part is that the area has extremely reasonable prices. I’ve found large two bedrooms close to downtown for $180k, which would be impossible to do in San Francisco.

Brad and I have been working on some stuff for his August 1st rollout of a bunch of related material in between me running around looking at condos. Nights have been spent, of course, in the company of Brad and his friends at various bars in the area. The scene is very much up my alley: laid back. Not a booty shaking nightclub in sight, which suits me just fine. If you are interested at the massive array of condos I’ve looked at check out this link.

Kill, Kill, Kill

I don’t even have to comment on an article titled ‘Enemy Contact. Kill ’em, Kill ’em.’

“The first time I shot someone, it was the most exhilarating thing I’d ever felt.”

“Kill, kill, kill, kill, kill,” Hall says. “It’s like it pounds at my brain. I’ll figure out how to deal with it when I get home.”

“I enjoy killing Iraqis,” says Staff Sgt. William Deaton, 30, who killed a hostile fighter the night before. Deaton has lost a good friend in Iraq. “I just feel rage, hate when I’m out there. I feel like I carry it all the time. We talk about it. We all feel the same way.”

Just your daily message to remind you that war sucks brought to you by the young men fighting said war.

Run For Your Lives! The Gays Won!

All joking aside, yesterday was a major victory for those of us who think the federal government has no right to tell us who we can and cannot live and share our life with. Afterall, the pesky marriage licenses at the center of this debate were first issued to prevent interracial marriages.

Historically, all the states in America had laws outlawing the marriage of blacks and whites. In the mid-1800’s, certain states began allowing interracial marriages or miscegenation as long as those marrying received a license from the state.

The reality is that this is not a federal issue. It’s a state issue and should remain such. For instance, gay marriage would be perfectly acceptable to the majority of the people in California, but most likely not in Wyoming. It was for this reason why more than a few, including my favorite John McCain, broke ranks and voted against the proposed ammendment. The feds already allow states to ignore marriage licenses from other states so why does it matter that “civil unions” are legal in New Jersey? Wyoming and the many other backward thinking states can just ignore such licenses issued by New Jersey.

I don’t so much view this as a victory for gays as I do see it as a victory for privacy and states rights.

It's called responsibility

I recently posted about how I am in favor of legalizing drugs. This is a completely foreign concept to some, but makes a lot of sense if you cool your head and sit back and think about it.

My dad would often tell me when I was growing up that I could hate him and think of him what I pleased as long as I respected him. He taught me all about two key words that are lost on most Americans today: respect and responsibility. I believe in those two words very much, which is why I’m in favor of legalizing drugs. I respect your right, as perverse as it sounds, to destroy your own life. I respect myself enough to not use drugs. I’m responsible enough to realize that doing drugs won’t get me ahead in this world.

I think that more people should respect others actions, unless those actions tread on other people. What people are saying when they think drugs should not be legalized is that they don’t respect the decisions I make or think I’m not responsible enough to make the decision not to use drugs, which offends me.

I’d like to clarify a few things about my stance on legalizing drugs that some people forget.

  1. Legalizing drugs would allow us to regulate them, much like alcohol is regulated (ie. you can’t buy grain alcohol in most states). This would lead to safer drug use.
  2. I would want anti-drug campaigns to continue just as they do now.
  3. I don’t use nor wish to use drugs, but I respect your choice to use them responsibly. Just as I respect your choice to responsibly use alcohol now. I trust that you aren’t hopping in your car drunk and driving around and, if you are, then there are laws to deal with you.

Before posting a comment this time sit back and think about the statements above. If you’re a parent worrying about your child using drugs if they are legal, your naive. You need to be worrying about them using drugs RIGHT NOW. I can tell you from experience that drugs are readily available as soon as junior high. You know what you’re doing? You’re not taking responsibility for your child’s actions.

My parents were involved in my life growing up. They asked the tough questions, they made the tough decisions and they disciplined me whenever I screwed up. I see it too often these days that kids run their parent’s lives and not the other way. I used to say that I’d be cool to my kids, but now I realize that if I was their best friend I’d be doing them a disservice.

You heard it here last – crappy parents are responsible for rampant drug use among teens – not a failing war on drugs.

New Bush Policy: You're fired!

A new Bush plicy is starting to be used throughout government and it’s been properly licensed from The Donald. People in government who speak out against Bush policies or are critical of actions taken by the White House are being either forced out of office our outright fired for their criticisms. Just ask former U.S. Park Police Chief Teresa Chambers who was fired recently for criticising a lack of funding and support for our Nation’s parks.

“The American people should be afraid of this kind of silencing of professionals in any field,” she said. “We should be very concerned as American citizens that people who are experts in their field either can’t speak up, or, as we’re seeing now in the parks service, won’t speak up.”

National Park Service officials said Chambers broke rules barring public comment about budget discussions and prohibiting lobbying by someone in her position.

Shouldn’t she be the one lobbying for more funding if she sees a glaring lack of it? This makes no sense and appears, at least to me, to be politically motivated. Personally, I’d like to know ahead of time from the people in charge that we need more funding, more officers, etc. I’d also like it if they weren’t fired for telling me such things.

Articles & Publications

Articles, Publications & Software

This is a running list of articles, interviews, publications and software that I have written and were, at some point, published on various sites around the Internet. This will be a running list as they are published. The article links all open in a new window.

  1. Understanding MVC in PHP Sep. 15 2005 A four part series that covers creating MVC web frameworks using PHP5. Framework is the resulting code from this article.
  2. MySQL UC 2005: Ways for Using and Extending FULLTEXT Apr. 20 2005 My presentation, including source code on how to combine LAMP and MySQL’s FULLTEXT indexes to create useful site searching.
  3. Unfinished PEAR/Smarty Book n/a I was first approached by A+ Press to write a book about PEAR and Smarty in August of 2003. Due to editor problems on their end the book was never finished. Here are the first three chapters, which cover basic info about PEAR and Smarty, the base PEAR classes and how to manage PEAR packages. I’m releasing them under the terms of this site’s copyright terms.
  4. The State of Home-Brew PVRs on Linux Nov. 13 2003 at O’Reilly’s A brief look at the current status of PVR software for Linux. Includes comparisons of the Freevo and MythTV projects.
  5. php{con West 2003: MySQL FULLTEXT Searching Oct. 22, 2003 at php{con West 2003 A technical session given at php{con West 2003 covering the basics of using MySQL’s FULLTEXT indexes.
  6. Building an Advanced Mail Server Sep. 25 2003 at O’Reilly’s A detailed article covering how to install Qmail, SpamAssassin, virus protection, vpopmail on an email server. Includes instructions for installing Apache and utilizing the Squirrel Mail webmail front end.
  7. Finding Bad Spam Delights Geeks Aug. 04 2003 at Wired News An article about a now defunct project of mine called SpamChart. Talks about what inspired the project and geeks’ obsessions with SpamAssassin’s scores.
  8. MySQL FULLTEXT Searching Jun. 26 2003 at O’Reilly’s An introduction to MySQL’s FULLTEXT indexes, including how to structure the tables, perform queries and how one might extend this feature in MySQL.
  9. Smarty: A Closer Look Mar. 18, 2003 at A brief tutorial of the advanced features of PHP’s templating engine covering such topics as template caching, template security, and variable modifiers.
  10. Intro to PEAR Dec. 23 2002 at An introduction to using the PEAR library for error handling, database abstraction, and logging.
  11. SQL Theory & Howto Jan. 01 2001 at A brief overview of the relation algebra that SQL is based on and how to build complex SQL queries based on user input.
  12. XML HowtoSep. 07 2000 at A simple tutorial on how to parse XML documents using PHP’s expat functions.

Viable Alternative

Ever since Bush’s crappy foreign policy, horrible stance on the environment and the consisten eroding of my rights made me mad I’ve been shopping for a political party to register as and vote for. Easy you say. Wrong. Both Democrats and Republicans play to special interests, generally abuse the government and, overall, suck. So who do you vote for?

You vote for a viable alternative.

The Libertarian Party is an interesting hybrid of the Democratic and Republic platform, most of which are common sense. The end result is a great platform that includes all sorts of things I agree with and a few I don’t.

  1. They would eliminate the income tax. How? By drastically reducing the size of the federal government. This includes ending military welfare to defend countries like Japan and NOT bailing out failing industries.
  2. They promote the legalization of drugs as a way to both reduce crime and reduce tax burden (no war on drugs means we don’t have to pay for tons of DEA agents).
  3. Privatize the running, control and operations of federally protected lands to such environmental groups as the Nature Conservancy.
  4. Abolish foreign aid.
  5. Abolish Social Security. I like this idea the more I think about it. Let ME invest my money how I see fit – I don’t need the government’s help.
  6. They aggressively believe in freedom of speech, which includes staunch support for the free and unrestricted use of cryptography and censorship.
  7. Abolish the current welfare system.

All of the above makes a ton of sense to me. Who better to run our nation’s parks than the tree hugging hippies? How better to get rid of the violence the drug trade produces than to make it legal? The running theme throughout the entire platform is that the people who vote Libertarian do so because we trust people to run their own lives. It’s a party that promotes responsibility.

They have a great ad on their site that says the following.

I’m George W. Bush and you can trust ME to run your life.

I’m John Kerry and you can trust ME to run your life.

I’m Ralph Nader and you can trust ME to run your life.

I’m Michael Badnarik and I trust YOU to run your own life.

Classic. So this year I’m voting for the Libertarian Party and I highly suggest you look into it as a viable alternative.

9/11 Panel Raises Cheney's Bet and Calls

The 9/11 commission is standing next to their findings that al Qaeda and Iraq had only limited connections. Cheney and Bush have both insisted, publicly, that Iraq and al Qaeda had a working relationship and that “we don’t know” if they were involved in 9/11.

“After examining available transcripts of [Vice President Dick Cheney’s] public remarks, the 9/11 commission believes it has access to the same information the vice president has seen regarding contacts between al Qaeda and Iraq prior to the 9/11 attacks,” the commission said in a written statement.

That statement comes in the wake of an interview Cheney gave last month on CNBC. During that interview, Cheney said “we don’t know” whether Iraq was involved in the attacks. Asked whether he had information the panel did not, the vice president said, “Probably.”

After Cheney’s statement on CNBC, the commission asked the vice president to come forward with any additional information he could provide about any ties between al Qaeda and Iraq.

I’ve got a couple of questions …

  1. Why does the VP have more information on 9/11 than the 9/11 commission?
  2. If it would clear the air with regards to apparent contradictions between what the 9/11 commission found and what the Bush administration said leading up to the war in Iraq as well as comments made since the commission’s report, then why wouldn’t the administration give the commission said information?

The answer to that could be as easy as they don’t have any more information and are simply trying to confuse the public with doublespeak. I hope this isn’t the case, since there are over 3000 families out there that deserve to know all the facts.


The new site takes advantage of Apache’s mod_rewrite. In short, mod_rewrite, allows you to magically “translate” one URL into another without having to redirect the browser.

How could this possibly be useful to programmers? Well it has to do with a little site called Google. Most search engines have complex algorithms judging how valid a URL is. This includees both length of the URL and whether the URL is dynamic or not (URL’s containing GET arguments such as & = and ?). Many web applications use such arguments to dynamically build content, including JAX.

A good example is the default URL for a perm-a-link in my blog:


There are two problems with this URL:

  1. It’s extremely long.
  2. It contains an equal sign, which may keep it from being indexed.

Enter mod_rewrite. The module, through the use of regular expressions, manipulates URL strings. This allows me to turn /jax/index.php/blog/eventHandler=view/entryID=888888888 into /888888888/some-title-text. Below are a few examples.

# Put this in your virtual host definition or a .htaccess file

# Turn the module on
RewriteEngine on

# The first part of the rule rewrites /YYYY/MM into the dynamic
#URL the second part tells mod_rewrite what the "real" URL is
RewriteRule ^/([0-9]{4})/([0-9]{2})$ /view.php?year=$1&month=$2

# The first part of the rule rewrites /888888888/some-title-text
# into the longer dynamic URL
RewriteRule ^/([0-9]{9})/(.*) /view.php?entryID=$1

# This rewrites requests to / (the main index of the page) to
# my real index, which is stored lower in the document tree
RewriteRule ^/$ /jax/index.php/blog

There you have it. Apache’s mod_rewrite makes life a lot easier and should make your site loved much more by many search engines.