Archive for January, 2007

How to fix “Firefox is already running” error

Sometimes when you try to start Firefox, it warns you that Firefox is already running. The message looks like this:

Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.

Usually, you can just kill the firefox process to solve this problem. For example, on Linux the command “ps auxwww | grep firefox” will find the process number and then “kill [processnumber]” will work fine. But sometimes things are more horked than usual. That happened to me today, surprise surprise :) Here’s how to fix the deeper problem:

Step 1. Find your profile. This page tells you how to find the location of your Firefox profile. Under Linux (e.g. Ubuntu), it will be at ~/.mozilla/firefox/[Profile name]/ .

Step 2. Remove the lock files. This page tells you what the lock files are for Firefox on Windows/Linux/Mac. Under Unix/Linux, you’ll need to remove two files “lock” and “.parentlock” .

I haven’t had this happen before today, but it can happen if (for example) someone turns your computer off while Firefox is running.

Comments (38)

Contacts handled properly

(Warning: Serious “my eyes glaze over” stuff ahead, but better to talk about it than not.)

Google has a way to store contacts in JSON form. JSON stands for (JavaScript Object Notation), and it means that data can be loaded and parsed directly by JavaScript. Unfortunately, a security hole meant that other pages could also access this contact data. (Not to worry, I believe it’s all fixed now.)

This was first noticed on video.google.com, since they recently launched a feature that allows you to mail videos to people on your contact list, and people noticed the fact that we were using this new method to invoke contact list info. After the video team patched their problem (within a few hours), it was discovered the same problem existed on a few other Google properties as well (for example, Google Groups and Google Notebook).

The properties were fixed in a variety of ways: On some of them, we immediately fixed the code to properly stop JavaScript. On others, the urls were blocked until the next push of that service will happen. I believe the security folks have everything fixed now, but the multiple properties involved is why it kept seeming like we didn’t properly ‘fix’ the problem at first.

As always, if you see security-related problems, please contact Google’s security team (the upshot of that page is to email security at google.com). One last point I wanted to mention is the difference between client/desktop applications vs. services such as web-based applications. Applications on client computers can take a long time to get fully patched (if they do get patched). Deploying a server-side security fix is generally really fast. Even this situation (where several Google properties needed to be changed) yielded a much faster fix than patching so many client-side applications, and much of this was happening on New Year’s Eve and New Year’s Day when most normal people are sleeping off the night before. :) I do think that server-side software often helps companies with faster release cycles and easier fixes.

Comments (8)

Productivity tip: make “howto” files

I picked up a good trick from Russ Taylor in grad school. He kept a “howto” directory, and any time he ended up doing a bit of research to find out how to do something, he’d document it in a tiny file in a howto directory. I picked up the habit, and in my personal howto directory at Google I now have 1750+ little files. They can be as simple as how to do a gnuplot with dates or how to restart a particular web server, or they can be as long as you like. In the worst case, just take the command you lovingly constructed and just copy and paste it into a text file. For example, I’ve got a file called “extract-tar-files-to-stdout” with one line:

tar -xOf freedb-complete-20040908.tar | grep DTITLE | less

These days, I’m trying to train myself to throw my how-to files up on the web instead.

Comments (45)

How to fix Wordpress comments

Thanks to whoisgregg who pointed out in the webmaster group that my comments were utterly horked. Trying to view a thread gave the error message

WordPress database error: [Can't open file: 'wp_comments.MYI' (errno: 144)]
SELECT * FROM wp_comments WHERE comment_post_ID = ‘538′ AND comment_approved = ‘1′ ORDER BY comment_date

Luckily, doing the Google search [Can't open file: 'wp_comments.MYI' (errno: 144)] found this link at #1, and it gives the answer. From a MySQL prompt, type the following command:

repair table wp_comments;

and in 1.83 seconds, things are fine again:


mysql> repair table wp_comments;
+------------------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+------------------------+--------+----------+----------+
| xxxxxxxxxx.wp_comments | repair | status | OK |
+------------------------+--------+----------+----------+
1 row in set (1.83 sec)

I have no idea why this happened out of nowhere. I don’t think adding the FeedBurner plugin had anything to do with it; I suspect the same holiday bad mojo that has been running amuck finally got around to hitting my blog. :) Seriously, it seems to be everywhere. I tried to visit a page just a few minutes ago on ubuntuforums.org, only to see

Ubuntu forums error

And then last week I tried to buy something on eBay. Once I tried to pay, I got this error message repeatedly:

eBay error message

It took me hours to be able to buy my item, and in the meantime eBay kept emailing me saying “Hey, you bought this item–don’t forget to pay for it!” :)

People notice it more when Google has an issue, but I’ve been seeing issues with a lot of sites over the last couple weeks. I meant to take last week as a vacation, but it didn’t really work out, so I may try to take 3-4 days off later this month instead. I for one will be glad to see the holidays over, because it means that web sites will be fully staffed to handle any new issues.

Comments (28)

My search stats for 2006

[Note: I wrote this about five days ago, and I'm just now getting around to posting it.]

Okay, all the other search bloggers are sharing stats, so here goes. :) All this comes courtesy of Google Analytics. If you want to sign up and analyze your website visitors with around zero work, I highly recommend it. And it’s free. :)

With a few days left in 2006, looks like about 1.7M visits and about 2.9M pageviews:

stats for 2006

That number of visits (~1.7M) helps explain why I try to avoid site-specific comments and try to stick to general topics. The spikes in my traffic graph were (I think) talking about international webspam and two or three posts that got dugg. The diggage happened during the week that my wife was out of town and I had a lot of free time to blog. I have a fair number of repeat visitors from all over the world. About 1/4th of people come directly to my site and about 1/3rd reach it through Google. Those digg spikes look impressive, but digg only accounted for about 2% of my traffic throughout the year.

Top Requested Pages:

Let’s see which posts were the most popular this year.

Top posts

Looking down the list, lots of people check my blog page or the root page of my domain. Over 18% of my traffic is from non-English browsers (!), so it’s not a surprise that international spam is a popular topic. If you want only Google-related posts and no cat posts, http://www.mattcutts.com/blog/type/googleseo is the best url to use. Looking at that url up above, it seems a fair amount of people use that ability to view only the Google/SEO category. For feedreaders, http://www.mattcutts.com/blog/type/googleseo/feed/ is the best url to get a Google/SEO-only RSS feed of my blog.

Top keywords:

The vast majority of people find me through some variation of my name. Other than that, the top phrases were
seo
bigdaddy
seo blog
google update
reinclusion request
noodp
google analytics
blog
google blog
proxy

I could probably do some more in-depth keyword analysis to determine what keywords to use to reach new webmasters/SEOs/site owners. I do have a long tail of referrals. My post about setting a default printer for Linux and Firefox, for example, got referrals such as
firefox default printer
default printer firefox
changing the default printer for firefox on linux
linux default printer
changing the default printer firefox
default printer linux
cups set default printer
linux set default printer
mozilla default printer
cups default printer
firefox “default printer”

That serves as a good reminder that people usually don’t type the same phrase to find information. If you’re an SEO or site owner, don’t just chase after a “trophy phrase”; think about the long tail of queries, too. You should think of the words that people will type and make sure you include the right ones in your article in a natural way. Including the right/relevant words on the page in the first place is something that a lot of people forget. Read my post about writing useful articles with good SEO practices if you want to hear more.

Traffic Sources:

I write a techie-heavy blog that talks about Google issues, so I wouldn’t expect to see much (any?) traffic from other search engines. But the sheer number of different sites that sent traffic is pretty wild. I got more referral traffic from Bloglines (22636 visits) than from Yahoo (17591), which makes sense given that a ton of people skip the site and read my full-text feed. But other sources were surprising drivers of traffic. The Search Engine Watch blog drove more traffic (15916 visits) than MSN (13554). Ask sent 820 visits, which was a tie with Steve Bryant over at eWeek’s Google Watch site. And that in turn was a little more than Oilman (789 visits) and a little less than cre8asiteforums.com at 1253 visits.

What this says to me is that there’s a lot of traffic beyond search engines, and I’m not just talking about social media optimization such as submitting stories to Slashdot/TailRank/Reddit/Digg/SearchMob. Just getting out there, talking on the web, and getting your name known in an industry can make a big difference.

The Future:

Over the last 18 months or so, being a webmaster myself and writing a blog has taught me a lot. I understand more of the issues that site owners run into, and I sympathize with the frustrations of running a site. I think that using AdWords would also be an eye-opening and useful experience. I’m torn though, because I only have a limited amount of time in my day. If anything, I need to be spending less time blogging and more time with my family. I’ve also avoided AdSense, other types of advertising, and even “subscribe to my feed, tag this post, digg this page, share me on facebook” stuff because I wanted my site to be purely informational. But the net effect is that the blog is pretty austere (spartan? plain? ugly?).

Vanessa Fox and Adam Lasnik have done an amazing job this year on both the Google webmaster blog and the Google Discussion Group for webmasters. This year I posted on a wide range of SEO topics, and advanced topics are more fun to talk about, but going forward I think it would be a good idea to cover more intro-level material.

I think within Google there’s solid awareness that blogging can be hugely helpful to discuss issues informally, answer questions, and dispel misconceptions. I’d like to encourage even more Googlers to blog. The issue is how to build trust that a Googler can talk about issues with finesse. I’m lucky because as an old-timer Googler, I made my public mistakes back when hardly anyone was watching (remind me to tell my Paul Boutin/Wired story sometime). I think we need more Googlers blogging and checking the blogosphere for mentions of their respective products. I’m not 100% sure how to get there, but I think it needs to happen.

I also wish I had more stats on my feeds. I should probably sign up for something like FeedBurner, but I hate the idea of losing control of my feed urls.

[Added before posting: I signed up for FeedBurner last night; we'll see how it works. I'm already curious about one thing. I'm using the officially-recommended Feedburner Feed Replacement plug-in for WordPress, which is supposed to send all feed requests over to FeedBurner. It seems to work fine for my main RSS and Atom feeds, but I notice that category feeds like the http://www.mattcutts.com/blog/type/googleseo/feed/ url I mentioned above don't seem to be getting redirected to FeedBurner. Anyone know how to fix this? Also, let me know if you see any other feed-related issues/bugs.]

Update: In the comments, Sergey S. Kostyliov asked for geo-location stats. Here ya go, Sergey. When I said 18% of my traffic was non-English, I believe that was referring to the browser language. Where people are coming from shows even more diversity:

Geolocations for 2006

To make the graph more readable, I left out the percentage labels for the Netherlands (2.24%) and Spain (1.91%). Sergey, the Russian Federation is listed at 9955 visits. With 1,695,129 total visits for the year, that’s about .6% from the Russian Federation. Also, I got exactly one visit from Samoa. They must have decided they didn’t like me, and decided not to come back. :)

Update 2: Doh! I completely forgot the videos I made in 2006! I got 189,923 views of my videos during 2006. Even my 3 second video of my cat Ozzie jumping that I uploaded as a test video got 2,106 views. :)

Also, I got some initial data from FeedBurner: 11,950 subscribers and 5,149 reach (that’s people who clicked or viewed the content of my feed). Bloglines’ web interface has pegged me at 1,216 subscribers but Feedburner claims that I have 3,409 Bloglines readers. I’m not sure how to reconcile that. I was getting discouraged that Bloglines kept saying 1,100 to 1,200 subscribers for most of 2006 in its web interface, and I really felt like I had more than that. Anyone have guesses about what’s causing the Bloglines/Feedburner disparity? Gary Price, want to ask around?

Comments (67)

Next entries »