Logo
Entries about technology. Website-related news. Projects that I'm working on. Code, web services and more. Programming insights and help. Space
Space

The Throwdown: GoDaddy vs. FatCow.

0
Posted on May 06, 2010 by Jimmy K. in Articles
We’ve used GoDaddy for a long time. Almost every website I’ve ever developed has been hosted through GoDaddy, which is fine if you’re running a small website and your MySQL database use is kept to a minimum. While this may be the scenario for most of our clients, this is not the same for us. We operate a local email marketing website called BHI Marketing Tools and as you can probably imagine, our database use is very heavy.
GoDaddy vs. FatCow
Our online application used to be hosted with GoDaddy, but in the last year, their service has really tanked. Frequently, when I call about a problem, the customer service representative doesn’t know what they’re talking about and I have to wait while they confer with their peers to find a solution. Which is fine because I understand that GoDaddy is a large company and not every employee will know the inner workings of hosting, servers, etc.

However, the intermittent downtime and constant instability got to the point that we started to look at other hosting providers. That’s where FatCow comes into the picture. I had heard nothing but good things about FatCow and after discussing it we decided to give them a try. Their company is also completely green and eco-friendly, which we liked because we could tell our customers that we, too, were “going green”.

Here’s the first hitch we ran into after switching to FatCow: Most of our processing scripts are run from our office and communicate directly with the MySQL database on our hosting account. So after the files were pulled from GoDaddy’s servers and uploaded to FatCow’s servers, the DNS information was changed to point to the new servers, yada yada, we went to run the scripts and… What’s this? They all failed. After a little digging, I found out that FatCow doesn’t allow remote MySQL access. What that means is that our maintenance scripts that run every day from our office, which absolutely, positively must be in our office, cannot connect to our MySQL database because they’re not running on the same server. We promptly rewrote all the scripts to be called locally using web services instead of direct database access and it temporarily solved the problem.

Today, however, we went to log into our Adminstration Panel at FatCow and low and behold our account was suspended because of “too many requests”. That’s the only explanation we received until we called and inquired further. Apparently, you can’t request any single page more than [insert unknown value here] number of times per day. If you do, they’ll suspend your account indefinitely until you either a) delete the files in question, or b) stop requesting those files so often. Have you ever used a simple meta-refresh on one of your web pages? Well if you use FatCow, you’re not allowed to do that. I’m fairly certain that, using the same logic, pages called using Ajax will trigger your account to be suspended as well.

Now I don’t mean to bash FatCow without bashing GoDaddy. They’re just as bad. There were days that our website would just stop working. No error messages, no apology emails, no phone calls, nothing. Our databases would stop responding for no reason, and we were left in the dark as to what the hell was going on. So what did we do? We called them! But what did that accomplish? Nothing! Their answer was always the same: “Nothing seems to be wrong on our end. We can see it just fine. We’ll run some diagnostics and see if we can find anything else. Oh, nope. Diagnostics are fine.” But we could run the MySQL Health Widget and see with our own eyes that there were thousands of connections and queries being run every second. Scouring the internet has also shown that GoDaddy has some serious MySQL problems as of late as well.

MySQL timeouts aren’t GoDaddy’s only problems either. FTP Authentication used to be god-awful. There were times that it would take at least twenty seconds to authenticate before I was allowed to do anything. This includes listing a directory, uploading a file, downloading a file, etc. It’s been running pretty well lately, but of course anything that’s been bad starts to get better after you switch to something else. Of course when you ask them about it, they blamed your ISP and asked if you’re “connected to the internet”. Ha.

So, I would like to list the pros and cons that I’ve come across using both hosting companies. Ultimately, we are switching back to GoDaddy for the time being because FatCow doesn’t like us. Which is fine.

The pros and cons of GoDaddy:

  • Pro: They’re cheap, cheap, cheap.
  • Pro: You can basically do whatever you want on their servers.
  • Pro: They allow remote MySQL access.
  • Con: Their technical support usually sucks.
  • Con: You can basically do whatever you want on their servers (other people are usually responsible for your site going down).
  • Con: They don’t do a very good job of policing people that abuse their databases.
  • Con: They are very popular targets of DDoS attacks, causing downtime.

The pros and cons of FatCow:

  • Pro: They are relatively inexpensive.
  • Pro: Their technical support staff usually knows what they’re doing.
  • Pro: Their server response time is blazingly fast.
  • Con: Hosting packages don’t come pre-configured with the most-frequently used things (Sessions, Uploading, etc) so you’ll have to call tech support.
  • Con: They don’t allow direct MySQL database access.
  • Con: They police their servers a little too hard, in my opinion.
I will admit that this review is probably very biased, but I have been sitting on these experiences for a while now and when our site went down again today, I decided enough was enough and here we are. I do not apologize if someone from GoDaddy or FatCow stumbles across this blog post. The trend lately is that companies call or send me a message every other day because they don’t like something that I write. Well too bad. I live in America and these thoughts are my own.

If you are a representative of FatCow or GoDaddy, please take this review as constructively as possible because I’m sure there are people out there that have experienced the same problems as we have.

Everyone else: I hope you found this useful. I feel better writing about it either way.
Continue Reading...

Track your WordPress post views.

2
Posted on May 04, 2010 by Jimmy K. in Tutorials
I wanted to be able to track the number of views each one of my posts gets in a very general way so I could create a “popular articles” section on my blog. I looked through the MySQL database and couldn’t find any traces of WordPress tracking post views by default. So! What I did was write a nifty little set of functions that I’m pretty sure don’t follow any development standards.

Update: I’m slowly tackling the obstacle of converting this tutorial into a WordPress plugin.

First, I created a table in the MySQL database to keep track of the post views and I update the table every time a post is loaded in the browser. I only count specific post views (where ./?p=XYZ) is in the URL.

Here is the MySQL statement to create the table:
CREATE TABLE IF NOT EXISTS `wp_postviews_z` (`PostID` mediumint(8) unsigned NOT NULL, `NumViews` mediumint(8) unsigned NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Then I wrote a function called jTrackPostView(), which basically updates the database whenever a post is being viewed. I placed this code into the index.php file. All it really does is says: if $_GET['p'] is set, call the jTrackPostView() function because we only want to track the post view if we’re actually reading the entire post (not the excerpt).
<?php print('This is PHP.'); ?>
To display the popular posts, I placed this code into the sidebar.php file:
<table style="width: 250px;">

<?php

$aViewCounts = array();
$oViewsQuery = mysql_query("SELECT `PostID`, `NumViews` FROM `wp_postviews_z` ORDER BY `NumViews` DESC LIMIT 10;") or die(mysql_error());
$sPopularQuery = "SELECT `ID`, `post_title` FROM `wp_posts` WHERE `ID` = '0'";

while ($oViewsResults = mysql_fetch_assoc($oViewsQuery)) {
$aViewCounts[$oViewsResults['PostID']] = $oViewsResults['NumViews'];
$sPopularQuery .= " OR `ID` = '" . $oViewsResults['PostID'] . "'";
}

$sPopularQuery .= " ORDER BY `post_title` ASC;";

$oQuery = mysql_query($sPopularQuery) or die(mysql_error());

$y = 0; while ($oResults = mysql_fetch_assoc($oQuery)) {
print('<tr style="width: 250px;">');
print('<td style="width: 250px;"><ul><li>');
print('<a href="./?p=' . $oResults['ID'] . '">' . $oResults['post_title'] . '</a> <span>(' . $aViewCounts[$oResults['ID']] . ')</span>');
print('</li></ul></td></tr>');
}

?>

</table>
I really want to help other people by converting this into a lightweight WordPress plugin, but I don’t know how to do that yet. Hopefully by the end of May I’ll be better equipped to tackle that. Can someone please suggest where I can find a decent tutorial for writing WordPress plugins? If so, please let me know in the comments.
Continue Reading...

No installer data could be found?

0
Posted on May 04, 2010 by Jimmy K. in Uncategorized
Okay, so I’m a closet World of Warcraft player. My friends Ryan Reid (of rynotec.com) and Greg Manning finally got Level 68 (don’t laugh) and we decided it was time to buy the expansion and go to Northrend.

I went to upgrade my account this morning and download the expansion, Wrath of the Lich King, and after the installation files had finished downloading, an error popped up: No installer data could be found. If this problem persists, please contact Blizzard Technical Support. What the heck does that mean? Could you be a little more vague…

After poking around on the internet for a while and not finding any solutions that didn’t involve physically having the installation disks in front of me, I decided to just delete some files and pray for the best.

I did this on a mac: Navigate to Macintosh HD : Users : Shared : Blizzard and rename the folder “World of Warcraft Installer” to anything else. (I renamed mine to “Crap”). You can probably delete it and it should be fine.

Either way, I just ran the installer again and it worked. I’m sure there is a very similar process to solving this problem if this happens on a Windows machine.
Continue Reading...

We're moving to a new office.

1
Posted on May 03, 2010 by Jimmy K. in News
Maybe. With all this down-sizing happening and the economy taking a real toll on businesses, we’ve decided to move into a smaller, more budget-friendly office. Even though the new space is going to be a lot smaller, we’ve put together a floor plan that we think will still bring a large amount of awesomeness and creativity to the mix.
New Office Layout
As you can see (or maybe you can’t because this image is crap quality), we’ve created an elevated area where we can get our work on. We’re thinking it’s going to be similar to a split-level home with stairs to get onto the elevated platform. There is also an area for the Accounting Department to do their thing.

I’m going to miss the massive amount of windows and sunshine we currently have, but what can you do. I thought about framing lightboxes on the walls with birds chirping and nature sounds (or something). I don’t know yet. Either way, the new office is going to be intense.

I also tossed around the idea of painting the walls green with white vines and leaves coming out of the corners/edges to portray our unspoken commitment to “going green”. I’ll keep everyone updated with our progress on the move.
Continue Reading...
Space
 
 
Archives
 
 
Popular Articles
 
 
 
 
Friends
 
 
Tag Cloud
Space
Space
© 2010 END[SEVEN] Web Development. All Rights Reserved.