Netfirms Loses Power, 1 Million Sites Down

My website was down from 15:00Z to 22:00Z today (10 A.M. to 5 P.M. EST). This was the fault of my host, Netfirms, as they lost power today, and their backup generators failed. More about this here. So, while they claim to host one million websites, for seven hours today, they hosted zero (even their own was down for most of that time).

I get the most traffic on Saturday, so this was quite disappointing for me. I called them and was told I could write to, and they may consider compensating me. Here’s what I said:


My name is Richard X. Thripp and I’ve been a loyal Netfirms customer since August. I’ve been using your web hosting service extensively in the past two months, and have found it be good for hosting my WordPress photo-blog/shop at

I was shocked finding my website to be down this morning, and read online that you’d suffered a power outage, which is why your phones and website weren’t working either. It was from 10 A.M. to 5 P.M. EST today, Saturday, February 23, that my site was inaccessible. This was a bad time for me, as I’d just completed a print-based advertising campaign that went out to over 2000 people this week, and during the day on Saturday is when my website is busiest normally.

I called in and was told to email you to discuss compensation. It’s not so much the lost sales and ad revenue that bothers me, but rather the distrust and confusion among my clients and readership. The outage came at a bad time for me, so whatever you can offer will be appreciated.


[The “print campaign” started at the beginning of the month; I gave away over 2000 4*6 art prints, with my website on the back, to local art lovers.]

If you were affected, send them a message at

At least I’m back for now. :smile:

2008-02-25 Update: This post has been made at Web Hosting Talk, claiming to be from the president of Netfirms:

Thank you all for your support and patience while we worked on restoring services and fielding inquiries yesterday. I also understand that many of you had to endure a tough Saturday during this service interruption.

All websites are fully functional with data intact and your queued e-mails delivered by now.

To summarize, we experienced a total loss of power at our primary datacenter facility housing the Netfirms corporate sites and a large number of our hosted customer websites. During routine power maintenance by the facility at around 10:30 AM ET, all that redundant power that was supposed to kick in did not. We depend on our datacenter for clean reliable power. Being at a facility with over 18 power generators and housing almost every major carrier in North America, this was hard to swallow. While we got normal power resumed in about an hour, it took us longer to get the network reconfigured and hundreds of servers back online, properly configured.

At our corporate office, with websites being unavailable, we received a massive surge in phone calls, completely overwhelming our call center phone circuits. We had every team member from billing, sales and customer service responding to customers. There are definitely some changes we’ll make to ensure we are able to communicate updates better to you.

Over the past 10 years, our Technology Team has worked hard to ensure everything about our platform is more reliable, functional and redundant including web serving, email delivery, database, dns, file storage, routers, firewalls and network providers. Our Technology team will be making some changes to prevent such an extended service interruption including expanded usage of our secondary datacenter and of course our current power feeds, something we have taken for granted over the years.

If you have any questions, we are here to help.


Thomas Savundra

Netfirms, Inc.

I suppose that sounds reasonable enough. Don’t let it happen again, Netfirms!

Today’s Outage

If you visited today (2008-02-16) between 19:00 and 20:30Z (2 and 3:30 P.M. EST), the website vanished; all the pages would come up blank, with no error message. I thought it was the database’s fault, but through trial-and-error I found it was because of this bug in WordPress (more); when I was updating the CSS style-sheet several times in a row, it triggered a reset to the default theme. Since I’d deleted the default theme, there was nothing to load. So this doesn’t happen again, I’ve made a copy of my theme and put it in the default folder; the website won’t change even if it is reset.

13 Indispensible WordPress Plugins

I’ve broken my promise about focusing on adding photography, as I spent the last few days solving technical issues and making improvements around here.

Category URIs don’t have “category/” in them anymore, so you can get to the shop at, which is what I’ve wanted for a while. I got this working with Top Level Cats.

The comment section for each entry has been totally redesigned. You can subscribe to comments (Subscribe to Comments plugin), preview comments without a page reload (AJAX Comment Preview plugin), and subscribe to an RSS feed for the comments on each entry. I moved stuff around and renamed stuff so it makes more sense; the “reply to” (for comment threading) is now at the top so that when you click a “Reply to this” link, you don’t have to scroll up to see the comment box. I use Yet Another Threaded Comments Plugin (YATCP) version 0.6.1, in which I accomplished this by moving <?php yatcp_show_comment_parents($post_ID); ?> up above the contact boxes in yatcp_comments.php, and delinking the reply box from the comment form (comment_form) by changing add_action('comment_form','yatcp_show_comment_parents'); to add_action('','yatcp_show_comment_parents'); in template_functions.php.

I added notifiers for disabled JavaScript, because the “Reply to this” links, comment previewing, and the shopping cart require it. Try disabling JavaScript in your browser to see what I mean.

When viewing individual entries, there is a link to the next and previous entries above the similar entries list (Related Posts 2.04 plugin, which has been taken offline by its creator). I added <?php previous_post_link(); ?><br /><?php next_post_link(); ?> in my theme’s index.php file for the previous and next entries feature.

If that isn’t enough, first-time commenters will get an automated thank-you email, with a plug for my RSS syndication feed. The Comment Relish plugin makes this easy to set up.

My cousin wanted his own website, so I set it up for him in the same WordPress installation at (which just redirects to his category at I added him to the banner and sidebar, and he’s already got some photos up. I’m using , Bind User to Category, and Advanced Category Excluder, so that his entries stay off the home page, he can only post in his category, and he can’t go on a rampage destroying my website. The three plugins are playing nicely together.

I’m using SEO Title Tag to manually edit the titles of the home page, categories, and other pages; they’re more descriptive and search engine-optimized.

Admin Drop Down Menu makes it a breeze to navigate in the administrative section.

I thought I was adding too much stuff; I’m getting 35 MySQL queries on the home page, and 20 on most individual entries, with query times of 2-3 seconds on the home page and feed, and ~1 second on most individual entries. I have cheap shared hosting from Netfirms, and the WP-Cache plugin speeds up load time and reduces the server load, so this seems acceptable.

To make an even 13, I use Random Image Script for the random photos in my header. It isn’t actually a WordPress plugin, but it’s convenient because you can throw it in a directory with some images and call it like a normal image (an img scr HTML tag). To have three random photos, I just made three copies of the script. It’s an inefficient method, but it’s easy and the cool (or annoying) thing is the same images can show up in each box. Get three of a kind and you’re really lucky.

And finally, there is a bugs and problems page, where I list the problems remaining, which I don’t know how to fix and are fairly minor.

I’m $3.25 away from recouping my hosting costs on this website, though domain renewal is up in March and I’ll have to pay more for hosting in August. Save me from insolvency. :help: Buy three prints from the shop today—$3.85 shipped in the USA). :big-grin:

List of the plugins:
Top Level Cats
Subscribe to Comments
AJAX Comment Preview
Yet Another Threaded Comments Plugin (YATCP)
Related Posts (Original site, offline currently)
Comment Relish

Bind User to Category
Advanced Category Excluder
SEO Title Tag
Admin Drop Down Menu
Random Image Script

Sweet Progress

My pages’ URIs don’t have /index.php in them anymore, thanks to this WordPress plugin (Netfirms Pretty Permalinks). I can’t use canonical URIs because the hack requires them to be disabled. :frown: So, just use the links around here when linking to me, as they’re all fine. Looking at the WordPress forum, I’m glad I can have nice links at all.

I was getting memory errors in the administration panel, but they went away when I disabled MySpace, Facebook, and Xanga cross-posting. 2008-01-04 Update: It was the Google Sitemap Generator; I increased the amount of memory available to it (from the default of 16MB to 64MB), and it works fine. MySpace cross-posting still generates blank screens on my end, so it won’t return. I can’t get the threaded comments reply link to work with the new URIs, so you have to use the list below the comment box.

The Netfirms permalinks plugin doesn’t fix calls from PHP scripts using $_SERVER[‘REQUEST_URI’]. They still have the /index.php in them, which broke the sidebar log-in panel and reply buttons in comments. To fix this, in Yet Another Threaded Comments Plugin (YATCP) version 0.6.1, I replaced a portion of the template_functions.php file. This:

function yatcp_get_url(){
$my_url = '';
$my_url = 'https://';
} else {
$my_url = 'http://';
$my_url .= $_SERVER['HTTP_HOST'];
if($_SERVER['SERVER_PORT'] != '80'){
$my_url .= ':' . $_SERVER['SERVER_PORT'];
$my_url .= $_SERVER['REQUEST_URI'];
$my_url .= '#comment_selection';
return $my_url;

became this:

function yatcp_get_url(){
$my_url .= '#comment_selection';
return $my_url;

I’m not going to use the extra functions in the original code, so I removed them.

For the sidebar script, I just hard-coded the log-in/log-out URIs to the home page. Unfortunately, this means you don’t go back to the page you logged in or out from. These are both kludges though; I won’t need them once I leave Netfirms in August.

I changed the layout; the sidebar is stream-lined and the page margins are smaller to leave more space for the content. I’m particularly proud of the banner at the top; it displays three random photos on each page (currently, 26 of my photos are in rotation).

The website is looking pretty good, so I’m going to stop tweaking it for the next month, and instead work on adding photos. :)

2008-01-03 Update: Fixed comment reply buttons and sidebar log-in panel; updated entry.

Photography Shop

2008-06-18 Update: There is no more photography shop, so I took away the broken links. Read about why I removed it: Everything Old is New Again.

2008-08-17 Update:: The photography shop is back, reincarnated.

I’ve set up a photography shop here. Took me a lot of time to hash out the technical issues (I’m using yak and WordPress), so I’ve only posted one photo for sale so far. I’m selling 4*6’s only (you’d be surprised how artful they can look), matted on white card-stock. This is different from my deviantART shop, because I oversee the entire production and shipping process (my standards are high), keep more of the profits, and can offer my art at affordable prices. The prints are 95¢ each, plus $1 shipping in the USA, $3 shipping to Canada and Mexico, and $5 to Australia and the UK (no other countries yet). Shipping is flat-rate, encouraging my customers to purchase more of my work.

The shop integrates well with my blog too—I can post an “Add to cart” button right in the text of my entries, as I will be doing for most upcoming photos.

All the payments go through PayPal since that’s simple and easy to set up, though they take a chunk off the top (30¢ + 3% per transaction). Check it out and buy something sometime so I can have more money for photographic equipment. :big-grin:

Entry Mirroring

I added WordPress plugins to cross-post my entries to LiveJournal, MySpace, and Xanga from this blog. The LiveJournal and Xanga ones work best as they link here for comments and duplicate the content. The MySpace one only posts a link to the entry here.

Tomorrow, I’ll start adding new photos instead of fluff like this.

2008-08-17 Update: I’ve only kept the LiveJournal one. The other ones failed when I switched to WordPress MU.

First Entry

Hello all! I’m Richard X. Thripp, and 2007-12-23 marks the day of my first entry on my blog at The reason for the subdomain is so that I may share with friends and family without it being a personal website.

Unfortunately I have crippled hosting through Netfirms, and so all my pages must have “/index.php” in their URIs (2008-11-01 Update: switched hosts long ago). When I switch to a better host (I’m locked in through 2008-07), hopefully I’ll be able to redirect all old links to the new pages without “/index.php”. I was able to get advertising set up through Google Adsense, which may cover hosting costs.

Expect to see a lot of my photography and essays. Check out my about page, which lists me and my family’s websites, and contact information and pricing regarding my photography services (Daytona Beach area, Florida).

Go ahead and post some comments to get the ball rolling. No registration needed, for now at least (2008-11-01 Update: no registration required ever).