Back in December, I happened to click on a Greasemonkey script in Chrome and was shocked that it just worked. At the time, I wrote a note within Google that said

Whoa. I just clicked on a Greasemonkey script in the latest dev version of Chrome (4.0.266.0 on Linux). Chrome offered to install the GM script, so I said okay. The script ran perfectly in Chrome with no changes at all! I don’t know how many Greasemonkey scripts will run in Chrome unchanged, but at least some will.

Last week brought that news as an official announcement. My guess is that scripts that don’t use specific Greasemonkey APIs should be fine.

(Side-note: I found a good post from November that claims that ~60% of Greasemonkey scripts don’t use any sort of special API calls at all. The top API calls appear to be GM_getValue and GM_setValue (16.5% of Greasemonkey scripts), plus GM_xmlhttpRequest (15.5% of Greasemonkey scripts). It’s unclear which of these functions might be worth supporting. Some could have security implications (GM_xmlhttpRequest). Others like the get/setValue functions could be done by using other ways to store data.)

So this is cool. There’s a good chance that your favorite Greasemonkey script might just work in Chrome. Personally, I recommend the dev channel version of Chrome. It gets all the cool features early, and it’s been very stable/fast for me.

{ 1 comment }

Moustafa Hammad and Mohamed Elhawary, a couple engineers in our search quality group, just did a nice post about improving Arabic language searches:

Our algorithm employs rules of Arabic spelling and grammar along with signals from historical search data to decide when to leave out spaces between words or when to remove unnecessarily repeated letters. Now, when you type a query leaving out spaces or repeating a letter, we’ll return better results based not only on what you typed, but also on what our algorithm understands is the “correct” query.

There’s a few nice things about this post besides the direct improvement on Arabic language searches. For one, this post joins other recent posts that pull back a little bit of the curtain on the 400+ ranking changes that we make every year. I hope that we keep doing these posts.

Another nice thing is that the post talks about the impact of the improvement (10% of Arabic language queries are affected by this change). For the recent blog post about how Google uses synonyms in ranking, Steven Baker mentioned that “synonyms affect 70 percent of user searches across the more than 100 languages Google supports.” I like giving a rough idea of a change’s impact. The vast majority of Google’s 400+ annual ranking changes affect a much smaller percentage of queries, so don’t get the wrong idea that every improvement to our ranking algorithms affects a large percentage of searches. One last nice thing is that this change again shows the value of historical search data to improve search quality. I know that few users care about that, but it’s good to point out.

Anyway, I like to point out when Google blogs about these internal changes to our scoring algorithms, because people always want to know more about how Google works.

{ 19 comments }

I wanted to play with writing Android apps on my home Linux computer, which is currently running Ubuntu 9.04 (Jaunty Jackalope). These are mostly notes for myself, so don’t feel guilty if you skip this post. :)

- Make sure your system is up-to-date:

sudo apt-get update && sudo apt-get upgrade

- Install Java

sudo apt-get install sun-java6-jdk

- Switch Sun to be the default version of Java. It’s much faster than the built-in version, at least when I tried it.

sudo update-java-alternatives -s java-6-sun

- Make a directory, e.g. mkdir ~/android

- Download Eclipse from http://www.eclipse.org/downloads/ (I chose the “Eclipse Classic 3.5.1″ version). Move the code into that directory, then unpack it. Unpacking is enough–the software runs in place and doesn’t have to be installed onto the system other than unpacking it.

mv eclipse-SDK-3.5.1-linux-gtk.tar.gz ~/android
cd ~/android
tar xzvf eclipse-SDK-3.5.1-linux-gtk.tar.gz

- Download the latest Android SDK from http://developer.android.com/sdk/index.html and move it into that directory, then unpack it. I believe unpacking is enough–the software runs in place and doesn’t have to be installed onto the system other than unpacking it.

mv android-sdk_r04-linux_86.tgz ~/android/
cd ~/android/
tar xzvf android-sdk_r04-linux_86.tgz

- Edit your ~/.bashrc file and add a line to the bottom:

export PATH=${PATH}:/home/matt/android/android-sdk-linux_86/tools

Okay, now Java, Eclipse, and the Android SDK are installed. Now you need to install the Android Development Tools (ADT) for Eclipse.

- Run Eclipse. If you installed Eclipse in ~/android/eclipse then you can cd to that directory and run ./eclipse to start the program.

- Install the Android Development Tools (ADT) for Eclipse. Follow the excellent instructions at http://developer.android.com/sdk/eclipse-adt.html to get and install the ADT. Don’t forget the “Window > Preferences” step to tell Eclipse where the Android SDK is, so when you click “Browse…” you might navigate to /home/matt/android/android-sdk-linux_86 for example.

- Next, I installed a bunch of packages. In Eclipse, click “Window->Android SDK and AVD Manager.” In the resulting window, on the left-hand side will be an “Available Packages” option. I clicked on that, then clicked the checkbox beside the “repository.xml” package to select all available packages and then clicked “Install Selected.” 12 out of the 14 packages installed for me.

- Now you’re ready to create your first Android program . You’ll discover how to make an Android virtual device (AVD) along the way.

- If you want, you can get custom skins, e.g. a Nexus One skin for Android. You can unpack the .zip file in <your-sdk-directory>/platforms/android-x.y/skins/nexusone for example. Then create a new Android virtual device (AVD) and select the Nexus One as the skin.

- If you want to run your Android program on your own Android device, you’re pretty close. Follow step 10 of this walkthrough. When you’re done and the phone is disconnected from your Ubuntu machine, you’ll still have the executable, called an “android package” or .apk file on your phone. So you can show your friends your “Hello, World!” program. :)

Some resources that I found helpful (other than the official Android developer site) are below:
- http://www.futuredesktop.org/developing_android_apps_on_ubuntu.html
- http://www.softwarepassion.com/setting-up-android-development-platform-on-ubuntu-linux-904/
- http://www.howtoforge.com/installing-google-android-sdk1.0-on-ubuntu8.04-desktop
- http://androidforums.com/developer-101/2321-installing-eclipse-android-sdk-ubuntu-8-04-8-10-a.html
- You might also want to watch this O’Reilly video or some of the official videos.

If you found this post at all interesting, you might also be interested in Google I/O too. Google I/O happens on May 19-20, 2010 in San Francisco.

{ 10 comments }

Google just launched a nice feature on Google Reader: the ability to keep an eye on pages for changes. This works even if the page doesn’t have its own RSS feed. This sort of thing is very handy. You could use it to spot new things on a privacy policy page or watch for changes in the executives page at another search engine.

Check out the blog post, but it’s easy to use: just add any url to Google Reader.

{ 48 comments }

If you followed @googlewmc on Twitter you would already know about this, but I recently recreated my “State of the Index” talk from PubCon in November 2009. Here’s the video of the talk below:

And here are the slides if you’d like to follow along:

The talk is almost half an hour, so I hope you enjoy it and learn something new!

{ 42 comments }

SEO@Slacks: Gadgets, Google, and SEO .wp-polls .pollbar { margin: 1px; font-size: 6px; line-height: 8px; height: 8px; background-image: url('http://www.mattcutts.com/wp-content/plugins/wp-polls/images/default/pollbg.gif'); border: 1px solid #c8c8c8; } Home About Me Google/SEO Disclaimer Disclosure Subscribe SEO@Slacks: Gadgets, Google, and SEO Chrome support for Greasemonkey February 8, 2010 in Chrome, Google/SEO Back in December, I happened to click on a Greasemonkey script in Chrome and was shocked that it just worked . At the time, I wrote a note within Google that said Whoa . I just clicked on a Greasemonkey script in the latest dev version of Chrome (4.0.266.0 on Linux) .

Chrome offered to install the GM script, so I said okay . The script ran perfectly in Chrome with no changes at all! I don&#8217;t know how many Greasemonkey scripts will run in Chrome unchanged, but at least some will. Last week brought that news as an official announcement . My guess is that scripts that don&#8217;t use specific Greasemonkey APIs should be fine. (Side-note: I found a good post from November that claims that ~60% of Greasemonkey scripts don&#8217;t use any sort of special API calls at all .

The top API calls appear to be GM_getValue and GM_setValue (16.5% of Greasemonkey scripts), plus GM_xmlhttpRequest (15.5% of Greasemonkey scripts) . It&#8217;s unclear which of these functions might be worth supporting . Some could have security implications (GM_xmlhttpRequest) .

Others like the get/setValue functions could be done by using other ways to store data.) So this is cool . There&#8217;s a good chance that your favorite Greasemonkey script might just work in Chrome . Personally, I recommend the dev channel version of Chrome .

It gets all the cool features early, and it&#8217;s been very stable/fast for me. { 1 comment } Improving Arabic searches and talking more about ranking February 2, 2010 in Google/SEO Moustafa Hammad and Mohamed Elhawary, a couple engineers in our search quality group, just did a nice post about improving Arabic language searches: Our algorithm employs rules of Arabic spelling and grammar along with signals from historical search data to decide when to leave out spaces between words or when to remove unnecessarily repeated letters . Now, when you type a query leaving out spaces or repeating a letter, we&#8217;ll return better results based not only on what you typed, but also on what our algorithm understands is the &#8220;correct&#8221; query. There&#8217;s a few nice things about this post besides the direct improvement on Arabic language searches . For one, this post joins other recent posts that pull back a little bit of the curtain on the 400+ ranking changes that we make every year .

I hope that we keep doing these posts. Another nice thing is that the post talks about the impact of the improvement (10% of Arabic language queries are affected by this change) . For the recent blog post about how Google uses synonyms in ranking, Steven Baker mentioned that &#8220;synonyms affect 70 percent of user searches across the more than 100 languages Google supports.&#8221; I like giving a rough idea of a change&#8217;s impact . The vast majority of Google&#8217;s 400+ annual ranking changes affect a much smaller percentage of queries, so don&#8217;t get the wrong idea that every improvement to our ranking algorithms affects a large percentage of searches .

One last nice thing is that this change again shows the value of historical search data to improve search quality . I know that few users care about that, but it&#8217;s good to point out. Anyway, I like to point out when Google blogs about these internal changes to our scoring algorithms, because people always want to know more about how Google works. { 19 comments } Installing Android development environment on Ubuntu 9.04 January 30, 2010 in Android, Linux/Ubuntu I wanted to play with writing Android apps on my home Linux computer, which is currently running Ubuntu 9.04 (Jaunty Jackalope) . These are mostly notes for myself, so don&#8217;t feel guilty if you skip this post .

- Make sure your system is up-to-date: sudo apt-get update &#038;&#038; sudo apt-get upgrade - Install Java sudo apt-get install sun-java6-jdk - Switch Sun to be the default version of Java . It&#8217;s much faster than the built-in version, at least when I tried it. sudo update-java-alternatives -s java-6-sun - Make a directory, e.g . mkdir ~/android - Download Eclipse from http://www.eclipse.org/downloads/ (I chose the &#8220;Eclipse Classic 3.5.1&#8243; version) .

Move the code into that directory, then unpack it . Unpacking is enough&#8211;the software runs in place and doesn&#8217;t have to be installed onto the system other than unpacking it. mv eclipse-SDK-3.5.1-linux-gtk.tar.gz ~/android cd ~/android tar xzvf eclipse-SDK-3.5.1-linux-gtk.tar.gz - Download the latest Android SDK from http://developer.android.com/sdk/index.html and move it into that directory, then unpack it . I believe unpacking is enough&#8211;the software runs in place and doesn&#8217;t have to be installed onto the system other than unpacking it. mv android-sdk_r04-linux_86.tgz ~/android/ cd ~/android/ tar xzvf android-sdk_r04-linux_86.tgz - Edit your ~/.bashrc file and add a line to the bottom: export PATH=${PATH}:/home/matt/android/android-sdk-linux_86/tools Okay, now Java, Eclipse, and the Android SDK are installed .

Now you need to install the Android Development Tools (ADT) for Eclipse. - Run Eclipse . If you installed Eclipse in ~/android/eclipse then you can cd to that directory and run ./eclipse to start the program. - Install the Android Development Tools (ADT) for Eclipse . Follow the excellent instructions at http://developer.android.com/sdk/eclipse-adt.html to get and install the ADT .

Don&#8217;t forget the &#8220;Window > Preferences&#8221; step to tell Eclipse where the Android SDK is, so when you click &#8220;Browse&#8230;&#8221; you might navigate to /home/matt/android/android-sdk-linux_86 for example. - Next, I installed a bunch of packages . In Eclipse, click &#8220;Window->Android SDK and AVD Manager.&#8221; In the resulting window, on the left-hand side will be an &#8220;Available Packages&#8221; option . I clicked on that, then clicked the checkbox beside the &#8220;repository.xml&#8221; package to select all available packages and then clicked &#8220;Install Selected.&#8221; 12 out of the 14 packages installed for me. - Now you&#8217;re ready to create your first Android program .

You&#8217;ll discover how to make an Android virtual device (AVD) along the way. - If you want, you can get custom skins, e.g . a Nexus One skin for Android . You can unpack the .zip file in &lt;your-sdk-directory&gt;/platforms/android-x.y/skins/nexusone for example .

Then create a new Android virtual device (AVD) and select the Nexus One as the skin. - If you want to run your Android program on your own Android device, you&#8217;re pretty close . Follow step 10 of this walkthrough . When you&#8217;re done and the phone is disconnected from your Ubuntu machine, you&#8217;ll still have the executable, called an &#8220;android package&#8221; or .apk file on your phone .

So you can show your friends your &#8220;Hello, World!&#8221; program . Some resources that I found helpful (other than the official Android developer site) are below: - http://www.futuredesktop.org/developing_android_apps_on_ubuntu.html - http://www.softwarepassion.com/setting-up-android-development-platform-on-ubuntu-linux-904/ - http://www.howtoforge.com/installing-google-android-sdk1.0-on-ubuntu8.04-desktop - http://androidforums.com/developer-101/2321-installing-eclipse-android-sdk-ubuntu-8-04-8-10-a.html - You might also want to watch this O&#8217;Reilly video or some of the official videos. If you found this post at all interesting, you might also be interested in Google I/O too . Google I/O happens on May 19-20, 2010 in San Francisco. { 10 comments } Keep an eye on changing pages January 25, 2010 in Google/SEO Google just launched a nice feature on Google Reader: the ability to keep an eye on pages for changes .

This works even if the page doesn&#8217;t have its own RSS feed . This sort of thing is very handy . You could use it to spot new things on a privacy policy page or watch for changes in the executives page at another search engine. Check out the blog post, but it&#8217;s easy to use: just add any url to Google Reader. { 48 comments } PubCon 2009 talk: State of the Index January 22, 2010 in Google/SEO If you followed @googlewmc on Twitter you would already know about this, but I recently recreated my &#8220;State of the Index&#8221; talk from PubCon in November 2009 .

Here&#8217;s the video of the talk below: And here are the slides if you&#8217;d like to follow along: The talk is almost half an hour, so I hope you enjoy it and learn something new! { 42 comments } &larr; Previous Entries Follow me -&nbsp;Twitter -&nbsp;FriendFeed - &nbsp;RSS&nbsp;/&nbsp;Atom function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: 'en' }, 'google_translate_element'); } Search (CSE) Loading google.load('search', '1'); google.setOnLoadCallback(function(){ new google.search.CustomSearchControl().draw('cse'); }, true); Categories 30 days (7) Android (1) Books/Magazines (21) Chrome (18) Food (6) Fun (27) Gadgets/Hack (83) Games (4) Glossary/Definitions (2) Google/SEO (496) How to (50) iPhone (13) Leftovers (5) Linux/Ubuntu (23) Movies/Videos (22) Music (6) Personal (92) Productivity (22) Television (3) Travel (26) Uncategorized (2) Web/Net (69) Weblog/blog (106) Meta Log in Entries RSS Comments RSS WordPress.org Archives February 2010&nbsp;(2) January 2010&nbsp;(14) December 2009&nbsp;(4) November 2009&nbsp;(3) October 2009&nbsp;(10) September 2009&nbsp;(8) August 2009&nbsp;(11) July 2009&nbsp;(8) June 2009&nbsp;(10) May 2009&nbsp;(10) April 2009&nbsp;(7) March 2009&nbsp;(14) February 2009&nbsp;(11) January 2009&nbsp;(12) December 2008&nbsp;(10) November 2008&nbsp;(12) October 2008&nbsp;(17) September 2008&nbsp;(17) August 2008&nbsp;(6) July 2008&nbsp;(18) June 2008&nbsp;(18) May 2008&nbsp;(15) April 2008&nbsp;(18) March 2008&nbsp;(14) February 2008&nbsp;(10) January 2008&nbsp;(15) December 2007&nbsp;(11) November 2007&nbsp;(9) October 2007&nbsp;(8) September 2007&nbsp;(14) August 2007&nbsp;(9) July 2007&nbsp;(20) June 2007&nbsp;(13) May 2007&nbsp;(8) April 2007&nbsp;(22) March 2007&nbsp;(26) February 2007&nbsp;(10) January 2007&nbsp;(25) December 2006&nbsp;(32) November 2006&nbsp;(19) October 2006&nbsp;(26) September 2006&nbsp;(20) August 2006&nbsp;(27) July 2006&nbsp;(17) June 2006&nbsp;(1) May 2006&nbsp;(23) April 2006&nbsp;(22) March 2006&nbsp;(27) February 2006&nbsp;(28) January 2006&nbsp;(36) December 2005&nbsp;(30) November 2005&nbsp;(30) October 2005&nbsp;(25) September 2005&nbsp;(15) August 2005&nbsp;(21) July 2005&nbsp;(3) /* */ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); try{ var pageTracker = _gat._getTracker("UA-52812-1"); pageTracker._trackPageview(); } catch(err) {} . .

Comparez les prix des voyages et hotel reservation sur internet. Sexy russian bride search. Statewide public records screening. prescription drugs cheap online. about us. Inexpensive Sheffield web design with our skilled team. Try to use PPC management services commerce