• Don wanted a way to block access to his blog while he was fiddling with it. He found information about the 503 code online.

    Of course, they want to return different codes for search engines and for users. We figured we wanted to return the same thing for users and search engines; after all "Service Unavailable" is the actual status, regardless of who's visiting. The only exception should be the blog maintainer.

    Here's the .htaccess we worked out:

    [code] RewriteEngine On RewriteBase /serendipity # Allow blog maintainer back in RewriteCond %{REMOTE_HOST} !^your\.IP\.address\.here # Don't loop forever RewriteCond %{REQUEST_URI} !^/503\.php RewriteRule .* 503.php [L] [/code]

    And here's the 503.php file I like:

    [code] Get Off My E-Lawn!

    Get Off My E-Lawn!

    I'm busy maintaining the site. Please don't step on the grass.

    I should be ready for visitors again in under an hour.


    We use a PHP file so that we can set the header, and so we can include a retry period for search engines.

    If you're one of the few whose server allows [R=503] in the .htaccess, there's an even easier way outlined in the article details.

    Continue reading "Blog Maintenance and the 503 Status"

  • Serendipity 1.4 just went beta! That means my new upload validation code comes into play.

    I developed the code a while ago, when people on the forums were having trouble with corrupted uploads. Some clients were uploading everything in ASCII mode, some were skipping files... it was a nightmare.

    The new validation is working, but as more people start testing it, we expect to find the edge cases. Like the installation problem reported on the forum.

    Turned out the FTP server was stripping all the linefeeds out of a weird file. I made a PHP application to check your FTP client and server for hiccups like the one that hit rj. You should be able to just unzip it and upload the files to your server; when you visit sumcheck.php, it'll explain what you should be seeing. You can let me know on the forums (or in the comments) if you find anything interesting.

  • This has been a difficult couple of weeks for everybody. The whole family has been busy, and we haven't been getting to sleep on time because we've been checking out schools for next year.

    But in spite of everything, Tatiana has still managed to keep her straight-A average and stay on the Honor Roll! Today is the breakfast; I can't be there, but Eri is going.

    Congratulations again, Tatiana! We love you!

  • Dweet! Dweet! Dweet! Dweet!

    A while back, I said a little bit about Intolerant Politics. Here's a practical example.

    I should have predicted this; it would have been simple enough, but I was too busy making my point to think that far in the future. With hindsight, I can at least say: I'm glad we didn't get the interior window decal.

    Pause to consider that for a moment. Someone was frustrated and angry enough to violently destroy my property... and they know where I live. They may know who my children are. Should I let my kids bike to school this morning?

    Melissa's school is largely McCain supporters. They've been saying terrible things about Obama. How are they going to act this morning?

    This is what happens when we categorize and vilify people, instead of making plans. We wind up making effigies of our opponents, which makes it impossible to accept them. Then we extend those characterizations to their supporters.

    To attempt the foresight I skipped in the earlier article, I must wonder where all this will lead. Obama has been thoroughly dehumanized for many McCain supporters. If they cannot accept him as president, what will they do? Leave the country? I don't think so. It's more likely we'll see some attempts at violence.

    We can't claim to be a great nation when half the people can't tolerate the other half. We can't achieve our great goals when half the people refuse to participate, or actively oppose us.

    To be a great country, we need to be a complete country. We must go farther than tolerance: we must respect those who differ from us. Even those who oppose us.

  • We've been having trouble with the Dish Network satellite lately. It always cuts off in heavy precipitation, but something broke last week, and we can't pick up any signal at all any more.

    Eri has been hoping to buy a Roku to compliment our NetFlix subscription. And she figured if we cut off the satellite and Tivo, we'd have enough money for the Roku.

    Unfortunately, Melissa wasn't very happy with that idea. She overheard the wrong thing, and thought we'd be cutting off the TV altogether. Even when we explained that we wanted to replace it, she wasn't very happy.

    Of course, I promised not to turn off the Dish unless we all thought the Roku was a suitable replacement. But I needed to sell it somehow.

    So I came up with The Awesome Channel. I should've been in marketing.

    Read on to see how it all transpired.

    Continue reading "The Awesome Channel"