Text

Love is not all you need

You hear it all the time: stuff like “all you need is love” and “if you’ve got love, you’ve got everything.” If you’re talking about marriage, then this is a lie. Love is only half the picture.

The other half is simple: can you put up with living with that person forever? This has nothing to do with love. It has to do with putting the toilet seat down, putting the groceries in the right spots, agreeing on what to eat for dinner, sleeping with the fan on or off, deciding what to watch on TV on Tuesday nights, deciding who will drive and who will ride passenger, deciding what temperature to set the A/C to, deciding who takes the shower first in the morning, agreeing on what brand of toothpaste to use, deciding what type of dog to get and what to name him. It’s all the same stuff that you’d deal with if you had a roommate.

That’s not to say that love doesn’t matter in a successful marriage. It’s half of it as well. You must be able to put up with living with your spouse in order to keep living with him/her without going insane, and you must love your spouse in order to want to keep living with him/her.

Each of those parts is equally important. A marriage with love where you can’t stand living with the other person is just as bad as a marriage where living together is great but you no longer have feelings for the other person. It’s unfortunate that the prevailing message is that love is everything in a marriage, when so much of a successful marriage is just the ability to put up with the other person. A couple very much in love may fall to bits when faced with the task of living together peacefully.

Love is important, but it’s by no means the only factor.

Note: there is no personal hidden meaning in this post. Nancy and I live great together.

Tags: Rant
Text

What not to say to soon-to-be parents

As a dad to be, I’m more or less a trained expert on this now.

Aren’t you SO EXCITED?!?!

Sure, we’re excited. We’re also nervous and stressed and paranoid and freaking tired of people asking if we’re excited.

(To the mom) Oh, you’re feeling [insert some horrible pregnancy related condition here]? Well just try [insert stupid home remedy or food here]! It works wonders!

No it doesn’t. Go away.

Oh, you’re going to name it [insert name here]? Well, what about [insert completely different name here]? I like that a lot better.

Hey, great! Let’s drop the name we love and decided on in favor of a random name from a stranger!

[Person starts rubbing the mom’s belly]

Good idea! Here, let me pick your nose.

[Upon seeing a random kid misbehaving] You better get used to that now! You’ve got one on the way!

WTF! I do?! And you’re telling me kids are bad sometimes? I want out!

Were you trying or was it an accident?

Don’t know what to say about this one. It’s just really really awkward to be asked that.

Are you going to have another one?

We were kind of hoping to have this one first, and then decide. Is that ok?

Text

The Number One Rule of Open Source

If I had to pick one thing and only one thing that bugs the hell out of me these days about the state of open source, it’s this: criticism without the ‘constructive’ part.

I’m not going to go through the whole “It’s free! They’re doing it in their spare time! Be nice to them!” stuff. In the end, code is code. Bad code should be identified and worked on no matter if it was written for free or for a million bucks. However, I’m going to harp on the fact that contributions are the stuff of open source, and the voices of the community are what gets changes in place.

So when you try something out, realize it doesn’t quite work like you’d like, and then post a tweet like “Man, blahblah really sucks!”, you’re making a lot of smart people hate you. You’re whining about something which THRIVES on people helping out, and you’re not offering to help out or even give guidance as to where others may help out. Your problems will never be fixed until someone much nicer, smarter, probably better looking than you comes along, recognizes the same problems, and turns these problems into recommendations or suggestions.

Here’s what those better looking people do that you should be doing:

  1. Go to the blahblah issue queue.
  2. Post your problems with it and suggest ways for these problems to be fixed.
  3. Smile. You’ve just helped open source.

But since so many of you haven’t been doing that, now I’m all upset, and in honor of my disgruntled state, I will now coin a term. That term is OSDB.

And no, dear friends, the DB does not stand for database. It stands for douche-bag. Open Source Douche Bag.

Open Source Douche Bag (OSDB) n. One who criticizes open source software without offering ways for it to improve. An OSDB may post a whining tweet, or a passive agressive blog post, or he/she may just grumble to themselves. However, these grumblings never manifest themselves as constructive criticisms or suggestions.

Example OSDB remark:

This interface is terrible!

Example non-OSDB remark:

This interface would be improved a good bit if ____.

See the distinction? You don’t have to submit patches. You don’t have to dig through code. Just say what you would like instead of what you don’t like and we can all go home happy.

So spread the word. And don’t be an OSDB.

Update: As the comments so gracefully pointed out, the personal attack was misguided, unnecessary, and embarrassing to the Drupal community. So I removed it. Sorry, Mark.

Text

Response to “Why running the White House Web site on Drupal is a political disaster”

The original article which I will be tearing apart is here at Slate Magazine.

So let’s get started! Chris Wilson of Slate Magazine recently posted an article detailing how the White House’s move to Drupal is a political disaster. If anything is a “disaster”, it’s the article itself, which apparently is written by someone who read an intro to Drupal and has never used a CMS before at all.

First of all, I’d like to say that even if his points were true, it would still not even be close to a political disaster. I sincerely doubt that ANY politician would question the White House administration based on the technology used to run its website. Most would probably go out of their way to avoid hearing about it.

Anyways, the first wrongdoing:

Drupal knows best. It’s not that Drupal thinks you’re evil. It just thinks you’re ignorant. In a basic setup, the software is suspicious of everything you try to do. Should you, say, go completely rogue and try to add some Javascript in the body of a page—a 14-year-old technology that controls interactive components like buttons—the platform will have none of it.

What? First of all, JS can easily be embedded if you know ANYTHING about Drupal’s input formats, specifically the fact that there’s an input filter which you can disable. The default input format (Filtered HTML) doesn’t allow it for security’s sake, but it can be changed in about 2 seconds. Come on.

Also, the example he proposes (which involves putting a mouseover popup in a page’s content) would ALWAYS be done with external Javascript pulling the link’s title and displaying it in a fancy way. Nobody would put that JS right into the content. That’s gross, even though Drupal will allow it. So he’s doubly wrong.

Drupal is impenetrable. Even the software’s defenders admit that it is hostile to newcomers—or at least indifferent to their plight, as a University of Baltimore study found. The apologists will tell you that, once you scale the learning curve, it gets much easier. This is probably true, but a lot of ordinary, code-fearing people who just want a simple Web site are getting left behind.

What does this have to do with anything? Drupal has a learning curve. So what? The site’s already been built, the learning curve has already been tackled. It’s over.

Drupal hates change. Want to modernize Drupal by upgrading to a newer version? Ask these guys how that worked out for them. If Drupal were a piece of legislation, it would be the farm bill: desperately in need of an overhaul but unlikely ever to get one because entrenched interests keep the forces of reform at bay.

If by “hates change” you mean that Drupal doesn’t continually change, then you’re wrong. Drupal is consistently ahead of the game in terms of functionality, flexibility, technology, etc. Look at the changes from D6 to D7 for an example.

However, if by “hates change” you mean that upgrading is a pain, then it depends. Upgrading to a new major version release is a pain in that modules and themes have to be updated, but major versions are only released about every 18-24 months so even if you do decide to update your sites, you’re only doing it every 2 years. Upgrading to minor maintenance releases takes all of about 3 minutes. I’d for one MUCH rather have a system that was a little tough to update when a major release comes out than a system that makes updating easy by staying backwards compatible and never revolutionizing itself.

Also, I still don’t see what this has to do with politics.

Drupal is disorganized. Instead of displaying your pages in folders that you can browse, like you do on your personal computer, Drupal provides a nightmarish content list. To find what you’re looking for, you have to search for it.

A lot of Drupal sites have hundreds of thousands of nodes. Try finding those things if they’re put into folders. Folders also constrict your way of thinking. Say I want to have one piece of content reachable from two places in the menu system, or I want to have two path aliases point to the same thing, or I want to have one blog post in the top level navigation while all the others are just plain old blog posts.

And unlike most content management systems, Drupal doesn’t have a convenient way to prevent two people from accidentally editing the same page at the same time.

Not only is that not true (the second user would get a message saying that you can’t save without overwriting someone else’s changes), but that link has absolutely nothing to do with the topic.

Drupal is righteous. The open-source movement has done wonderful things for the Web. But at its core, it remains a religion. If you went to DrupalCon in Paris last month, then you would have almost certainly come across proselytizers of one the movement’s fundamental tenets: Drupal doesn’t break Web sites. People with Drupal break Web sites. Most problems with Drupal stem from people who “don’t get it” or aren’t using it correctly. This is probably true, but it’s not much consolation when you spend 45 minutes trying to upload a photo.

[citation needed]

This is just some grumpy opinion passed off as fact.

Come on, Slate. Do a little research. Don’t be so dramatic.

Text

Progress Ruins It (Or, Drupal Is Boring)

I love Drupal, don’t get me wrong. I have a really soft spot in my heart for ExpressionEngine too. And WordPress always has its place. But I’m growing more and more frustrated at the various CMS’s out there for one reason and one reason only: they’re too easy. Here’s a typical day spent building a site in Drupal:

  • Fire up the browser and go to the admin section.
  • Click around and change a few options
  • Go to Drupal.org and download a few modules
  • Copy them to the /sites/all/modules folder
  • Enable them in the admin section
  • Click around and configure those modules for awhile
  • Log out, test the site as an anonymous user
  • Log in, fix whatever didn’t work (usually permissions issues in my case)
  • Repeat until the site is finished.

Of course, this isn’t always the case. Often you’ll run into cases where custom modules need to be built or contrib modules need to be extended, etc., but more often than not, you can build a whole site without any code. The exception to this is the templating which is really more annoying than fun. To illustrate, here’s the process for templating in Drupal:

  • Start with a PSD
  • Slice it up
  • Code up a static template with flat HTML/CSS (this is usually the fun part)
  • Create a new Drupal theme (usually by adapting Zen or Basic or BlueTrip or Starkish whatever)
  • Delete all preloaded CSS and upload your CSS
  • Open up page.tpl.php and throw in your container divs
  • Spend a while changing your CSS selectors to match what Drupal gives you

Boo. Coding is all about finding clever solutions to unique problems, and so far, the only part of the Drupal process that lets us do that is the slicing and dicing, which isn’t even really part of the “Drupal process” if you think about it. The beginner to novice at any of these CMS’s will love this, because it’s amazing the amount you can accomplish in a short period of time without even really doing anything yourself. That’s great right? Well yeah, sort of. It’s great for budgets and time constraints. It’s great for happy clients.

But it’s just not any fun. We didn’t learn how to build compilers and optimize enterprise web applications in school so we could click around all day. After the first couple sites built on Drupal, you find yourself hungry for coding. You need to code! You need syntax errors and for loops and SQL queries, all that meat and potatoes stuff that comes along with web development. And don’t say “well just code your own modules, then!” because that ruins the point of using a CMS. Why use something on the basis of it being so powerful if you’re just going to ignore all that and make it powerful yourself? That’s stupid.

It seems to me that we’ve taken so many steps forward by now that we need to take a couple steps back. I can now set up a full-featured ecommerce site with no coding whatsoever. I can set up a social network with nothing but a tiny bit of knowledge about FTP and Databases, and access to Google. Drupal is the “Self-Checkout” of web development: it’s progress because it saves time and money, but it’s depressing because it invalidates the education and jobs of the cashiers who used to do the checkouts (ok, maybe a bad example). I find it hard to believe that I’m called a “web developer” when all I do is enable and configure somebody else’s code.

I feel like I need to mention the happy medium: frameworks. Anybody else tried Django? Or CodeIgniter? Or Cake? Or anything out there? If you have, I’d be willing to bet you enjoyed it. Why? Because it let you code! And we’re not talking about the grunt code of opening and closing DB connections or validating email addresses. We’re talking about the awesome stuff…intense image manipulation algorithms for example. Or unique user input processing. Or anything cool and not boring.

I will never say that frameworks are gaining ground because they’re the end-all-be-all of web development. They’re not. If anything, Drupal is, because it makes everything so doable. But frameworks are gaining ground because they’re the perfect balance. You can do just enough coding but also have just enough handled for you. But the CMS is still king, and looks to stay there for awhile.

I don’t know if there’s really anything intelligent to take out of this. Drupal will be around for awhile because of the amazing timesaver that comes along with the extreme power and modularity. Developers will still push it because faster site turnaround in general means more sites which means more cash, and the average worker will take more cash (i.e., Drupal) over more interesting projects (i.e., Django) any day. And I can’t say that I wouldn’t. We all have to eat. It’s just a little disturbing to have your jobs reduced to pointers and clickers. It’s boring. It’s scary.

At the rate turnkey solutions are progressing, I’d be willing to bet that it’s only a short matter of time before the bulk of Drupal’s downloads go from developers to end users looking to cut out the middle man. I’m not going to say that we need to be worried about job security. There will always be the anti-DIY types, or the non-technical types, or the types who need really complicated sites (i.e., custom Drupal modules), etc. So don’t call it paranoia. Just call it food for thought. Call it stupid. Call it Ralph. I just think it deserves your point-and-click brainpower for minute. Thoughts?