This is the moment we've been preparing for for months. The sweat. The sacrifices. Loss of good code. These are the hardships of our web development.

Although the enemy has pushed our release date back time and time again, we will prevail.

Today we assail their gates. Today we will cry victory.

Riley's making a Peanut Butter and Jelly sandwich, singing "peanut butter jelly time, peanut butter jelly time" as he spreads. I've got The Cure's "Friday I'm in Love" stuck in my head. Abby's affixing suction cupped controller nubs to the face of her iPod Touch to play Lego Harry Potter while ignoring her Cheerios.

I made my coffee this morning. This itself brings many thoughts to mind. Amazon is discontinuing their "subscribe and save" program for the 24-count boxes of K-cups we use to make coffee. They're instead offering to ship 50-count boxes, but I have to respond to their email in 11 days or I won't be able to switch my subscription. On top of that, we've changed the formula for the coffee after it's brewed: Instead of the flavored creamer we were using, I'm adding sugar-free hazelnut Monin, half-and-half, and a pack of Truvia. The box of wooden stirrers I bought is working out well to reduce the churn of spoons through the dishwasher.

My hunt for a good to-do list continues in earnest. I've not been thankful enough about people's suggestions, but I'm still trying them all. I've got 14 apps on my iPhone to track to-dos and they all have some simple failing. Too complicated, lacking a critical feature, ridiculous "imitation leather" styles, no cloud sync... I'm being picky, but I have to because after I choose, is there a way to migrate between any of these apps? No.

I've got D&D this weekend. I have the plot outlined, but I need to flesh out the parts that we'll be playing before game night. In last month's episode, players fled the Canith mine in Eberron's Mournland via flying ship, but the ship was so heavily laden with spoils that it was vulnerable to ground-based war forged reavers. They shot the ship from below with basilisk-mounted ballistas, and nearly caused it to capsize. Homunculi boarded the ship stealthily and tried to escape with a mysterious artifact recovered from the mine. Players returned to a surprisingly bustling marketplace with two missing brothers, and clues as to the direction of an errant sister. An overabundance of goods is expected to be exchanged in the market for gold and better equipment.

I transferred all of my sites to a new server last night. Slicehost has served me well, but the server I've had there for four years is showing its age. I started out with Debian Etch, and recently tried to upgrade to a newer version to get PHP5.3, among other things. While the upgrade was superficially successful, the server had started experiencing issues that required me to restart it very frequently all day yesterday. Since I can't be bothered to babysit the server all the time, it seemed like it was time to do a proper transplant. So I installed Ubuntu Maverick on a new Rackspace Cloud server and migrated everything over in one fell swoop. It was surprisingly not as painful as I expected it to be. But I'm sure there are issues lurking that I'll have to deal with in the next couple days.

This reminds me of Habari. If I've moved all of my servers off of Slicehost, Habari DNS needs to be migrated, too. And that'll coincide nicely with Habari's 0.7 release, which should be at RC3 as of this morning. I'd really like to get this out the door, since it's been much too long in coming. I suspect that 0.8 will be out very quickly after the 0.7 release, at least in relative terms (which could make, what, 8 months quick?). 0.7 has a lot of crazy giant leap improvements over 0.6. I've seen a handful of great sites being built on HEAD, and I'm enthusiastic to see what people do with the new platform.

Work progresses workfully. That's primarily what I need the to-do app for, to keep things straight. Makes me want to work on Stonepath. Makes me want to write TinyTask. Instead, I'll just write a barcamp scheduling app, since as far as I can tell, there aren't any that people have written for deployment, and that can probably be done in a couple of days.

Also this weekend is Girl Scout ice skating night, a probable trip to the tax office, and hopefully a meal or two out of the house with the family. Being cooped up indoors all week takes it's toll.

Now my coffee is over and the kids need to get on the bus.

Well, if not "ever", then a long time.

Work was crazy this week. After tomorrow, I will have commuted into the city 3 times. That's pretty nuts.

Berta's been out a couple of nights this week, leaving me and the kids to fend. Between trying to get Abby studying and Riley's continuous demands for an egg hunt (?) they're keeping me busy.

Tomorrow is an all-day training session for work, followed by a night out at a country bar (hrm) for our neighbor's 40th birthday.

I feel like I haven't slept since last Wednesday. Plus the spring weather has arrived and becons me out. And relief doesn't even come on Saturday, since we have another appointment with the tax lady. Exciting!

This weekend is also a Habari bug hunt, which I'd like to be more involved in than I had been hunts prior. Anyway, I'm excited about some work I've done there recently.

I guess that's all I have time for now. Back to work!

Many designers (and the people that hire them) don't realize or appreciate what happens on the development side of their web projects. Tweaking things a pixel this way or that for them is a matter of dragging it around in Photoshop until it looks good. They then hand it off to a developer expecting it's done, when in reality we not only need to do the same thing they did (at least in terms of positioning, if not aesthetics), but we have to do it by typing in code that they're typically completely incapable of producing themselves. Regardless of having to reproduce their designs in code, we frequently need at least rudimentary skills with design tools like Photoshop both to open their files and prepare their designs for the web, and the overlap is such that the only things we're really missing are 4 years of design classes (trivial compared to what we're forced by our profession to learn almost daily), and that harder to obtain ineffable sense of what "looks good".

In addition to converting their designs to code, we often need to produce, install, or at least troubleshoot a back end that lets someone create content, make it account in some way for the fact that those content creators are going to screw up the designer's pixel-perfect vision for the site with poorly-formed content, and code it all so that it scales over hundreds of pages that individually vary the one or two designs they've so elegantly produced. And too often, we're left to explain issues to the client of why the site doesn't do anything interactive (because there's no design for it), or why their navigation colors won't appear on top of the image that the client swaps in later (because it doesn't magically change from low-contrast black to high-contrast white), or why search engines will never find that paragraph of text that absolutely must be in that bizzaro font in that weird texture pattern in front of that stock art I've seen lately on your competitor's site.

I recognize that I do not have a designer's design skill. Nonetheless, what I do is not only a completely congruent skill set - in my estimation, requiring more than just the designer-like natural ability to be creative and persistent competence, but also real, continuous learning and refinement of technology and technique - but it is also an art in that it takes creativity to solve all of the problems that these graphic designers carelessly cast to us to solve without a clue themselves for how to do it, or even in most cases that it's a problem at all.

Yes, it's work, and it takes time, and it's every bit as complex as as design, and takes just as much creativity. Just because you can't see it or understand it doesn't mean you should not appreciate it; doesn't mean it is not so. I'll never be belittled by a designer again. My accumulation of years of experience applied to turning your pretty pictures into a working, breathing web site demands your respect, and I'll have it.

And to any designer that says "that's not me", sure. You're right. That's not you. But if you're saying, "I don't see what's so hard," then you're the one with the problem. But you're not reading my site anyway, are you?

By now you should know that I've been posting a list of personal principles for the past few days. Yesterday's was about moving forward every day. Today's is about getting the most out of work.

I remember growing up always being encouraged by my parents to reach for the stars. There wasn't anything they discouraged me from when thinking about what I wanted to be when I grew up.

It started at an early age, when I wanted to be an astronaut. Now before you laugh, I put some actual planning into this. I had a kind of path to my goal sorted out -- I would enter the Air Force Academy to be an aeronautical engineer, become a pilot, and eventually fly the space shuttle. All of this came to a crashing halt when, in preparation for my future years of touring the stars, I took a drafting class in high school and found myself in a remedial math class on fractions for the vo-tech crowd.

There's nothing wrong with vo-tech, and nothing wrong with remedial math, but when I was taking Advanced Placement Honors Calculus at the time, remedial fractions broke my delusions of getting ahead in aeronautics in high school. Nonetheless, my parents were still encouraging.

I don't know why, but I remember many days when Dad would come home from the cookie factory, and he'd tell me, "Do what you love." I kind of understood that at the time. It seemed like a simple concept. But it's really not.

I'm not even sure my dad understood it the way I understand it today. Today, I don't think about doing what I love. I do love the field in which I work. I think that's part of my problem sometimes - feeling like a dancing monkey, putting on my show whether I want to or not, just as long as they're cranking the music box. But that's obviously not the solution or the today's rule.

What I'm talking about is getting work to feel like it's something so involved, so fun, so engrossing that they shouldn't be paying you to do it. Think of maybe one of those effortless days when you start in the morning, and before you know it it's dark outside, and you're high on the activity of work itself, and you're feeling sad that you're going to stop.

Maybe I'm the only one of us having those days? I hope not. If I am the only one, then you're doing something wrong. I don't have those days every day, but I know I can, and that's pretty important.

So that's the nature of this rule: Push yourself to be in the flow.

It's hard to quantify. It's harder even to say how this should be done. I know there are a lot of books on "flow", which describes a kind of altered state of being. "The Zone," some people call it.

As they say, recognizing that it happens is the first step to repeating it. I recommend that if there's any place you do get into the zone, it should be work. When marrying this concept with what my parents always told me about doing what you love, I think there's an endless amount of happiness to be found in doing what amounts to basic subsistence.

Sure, it's a simple rule, simply described, but sometimes those are the best. If you have a problem with that, or you want to applaud it, the comment form is there for your submission.

Tomorrow's principle is the most esoteric and mystical of the bunch. I've been struggling all week with how to even present it, but whatever -- I wrote it down, and it's one of the oldest ones, so I have to pitch it whether I fail or not. It's called, "Zero Is Bad." I'll probably be cursed just for saying it aloud, too.