Archive

Archive for the ‘google’ Category

Seattle Conference on Scalability : YouTube’s Growing Pains.

August 22nd, 2007

Cuong Do, one of the original YouTube engineers, gave a great talk (50+ minutes but well worth it) at Google’s recent Seattle Conference on Scalability.  Some takeway thoughts:

  • Pre Google, YouTube had 2 sysadmins, 2 scalability software engineers, 2 feature developers, 2 network enginers and 1 DBA.  Yowza! talk about a productive team!
  • Python is fast enough.  In their small team, development speed was as important as execution speed.  I’m confident the same applies for Ruby on Rails too (this was a primary consideration for our choosing RoR instead of Java for our new nooked platform).
  • MySQL replication works, to the point when replication of writes starts to significantly impact reads from the replicas.  Once you hit that point start working at night to develop an alternative middle tier that relies on partitioning the data into multiple shards.  You work on the alternative middle tier at night because you’ll spend all day trying to keep the replicas up to speed with the master. Map incoming requests to the correct shard by doing a user id lookup on a dedicated table (in a heavily cached local database) to redirect requests to the correct shard.

Of course they now get to play with all of Google’s in-house toys (MapReduce, GFS etc) so doubt if he gives another presentation next year it’ll probably be a very different one.

Speaking of MapReduce, I see that Ruby has an implementation – Starfish.  Cool.

aehso google, mapreduce, mysql, python, rails, ruby, scalability, youtube

Speed Reading with Google Reader.

June 27th, 2007

Speed up feed reading with Google Reader by learning a couple of simple keystrokes to avoid ever reaching for your mouse:

Lather:

  • Open Google Reader
  • Shift-n – Selects your first folder (or feed)
  • Shift-o – Opens the folder (or feed)
  • 2 – Switches to the (abbreviated) entry list view

Rinse:

  • <space-bar> – Expands the first/next feed entry
  • j, k – Expands the next or previous feed entry
  • n, p – Selects the next or previous feed entry
  • o – Expands/collapses the current feed entry
  • v – Opens current entry URL in a new tab or window
  • s – Stars the current entry
  • Shift-a – Marks all unread feed entries as read

Repeat:

  • Shift-n, Shift-o – Select & open next folder/feed

Help:

  • ? – Opens a popup keyboard shortcut guide

See, no need to use the mouse!

aehso atom, google, rss

Solar Powered Google HQ

June 22nd, 2007

From the Google Solar Panel Project:

Google has installed over 90% of the 9,212 solar panels that comprise the 1,600 kilowatt project. Panels cover the rooftops of eight buildings and two newly constructed solar carports at the Googleplex

This installation is projected to produce enough electricity for approximately 1,000 California homes or 30% of Google’s peak electricity demand in our solar powered buildings at our Mountain View, CA headquarters.

Fair dues, and good PR to boot. Nice HQ by the way…

aehso environment, google

A Future of Media.

June 14th, 2007

From Read/Write Web (comment # 2 was NOT from me):

The core future media concept is the Agav – an Agent-Avatar, which “finds information, people…

I love these videos, Lawrence Lessig (a future US Secretary of Justice) declares copyright illegal, Google buys Microsoft, Google buys everyone and so on. But it has some style so it is worth watching:

The concept of the avatar has been around for centuries, long before Ultima IV – man, that was a blast. This video extrapolates the concept nicely into derivatives of digital properties that most computer users should now be familiar with, now that social networking and MMORPGs are the prevelant forms of online communication.

The evolution of the prosumer will continue. I for one like being a prosumer – or maybe it’s just that I like knowing that I’m a prosumer. I’m not sure, best be aware of these things though…

aehso amazon, avatar, future, google, internet, media, microsoft, yahoo, youtube

Dear Google: Please fix your mobile reader XML

June 7th, 2007

This should be an easy one for Google to fix but it’s still borken. Since the weekend, Google Mobile Reader on Opera/N800 is failing to render the home page with the following error:

XML parsing failed: xml processing instruction not at start of
external entity (Line: 5, Character: 0)

The offending page content reads as follows:

<!--
Content-type: Preventing XSRF in IE.

-->
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><itle>Google
Reader</title>
<meta http-equiv="content-Type" content="application/xhtml+xml;
charset=UTF-8" />
<style type="text/css">
...

Err, why is there a comment before the XML declaration? If this is supposed to be valid XML it shouldn’t be there. I’m surprised the various other mobile platforms are forgiving enough to ignore this (or is it borken on them too and nobody has noticed?). Please Google, fix your XML.

(discussion ongoing here)

aehso atom, google, rss, xml

Google Gears enables offline Google Reader.

May 31st, 2007

Google Reader is now using Google Gears to enable offline reading of your 2000 most recent items.  Check the top right corner of your reader for a new ‘Offline’ button to trigger installation.

Ars (and lots of other sites) have the user details, check out the Gears API Developer’s Guide for more info on the implementation.

It’d be fantastic if they did a version for Opera(or Minimo)/OS 2007/N800!

aehso atom, google, rss, web2.0

Google Reader on the N800 and Wii

May 28th, 2007

I was trying to use Google Reader on my N800 at the weekend and it just didn’t work well enough to be usable. The page layout and text size really isn’t suited to a 800×480 display, I was scrolling far too much to reach important buttons/links and some of the AJAX controls (such as the tree nodes) just did not seem to react to touchscreen input.

However Google Mobile Reader has more than saved the day. This stripped down version of reader is designed primarily at mobile phone handset users, but it works very well on the N800.

The main page, once logged in, shows the ten most recent posts with convenient page-forward and mark-as-read-and-page-forward links:

Home page - click for full-size

The Subscriptions page is simplicity itself – a flat list of feeds, with feeds that contain new posts at the top of the list.

Subscriptions page - click for full-size

Each Feed page (http://www.google.com/reader/m/view/feed%2F<HTTP-encoded-feed-URL>) is almost as simple but with one line of the entry body under each item, and additional navigation/mark links at the bottom:

Feed page - click for full-size

Each Entry page (as above with additional query string) is also simple, with convenient links to see the original feed entry page, along with links to star, mark as read and move to next.

Entry page - click for full-size

Note my recurring use of the term ’simple’. In this environment, simplicity really does win the day and in this case it adds up to a very usable service. The fact that it is perfectly synchronized with my laptop feed reader is a significant plus. I left NetNewsWire behind a long time ago because I just couldn’t coordinate reading sessions across my home mac and my work pc. This is really another type of client that I want to read the same data access the same service with.

And then I noticed that they have a custom Google Reader for the Wii too, with bonus Wiimote integration! It is going to take a lot to get me to ever switch to a different feed reader.

aehso atom, google, n800, rest, rss, web2.0

Scanning the List View in Google Reader

November 15th, 2006

I switched from Bloglines to Google Reader a while back for the various reasons already expounded by many ex-Blogliners. That said, Google Reader still isn’t perfect for me, and I sometimes think about switching back. Two things are bugging me:

  • I have (many) feeds organized in various hierarchical folders and I routinely switch between the Expanded and List View during each session, depending on how feed items are unread. When doing a “bulk-catch-up” of all the items from several feeds in a folder I find it incredibly difficult to quickly scan over the chronologically ordered list of items. Does anybody else find context switching from feed to feed while scanning the item titles mentally taxing? I’d love an option to sort controls in the list table header, then I could do “”Sort by feed, then chronologically” and relax my brain a little. I know can get individual lists by jumping from feed to feed but I want to have my cake (one big flat list) AND eat it (scan item titles without incessant key pressing/clicking).
  • The List View paging implementation is a bit slow isn’t it? Sometimes I want to skip over a whole bunch of items but I get stuck waiting a few seconds for the “Loading the next 20 items…” AJAX request to be completed. How about prefetching the next 20-40? Meanwhile my list scrollbar is always visually the the wrong size and in the wrong location. Invariably, I am not at the end of a short list as it usually indicates. In fact, I generally do not know if I have scanned over the complete set of entries without checking to see if it trying to “Load the next 20 items…” again. And what is it doing pinging all of those feed URLs while loading? I would have thought the great Google “sharks with frickin’ laser beams” back end could easily cache and supply the feed entry titles, and descriptions, maybe sending off AJAX requests to the original feed whenever I move my mouse over/near a list entry (if it needs to get enclosures etc.)

Anyhoo, rant over, if anyone has any tips, I’d be more than appreciative…

aehso google, opml, rss

Uninstall the Google Toolbar.

October 17th, 2006

Via the excellent TamperData plugin I just noticed that my Firefox browser was sending a HTTP request (with a cookie!) to http://toolbarqueries.google.com for every page my browser loaded, even when the toolbar is not visible.
It is bad enough that a user interface component would remain active even when not visible, but even worse that it is silently doing so. And what’s that cookie for?

Isn’t it diffucult to trust a software vendor that produces a component like this, no matter how they justify what it is doing? Bad, invasive, sneaky, dishonest software. Uninstall the Google Toolbar (if you have it installed) by making it visible (briefly!), clicking on the Google logo on the toolbar, choosing Help and then Uninstall…

aehso firefox, google

Google vs LVMH – Google loose.

June 30th, 2006

Google have just lost a landmark trademark case in the appeals court in France – LVMH (Luis Vuitton Moet Hennessy) claimed Google were unfairly selling their trademarks to 3rd parties (including counterfieters) via AdWords:

Vuitton’s efforts are aimed at making the search engine more of an advertising/marketing service for the merchant than a research service for the customer. The Web’s roots suggest it’s intended to be more of a populist tool.

This is a pretty far reaching verdict, even if it was in a French court. What happens to search result quality if Google cannot sell trademarked keywords to third parties? And how many words does that leave? Given AdWords contributes most to Google’s overall revenue I’d be nervous if I held Google stock now.

It’ll be interesting to see how this one pans out. Can/will the big brand owners follow suit in the US courts? How can Google accomodate this ruling given the vast sets of trademarked words in different jurisdictions?

aehso blogging, google