Compare and contrast backup strategies

On the one hand, you have Jeff Atwood’s Coding Horror, a blog about programming read by thousands if not hundreds of thousands of people. And by the same guy, blog.stackoverflow.com. His backup strategy was to make copies of both blogs but leave them on his hosting site, and trust that when the ISP said they had it backed up, they really had it backed up. Of course, the ISP had some sort of hardware failure, and when they went to restore their backups, they found that they didn’t work. He’s now trying to reconstruct his articles (but of course not the comments, and some very few of the images that went along with them) from Google’s cache, the Wayback Machine, and the web caches of his readers.

On the other hand, you have this blog, which is about nothing in particular and read by probably 15 people tops. My backup strategy is this:

  1. Daily database dumps, copied to another file system on a different physical volume on the same box. That’s there mostly to quickly respond if I accidentally delete the database or an upgrade goes bad or something. If my blog got more traffic and more comments, I’d do those dumps more frequently.
  2. Another backup and a tar file just before I do an upgrade.
  3. Daily rsyncs back to my Linux server at home. I keep a week’s worth of those.
  4. Daily copies of that local copy to removable hard drives. I keep a month’s worth of those.
  5. Every week or so, I move one of those removable hard drives to a physically remote location.

And I did this when my blog was hosted on a VPS that the ISP claimed had some sort of backups and now when my blog is hosted on a 1u box that I bought on eBay and stuck in a local colo facility. As far as I’m concerned, you’re not backed up until the backup in your pocket.

Oh yeah, did I mention that some of those Coding Horror blog entries that went missing were about backups and how important they are?

I’m sorry, but the idiocy of this just leaves me shaking my head in wonder about why anybody ever believed anything he ever said about computers. On the other hand, it also makes me glad that I don’t have a huge audience hanging on my every word, because someday I might get something wrong (hey, I know, not likely, right?), and schadenfreude’s a bitch.

Editing fail

So I was reading a story in this month’s Analog magazine, and encountered the following paragraph:

“They company wantoffered me a promotions me to learn aboutlead a new technology group, something I saw in the Dakotas a few months ago,” Gus replied. “It’s a nice increase career move if I accept,” Gus offered.

I swear all spelling, punctuation and spacing is exactly as it is in the magazine. It’s almost as if somebody took the blue pencil markup version and put in all the new stuff without taking out the old stuff. And then later in the same story:

His The aesthetic principles approach would disappear be lost when Phil’s new technology was perfectedused.

Doesn’t Analog have proof readers for this sort of thing?

(What does it say about my age and penchant for trivial that I know this much about obsolete book and magazine editing even though I’m not a writer or an editor?)

Reading Comprehension 101

After updating my resume on Monster the other day, I got an email today:

We found your resume and are very impressed! We believe you have the qualifications we’re looking for to fill our open insurance agent position.

Somehow I think they stopped reading my resume after they found my email address and postal address (because they did say they were representing the Rochester branch). Other than those two items, I can’t think of a single thing in that resume that would make some think I’d be willing to be an insurance agent. I think I’d rather live under a bridge.

Why, Google, Why?

I’ve been banging my head against this one for over a day now. My loop that was supposed to run when the value that came back from the cookie was null wasn’t running. It was only after exhausting every other option that I discovered that in GWT (Google Web Toolkit), Cookies.getCookie(cookieName) doesn’t return null when the cookie isn’t found, it returns the string “null”. You know, four characters, starts with the letter “n”. WTF? That’s just plain bizarre.

Have some self respect!

One of the things I see a lot on the StackOverflow family sites are questions about how to minutely monitor employees. The latest one was a question on how the person could start up a continuous video capture of a remote employee’s screen from the moment the person started work to the moment they stopped, and have it stored in real time on the central office servers.

My advice on every one of these ones I see is “learn to trust your employees. If they are producing enough good quality code as to be worth the money they’re paying, it shouldn’t matter how many hours of solitaire, StackOverflow or porn they’re looking at while they produce it.” (Obviously not porn in an office environment, but you get the idea.) And if they aren’t producing good quality code, then deal with the problem. In other words, act like a manager not a slave overseer.

Ok, I can see why bosses might be so misguided as to have no clue as to the creative process and so think this is something they need to do, but why the hell would programmers be so whipped and beaten that they’d agree to such a travesty? Don’t they have any insight into how their own minds work? Do they think this is normal to be treated like cattle?

The latest one, the boss offered the excuse that he was doing it so he could check the guy’s code quality. How does watching him type it in give you a better idea of his quality than looking at the code after it’s checked in. Insist on daily checkins if you wish, but don’t sit there analyzing his every key stroke. He also compared it to an open plan office. Yeah, if a boss wants to walk around an open plan office once in a while, that’s fine. If he wants to set up a video camera watching over my shoulder, and says that video is going into my employee record, or even worse, doesn’t tell me what he’s going to do with that video, I’m walking. And I’d suggest anybody with a shred of self-respect should do the same.