<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEIGRHY_cCp7ImA9WhRbGEU.&quot;"><id>tag:blogger.com,1999:blog-11300808</id><updated>2012-02-10T07:08:45.848-08:00</updated><category term="google friend connect" /><category term="MIT CSAIL" /><category term="font api" /><category term="stuff" /><category term="topp" /><category term="community" /><category term="SVG" /><category term="analytics" /><category term="jetpack" /><category term="picasa" /><category term="discovery service" /><category term="oreilly" /><category term="email" /><category term="karaoke" /><category term="tranparency" /><category term="freebsd" /><category term="myspace" /><category term="c++" /><category term="google grants" /><category term="jaiku" /><category term="visualization" /><category term="firevox" /><category term="java" /><category term="google checkout" /><category term="google visualization api" /><category term="ical" /><category term="best practices" /><category term="Winter of Code" /><category term="django" /><category term="preview" /><category term="Google tech talk" /><category term="africa" /><category term="web fonts" /><category term="google code" /><category term="mac" /><category term="bespin" /><category term="silverstripe" /><category term="ubuntu" /><category term="web exponents" /><category term="conferences" /><category term="google data protocol" /><category term="podcast" /><category term="cryptography" /><category term="apis" /><category term="ajax search books news apis" /><category term="hacking" /><category term="website optimizer" /><category term="creative commons" /><category term="osx" /><category term="internationalization" /><category term="guice" /><category term="chronoscope" /><category term="student programs" /><category term="doubleclick" /><category term="PowerMeter API" /><category term="gdd09" /><category term="axsjax" /><category term="atom publishing protocol" /><category term="code for educators" /><category term="GWSOP" /><category term="named" /><category term="WhiteHouse.gov" /><category term="advogato" /><category term="extensions" /><category term="collada" /><category term="google doctype" /><category term="howto" /><category term="result snippets" /><category term="google gadgets" /><category term="google io" /><category term="google storage" /><category term="gdd08" /><category term="google technoloy user groups" /><category term="openssh" /><category term="image search" /><category term="fusion tables" /><category term="google earth" /><category term="unix" /><category term="Marketplace" /><category term="samba" /><category term="gdd07" /><category term="standards" /><category term="camino" /><category term="gmail" /><category term="mylar" /><category term="mobile" /><category term="calendar" /><category term="google tv" /><category term="finance" /><category term="documentation" /><category term="html5" /><category term="gadgets" /><category term="souders" /><category term="documents list api" /><category term="firebug" /><category term="oss devs" /><category term="sketchup" /><category term="salesforce" /><category term="phone" /><category term="open source blog" /><category term="Imara" /><category term="hpux" /><category term="css" /><category term="weekly roundup" /><category term="performance" /><category term="ocr" /><category term="ajax search" /><category term="bigquery" /><category term="barcodes" /><category term="ODF" /><category term="devfest developer chrome maps social wave apps" /><category term="GDD11" /><category term="cloud storage" /><category term="spa2007" /><category term="kml" /><category term="cifs" /><category term="ubiquity" /><category term="openssl" /><category term="goo.gl" /><category term="virtual keyboard" /><category term="Vim" /><category term="android" /><category term="soap search api" /><category term="labs" /><category term="code jam" /><category term="interviews" /><category term="kernel summit" /><category term="amarok" /><category term="transit" /><category term="devfest" /><category term="sxsw" /><category term="yahoo" /><category term="gsoc" /><category term="javascript" /><category term="googlewebelements googleio" /><category term="WebP" /><category term="ietf" /><category term="social" /><category term="youtube" /><category term="photos" /><category term="igoogle" /><category term="dart" /><category term="developers" /><category term="Who's at Google I/O" /><category term="browser" /><category term="ajax apis" /><category term="windows" /><category term="oauth" /><category term="oha" /><category term="sitemaps" /><category term="codeedu" /><category term="non-profit" /><category term="plone sprint" /><category term="google apps for your domain" /><category term="narratives" /><category term="internet explorer" /><category term="all for good" /><category term="google code search" /><category term="games" /><category term="faster web" /><category term="apis. charts" /><category term="prediction api" /><category term="blogger" /><category term="green linux" /><category term="gtags" /><category term="closure tools" /><category term="search" /><category term="chromium" /><category term="developers. meetup" /><category term="mozilla" /><category term="maps" /><category term="LoCo" /><category term="contextual gadgets" /><category term="open web" /><category term="ignite" /><category term="native client" /><category term="google+" /><category term="Moderator" /><category term="google code project hosting" /><category term="translate" /><category term="shopping" /><category term="picasa web" /><category term="linux virtual server" /><category term="speakers" /><category term="events" /><category term="guest post" /><category term="api" /><category term="google code university" /><category term="book search" /><category term="chrome" /><category term="opensocial" /><category term="objective-c" /><category term="google mashup editor" /><category term="buzz" /><category term="ossjam" /><category term="bootcamp" /><category term="O3D" /><category term="git" /><category term="latitude" /><category term="web performance" /><category term="rails" /><category term="crisis response" /><category term="google developer days" /><category term="social graph" /><category term="gdata" /><category term="video" /><category term="nosql" /><category term="developer" /><category term="campfire one" /><category term="israel" /><category term="joomladayus2007" /><category term="hg" /><category term="solaris" /><category term="google summer of code" /><category term="khronos" /><category term="googleio" /><category term="getpaid" /><category term="gtug" /><category term="lca" /><category term="commerce" /><category term="agpl" /><category term="geo" /><category term="themes" /><category term="dojo" /><category term="dns" /><category term="portugal" /><category term="summer of code" /><category term="Fridaygram" /><category term="rhino" /><category term="chinese" /><category term="random hacks of kindness" /><category term="contacts api" /><category term="subversion" /><category term="feeds" /><category term="zurich" /><category term="education" /><category term="shindig" /><category term="building ajax apps" /><category term="nss" /><category term="webfonts" /><category term="OCaml" /><category term="python sprint" /><category term="project hosting" /><category term="google chart api" /><category term="Gmail APIs" /><category term="ZXing" /><category term="google buzz" /><category term="sixapart" /><category term="xauth" /><category term="speed tracer" /><category term="haproxy" /><category term="london" /><category term="Google I/O" /><category term="KDE" /><category term="speed" /><category term="orkut" /><category term="dreamweaver" /><category term="Google Wave" /><category term="apis console" /><category term="google gears" /><category term="gnome women's summer outreach program" /><category term="syndication" /><category term="+1" /><category term="Google" /><category term="googlenew" /><category term="adsense" /><category term="payments" /><category term="kernel" /><category term="gcc" /><category term="EMEA" /><category term="korean" /><category term="joomladayusa" /><category term="custom search" /><category term="client libraries" /><category term="openid" /><category term="meetup" /><category term="3d" /><category term="windows programming" /><category term="gwt" /><category term="google apps marketplace" /><category term="fosdem" /><category term="pactester" /><category term="open source" /><category term="freenet" /><category term="google docs" /><category term="firefox" /><category term="py3k" /><category term="iphone" /><category term="hackathon" /><category term="accessibility" /><category term="ubucon" /><category term="google health" /><category term="conversations" /><category term="danish linux forum" /><category term="tasks API" /><category term="apps script" /><category term="eclipse" /><category term="google web elements" /><category term="books API" /><category term="nonsense" /><category term="chrome web store" /><category term="soc" /><category term="contest" /><category term="google apps api" /><category term="MySQL" /><category term="scalability" /><category term="#io2012" /><category term="google developer day" /><category term="security" /><category term="licenses" /><category term="css3" /><category term="cloud" /><category term="google web toolkit" /><category term="custom search api" /><category term="webgl" /><category term="caldav" /><category term="chrome os" /><category term="gears" /><category term="posix" /><category term="geolocation" /><category term="pubsubhubbub" /><category term="html" /><category term="playground" /><category term="linux summit" /><category term="testing" /><category term="OOXML" /><category term="zlib" /><category term="google apps" /><category term="screencast" /><category term="asia" /><category term="sandbox" /><category term="couchdb" /><category term="joomla" /><category term="page speed" /><category term="google data apis" /><category term="apple" /><category term="cricket" /><category term="subscribed links" /><category term="ipad" /><category term="caja" /><category term="evolution" /><category term="gnome" /><category term="chrome extensions" /><category term="linux foundation" /><category term="in-app payments" /><category term="unit test" /><category term="python" /><category term="cms" /><category term="enterprise" /><category term="sites api" /><category term="iiw" /><category term="sidewiki" /><category term="netbsd" /><category term="app engine" /><category term="code review" /><category term="osi" /><category term="apache" /><category term="linux" /><category term="dot net" /><category term="hibernate" /><category term="iguanas" /><category term="authsub" /><category term="eclipsecon" /><category term="research" /><category term="oscon" /><category term="ajax" /><category term="students" /><category term="programming" /><category term="openajax alliance" /><category term="20% project" /><category term="cloud portability" /><category term="mythtv" /><category term="caption" /><category term="google chrome" /><category term="linuxconf eu" /><category term="about.com" /><category term="plone" /><category term="MacFuse" /><category term="geoserver" /><category term="oscon2007" /><category term="KDE 4.0" /><category term="drupal" /><category term="ghop" /><category term="mercurial" /><category term="reader" /><title type="text">Google Code Blog</title><subtitle type="html">Updates from Google's open source projects.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://googlecode.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Susan Taing</name><uri>http://www.blogger.com/profile/05869787699015793454</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>998</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/Dcni" /><feedburner:info uri="blogspot/dcni" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEYFSX06eip7ImA9WhRbE0U.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-8605006089090825074</id><published>2012-02-04T12:08:00.000-08:00</published><updated>2012-02-04T12:08:38.312-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-04T12:08:38.312-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><title>Google Summer of Code 2012 is on!</title><content type="html">&lt;br /&gt;
&lt;em&gt;By Carol Smith, Open Source Team&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Cross-posted with the &lt;a href="http://google-opensource.blogspot.com/"&gt;Google Open Source Blog&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="" style="text-align: center;"&gt;&lt;a href="http://code.google.com/soc/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="162" src="http://2.bp.blogspot.com/-0Z4BTG1iJDs/TyG9uyApFrI/AAAAAAAAAhY/raFJlaZqdes/s320/GSOC+12+logo.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Today at &lt;a href="http://fosdem.org/2012/" target="blank"&gt;FOSDEM&lt;/a&gt; I was proud to announce &lt;i&gt;&lt;a href="http://code.google.com/soc/" target="blank"&gt;Google Summer of Code&lt;/a&gt; &lt;/i&gt;2012.&lt;br /&gt;
&lt;br /&gt;
This will be the 8th year for &lt;i&gt;Google Summer of Code&lt;/i&gt;, an innovative program dedicated to introducing students from colleges and universities around the world to open source software development. The program offers student developers stipends to write code for various open source projects with the help of mentoring organizations from all around the globe. Over the past seven years &lt;i&gt;Google Summer of Code&lt;/i&gt; has had 6,000 students from over 90 countries complete the program. Our goal is to help these students pursue academic challenges over the summer break while they create and release open source code for the benefit of all.&lt;br /&gt;
&lt;br /&gt;
Spread the word to your friends! If you know of a university student that would be interested in working on open source projects this summer, or if you know of an organization that might want to mentor students to work on their open source projects, please direct them to our &lt;i&gt;Google Summer of Code&lt;/i&gt; 2012 &lt;a href="http://www.google-melange.com/gsoc/homepage/google/gsoc2012" target="blank"&gt;website&lt;/a&gt; where they can find our &lt;a href="http://www.google-melange.com/gsoc/events/google/gsoc2012" target="blank"&gt;timeline&lt;/a&gt; along with the &lt;a href="http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/faqs" target="blank"&gt;FAQs&lt;/a&gt;. And stay tuned for more details coming soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-8605006089090825074?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=qDZQQf1XBLI:3aaodOxfAho:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=qDZQQf1XBLI:3aaodOxfAho:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=qDZQQf1XBLI:3aaodOxfAho:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=qDZQQf1XBLI:3aaodOxfAho:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=qDZQQf1XBLI:3aaodOxfAho:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/qDZQQf1XBLI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/8605006089090825074/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/02/google-summer-of-code-2012-is-on.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/8605006089090825074?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/8605006089090825074?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/qDZQQf1XBLI/google-summer-of-code-2012-is-on.html" title="Google Summer of Code 2012 is on!" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-0Z4BTG1iJDs/TyG9uyApFrI/AAAAAAAAAhY/raFJlaZqdes/s72-c/GSOC+12+logo.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://googlecode.blogspot.com/2012/02/google-summer-of-code-2012-is-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04FQ307fSp7ImA9WhRbEkQ.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-291150202252520467</id><published>2012-02-03T12:11:00.000-08:00</published><updated>2012-02-03T12:11:52.305-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-03T12:11:52.305-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fridaygram" /><title>Fridaygram: science education, simulating galaxies, spider webs</title><content type="html">&lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;&lt;img height="80" src="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s1600/scottk-1.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;By Scott Knaster, &lt;a href="http://googlecode.blogspot.com/"&gt;Google Code Blog&lt;/a&gt; Editor&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Most software developers started getting interested in technology at an early age. With that in mind, &lt;a href="http://www.google.com/edu/rise/"&gt;Google Roots in Science and Engineering (RISE)&lt;/a&gt; is a program that annually awards grants to groups that come up with great new ways to teach students in Computer Science (CS) and science, technology, engineering, and math (STEM). This year’s awards were &lt;a href="http://googleblog.blogspot.com/2012/01/2012-global-award-winners-rise-to-top.html"&gt;just announced&lt;/a&gt;. The winners included a program that helps &lt;a href="http://www4.dcu.ie/ctyi/access.shtml"&gt;primary school students in Dublin&lt;/a&gt;, girls in the &lt;a href="http://www.getset.org/"&gt;San Francisco Bay Area&lt;/a&gt;, and &lt;a href="http://fundibots.com/"&gt;kids in Uganda who want to learn about technology&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Scientists love to have reproducible results so they can test theories and ideas. What if you’d like to reproduce the creation of a galaxy? That task is still out of scale for humans, but scientists at the Laboratoire pour l'Utilisation de Lasers Intenses (LULI) have figured out a &lt;a href="http://arstechnica.com/science/news/2012/01/galactic-magnetic-fields-produced-in-a-lab-using-lasers.ars"&gt;lab procedure that simulates the magnetic fields in newly formed galaxies&lt;/a&gt;. The experimental version uses lasers and carbon rods in place of clouds of gas and dark matter, but the results are useful, and you don’t need a galaxy-sized lab to work in.&lt;br /&gt;
&lt;br /&gt;
Narrowing our view from giant galaxies to little spiders, a &lt;a href="http://www.wired.com/wiredscience/2012/02/spider-web-strength/"&gt;new study says&lt;/a&gt; spider webs are not just strong, but also have the ability to become either stiff or soft, as necessary. Spider webs are also designed to stay as strong as possible when strands are damaged. So spiders are good engineers.&lt;br /&gt;
&lt;br /&gt;
Finally, you might use some of your weekend time to ponder this &lt;a href="http://www.youtube.com/watch?v=gBxeju8dMho"&gt;Vi Hart video&lt;/a&gt; about SpongeBob SquarePants and Fibonacci sequences.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Fridaygram posts are just for fun. Fridaygrams are designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds, and we certainly love our &lt;a href="http://www.youtube.com/watch?v=Bh7bYNAHXxw"&gt;lasers&lt;/a&gt;.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-291150202252520467?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ne_dYqefbFI:-zLcVwkb2_I:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=ne_dYqefbFI:-zLcVwkb2_I:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ne_dYqefbFI:-zLcVwkb2_I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ne_dYqefbFI:-zLcVwkb2_I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=ne_dYqefbFI:-zLcVwkb2_I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/ne_dYqefbFI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/291150202252520467/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/02/fridaygram-science-education-simulating.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/291150202252520467?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/291150202252520467?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/ne_dYqefbFI/fridaygram-science-education-simulating.html" title="Fridaygram: science education, simulating galaxies, spider webs" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s72-c/scottk-1.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/02/fridaygram-science-education-simulating.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYCRng_eyp7ImA9WhRbEEk.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-4309924045611901739</id><published>2012-01-31T14:16:00.000-08:00</published><updated>2012-01-31T14:16:07.643-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-31T14:16:07.643-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="html5" /><category scheme="http://www.blogger.com/atom/ns#" term="chrome" /><title>Angry Birds Chrome now uses the Web Audio API</title><content type="html">&lt;img height="80" src="http://2.bp.blogspot.com/-4jGRde_IoKo/Tygwuyms93I/AAAAAAAABAQ/tWfbkEcs8pw/s1600/fredsauer.jpg" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Fred Sauer, Developer Advocate&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Cross-posted with the &lt;a href="http://googlewebtoolkit.blogspot.com/"&gt;Google Web Toolkit Blog&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Last week &lt;a href="http://chrome.angrybirds.com/"&gt;Angry Birds for Chrome&lt;/a&gt; was updated to use the Web Audio API for all its in-game audio for Chrome users, which means Chrome users get the full Angry Birds experience, without any plugins. The &lt;a href="https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html"&gt;Web Audio API&lt;/a&gt; supports a wide variety of &lt;a href="https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ExampleApplications-section"&gt;use cases&lt;/a&gt;, including the high fidelity and low latency requirements of games. Users of other supported browsers will still get sound via Flash or HTML5 audio.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://chrome.angrybirds.com/"&gt;&lt;img src="http://4.bp.blogspot.com/-6emHimeEeoU/TygwDEDJ29I/AAAAAAAABAE/2tJslMCeKdE/s1600/angrybirds.png" alt="" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; text-align: center;" width="500" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
How does this cross-browser audio magic work? As you may have &lt;a href="http://www.google.com/events/io/2011/sessions/kick-ass-game-programming-with-google-web-toolkit.html"&gt;seen or heard&lt;/a&gt;, Angry Birds was in no small part made possible by the cross-platform open source &lt;a href="https://developers.google.com/playn/"&gt;PlayN&lt;/a&gt; library. When building for the HTML platform, PlayN in turn relies heavily on &lt;a href="http://code.google.com/webtoolkit/"&gt;Google Web Toolkit&lt;/a&gt; (GWT) to delivery a highly optimized web experience for users, and on &lt;a href="http://code.google.com/p/gwt-voices/"&gt;gwt-voices&lt;/a&gt; to easily deliver a cross-browser audio experience.&lt;br /&gt;
&lt;br /&gt;
The responsibility of choosing the appropriate audio API for the game's sound is (mostly) left up to gwt-voices, which chooses the audio API that will give the best experience. If you'd like to hear how other audio APIs perform, you can ask gwt-voices to try to use the &lt;a href="http://chrome.angrybirds.com/?gwt-voices=webaudio"&gt;Web Audio API&lt;/a&gt;, &lt;a href="http://chrome.angrybirds.com/?gwt-voices=flash"&gt;Flash&lt;/a&gt;, &lt;a href="http://chrome.angrybirds.com/?gwt-voices=html5"&gt;HTML5 Audio&lt;/a&gt;, or even &lt;a href="http://chrome.angrybirds.com/?gwt-voices=native"&gt;native&lt;/a&gt; audio. Your mileage will vary by browser and platform and which plugins you have installed. Also, gwt-voices will select the best available fallback, if the desired audio API is not going to work at all in your environment.&lt;br /&gt;
&lt;br /&gt;
Want to learn more? Check out the &lt;a href="http://www.html5rocks.com/en/tutorials/webaudio/intro/"&gt;Web Audio API tutorial&lt;/a&gt; and don't let &lt;a href="http://chrome.angrybirds.com/"&gt;those pigs&lt;/a&gt; grunt too much.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href="https://plus.google.com/115640166224745944209/posts"&gt;Fred Sauer&lt;/a&gt; is a Developer Advocate at Google where most of his time is devoted to Google App Engine and Google Web Toolkit. He is the author of various GWT related open source projects including gwt-dnd (providing in browser Drag and Drop capabilities), gwt-log (an advanced logging framework) and gwt-voices (for cross browser sound support). Fred has dedicated much of his career to Java related development, with an increasing focus on HTML5.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4309924045611901739?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=YMVt9wSyVWQ:hBn4wCFFfQk:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=YMVt9wSyVWQ:hBn4wCFFfQk:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=YMVt9wSyVWQ:hBn4wCFFfQk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=YMVt9wSyVWQ:hBn4wCFFfQk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=YMVt9wSyVWQ:hBn4wCFFfQk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/YMVt9wSyVWQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/4309924045611901739/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/angry-birds-chrome-now-uses-web-audio.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4309924045611901739?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4309924045611901739?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/YMVt9wSyVWQ/angry-birds-chrome-now-uses-web-audio.html" title="Angry Birds Chrome now uses the Web Audio API" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-4jGRde_IoKo/Tygwuyms93I/AAAAAAAABAQ/tWfbkEcs8pw/s72-c/fredsauer.jpg" height="72" width="72" /><thr:total>2</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/angry-birds-chrome-now-uses-web-audio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEEQHY6fSp7ImA9WhRUGUg.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-614117948706051600</id><published>2012-01-30T12:00:00.000-08:00</published><updated>2012-01-30T12:00:01.815-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-30T12:00:01.815-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dart" /><title>Translating JavaScript to Dart</title><content type="html">&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img height="80" src="http://www.aresluna.org/marcin-wichary-80x80.png" style="margin-left: auto; margin-right: auto; text-align: right;" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Marcin&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img height="80" src="http://krunchr.com/photo.jpeg" style="margin-left: auto; margin-right: auto; text-align: right;" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Aaron&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;em&gt;By Aaron Wheeler, Senior User Experience Prototyper, and Marcin Wichary, Senior User Experience Designer&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Cross-posted with the &lt;a href="http://blog.chromium.org/"&gt;Chromium Blog&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
It took approximately 2000 years for the &lt;a href="http://en.wikipedia.org/wiki/Rosetta_Stone"&gt;original Rosetta Stone&lt;/a&gt; to be discovered, which helped translate the Egyptian Hieroglyphs. We couldn’t wait that long to bridge the &lt;a href="http://www.dartlang.org/"&gt;Dart&lt;/a&gt; and JavaScript worlds, so today we are releasing the &lt;a href="http://synonym.dartlang.org/"&gt;JavaScript to Dart Synonym&lt;/a&gt; app.&lt;br /&gt;
&lt;br /&gt;
Like most web developers, we are familiar, comfortable, and productive with JavaScript. We were curious about Dart, and thanks to a recent Dart hackathon, we had the chance to play with the language and libraries. The problem was, as JavaScript developers, we didn’t know how to map common JavaScript idioms to Dart. Hence the idea for this synonym app was born.&lt;br /&gt;
&lt;br /&gt;
We started with the basics that every JavaScript and jQuery developer knows: variables, arrays, functions, classes, DOM manipulation, and many more. Then, with the help of the Dart team, we recorded the corresponding Dart versions of each idiom. To practice what we learned, we wrote this app with Dart.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-k05Kk9FtLWA/TybYPA8FVFI/AAAAAAAAA-s/0E_LPNoTHco/s1600/synonym-large.png"&gt;&lt;img src="http://4.bp.blogspot.com/--pq2nKAxfYg/TybYO4ZMcFI/AAAAAAAAA-c/MtSliiziOho/s1600/synonym-small.png" alt="" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; text-align: center;" width="500" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
We hope our &lt;a href="http://synonym.dartlang.org/"&gt;app that maps between JavaScript and Dart&lt;/a&gt; eases your introduction to Dart and gives you a sense of where the project is going. We know the team is eager to hear your feedback. Don’t hesitate to &lt;a href="https://groups.google.com/a/dartlang.org/group/misc/topics"&gt;join the conversation&lt;/a&gt; or &lt;a href="http://code.google.com/p/dart/issues/list"&gt;file a new issue&lt;/a&gt; for either Dart or the Synonym app. And remember, Dart isn’t &lt;i&gt;set in stone&lt;/i&gt;, so your feedback counts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href="http://fightinjoe.com/"&gt;Aaron Wheeler&lt;/a&gt; is a user experience prototyper working on special projects that go beyond the Web.  He balances design and engineering outside of work as well, splitting time between artistic pursuits and bicycle maintenance.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href="http://www.aresluna.org/"&gt;Marcin Wichary&lt;/a&gt; is a user experience designer, currently working on the Chrome browser and thinking of the future of the Web platform. He also occasionally codes interactive homepage doodles, such as &lt;a href="http://www.google.com/pacman/"&gt;Pac-Man&lt;/a&gt; and &lt;a href="http://www.google.com/logos/lem/"&gt;Stanislaw Lem&lt;/a&gt;.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-614117948706051600?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Slg5NnLtmCE:iIVlCLnJ7pg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Slg5NnLtmCE:iIVlCLnJ7pg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Slg5NnLtmCE:iIVlCLnJ7pg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Slg5NnLtmCE:iIVlCLnJ7pg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Slg5NnLtmCE:iIVlCLnJ7pg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/Slg5NnLtmCE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/614117948706051600/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/translating-javascript-to-dart.html#comment-form" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/614117948706051600?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/614117948706051600?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/Slg5NnLtmCE/translating-javascript-to-dart.html" title="Translating JavaScript to Dart" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/--pq2nKAxfYg/TybYO4ZMcFI/AAAAAAAAA-c/MtSliiziOho/s72-c/synonym-small.png" height="72" width="72" /><thr:total>9</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335520200000005 -122.1628151 37.4365832 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/translating-javascript-to-dart.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08MRHYyfCp7ImA9WhRUGEs.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-5143927732262081947</id><published>2012-01-29T10:31:00.000-08:00</published><updated>2012-01-29T10:31:25.894-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-29T10:31:25.894-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="google developer days" /><category scheme="http://www.blogger.com/atom/ns#" term="events" /><title>g|saudi arabia 2.0 is back</title><content type="html">&lt;img height="80" src="http://4.bp.blogspot.com/-1d19Qpuxcdk/TnlWATFPnoI/AAAAAAAAAys/DDuUKgVyu7A/s72-c/rania.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Rania Hadi, MENA Outreach Manager&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;View this post in &lt;a href="http://google-arabia.blogspot.com/2012/01/google-gsaudi-arabia.html"&gt;Arabic&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Building on a year packed with g|days throughout the Middle East and North Africa, today we are announcing Google MENA’s first 2012 event to kick off the new year. On March 24-25, Google, in collaboration with &lt;a href="http://www.badir.com.sa/en"&gt;Badir Technology Incubator&lt;/a&gt;, will be hosting our second event in the Kingdom: &lt;a href="https://sites.google.com/site/gsaudiarabia20/"&gt;g|saudi arabia 2.0&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
We’re coming to Jeddah with a host of fresh sessions on all things technology and business. Google engineers, product managers, and business leaders will be there to not only deliver trainings but will be available for any questions, ideas, or discussions you may want to have. We’re also planning some new formats: hands-on workshops, dedicated sessions for women in technology, and chances to showcase Saudi’s finest developer talent.&lt;br /&gt;
&lt;br /&gt;
So if you are a developer, programmer, IT professional, entrepreneur, or small business/start-up, you won’t want to miss this event! If you need more convincing, have a look at the fun, enthusiasm and energy from last year.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width="480" height="360" src="http://www.youtube.com/embed/sHFZjRUSgjo" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Rania Hadi has been with Google since 2004 and now works on Outreach in MENA. She focuses on building relationships and promoting Google technologies with the developer and tech communities.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-5143927732262081947?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Qr4nstJEn3U:DAaDtn4CdnY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Qr4nstJEn3U:DAaDtn4CdnY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Qr4nstJEn3U:DAaDtn4CdnY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Qr4nstJEn3U:DAaDtn4CdnY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Qr4nstJEn3U:DAaDtn4CdnY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/Qr4nstJEn3U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/5143927732262081947/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/gsaudi-arabia-20-is-back.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/5143927732262081947?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/5143927732262081947?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/Qr4nstJEn3U/gsaudi-arabia-20-is-back.html" title="g|saudi arabia 2.0 is back" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-1d19Qpuxcdk/TnlWATFPnoI/AAAAAAAAAys/DDuUKgVyu7A/s72-c/rania.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335520200000005 -122.1628151 37.4365832 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/gsaudi-arabia-20-is-back.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUABSH89fyp7ImA9WhRUFkQ.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-1062008903821505125</id><published>2012-01-27T12:55:00.000-08:00</published><updated>2012-01-27T12:55:59.167-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-27T12:55:59.167-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="faster web" /><category scheme="http://www.blogger.com/atom/ns#" term="Fridaygram" /><title>Fridaygram: faster web, stronger machines, prettier planet</title><content type="html">&lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;&lt;img height="80" src="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s1600/scottk-1.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;By Scott Knaster, &lt;a href="http://googlecode.blogspot.com/"&gt;Google Code Blog&lt;/a&gt; Editor&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Everybody likes a faster web, and that theme has been evident this week here on Google Code Blog. On Monday, Yuchung Cheng wrote about Google’s research into &lt;a href="http://googlecode.blogspot.com/2012/01/lets-make-tcp-faster.html"&gt;making TCP faster&lt;/a&gt; through various proposals and experiments. Yesterday, Roberto Peon and Will Chan &lt;a href="http://googlecode.blogspot.com/2012/01/making-web-speedier-and-safer-with-spdy.html"&gt;blogged about SPDY&lt;/a&gt; (pronounced &lt;i&gt;speedy&lt;/i&gt;), Google’s protocol for speeding up the web’s application layer historically handled by HTTP. In related news this week, the chairman of the &lt;a href="http://trac.tools.ietf.org/wg/httpbis/trac/wiki"&gt;HTTPbis Working Group&lt;/a&gt; announced &lt;a href="http://lists.w3.org/Archives/Public/ietf-http-wg/2012JanMar/0098.html"&gt;support for SPDY in a public post&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
At Google, these projects are part of our Make the Web Faster initiative, although TCP improvements and SPDY are efforts of the whole community. Even if you’re not working on TCP or SPDY, you can find lots of useful resources at our &lt;a href="http://code.google.com/speed/"&gt;Make the Web Faster site&lt;/a&gt;. For example, there are &lt;a href="http://code.google.com/speed/articles/"&gt;articles on compression, caching, metrics, and more&lt;/a&gt;, a set of &lt;a href="http://code.google.com/speed/tools.html"&gt;tools for measuring and optimizing pages&lt;/a&gt;, and several &lt;a href="http://code.google.com/speed/community.html"&gt;discussion forums for communicating with other interested folks&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Sometimes stronger is more important than faster. Scientists looking to improve the durability of machinery have been &lt;a href="http://www.sciencedaily.com/releases/2012/01/120125101950.htm"&gt;studying the yellow fattail scorpion&lt;/a&gt;, which uses bumps on its back to resist damage from sandstorms. Researchers hope to use the scorpion’s design to create erosion-resistant surfaces for blades, pipes, and similar parts. Or maybe they’ll make machines that look like giant yellow scorpions.&lt;br /&gt;
&lt;br /&gt;
Finally, take a step back from everything on Earth and have a look at &lt;a href="http://www.nasa.gov/vision/earth/features/blue_marble.html"&gt;NASA’s latest "Blue Marble" images&lt;/a&gt; of our planet. We have a beautiful home.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Let’s say this fast: Fridaygram posts are just for fun. Fridaygrams are designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds. That definitely includes speed, space, and scorpions.&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-1062008903821505125?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=LqFMPFx-AUw:RtucaEXgwWg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=LqFMPFx-AUw:RtucaEXgwWg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=LqFMPFx-AUw:RtucaEXgwWg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=LqFMPFx-AUw:RtucaEXgwWg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=LqFMPFx-AUw:RtucaEXgwWg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/LqFMPFx-AUw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/1062008903821505125/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/fridaygram-faster-web-stronger-machines.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/1062008903821505125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/1062008903821505125?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/LqFMPFx-AUw/fridaygram-faster-web-stronger-machines.html" title="Fridaygram: faster web, stronger machines, prettier planet" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s72-c/scottk-1.png" height="72" width="72" /><thr:total>3</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335520200000005 -122.1628151 37.4365832 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/fridaygram-faster-web-stronger-machines.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAMQ3g8eCp7ImA9WhRUGEo.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-9069190441953858290</id><published>2012-01-26T11:31:00.000-08:00</published><updated>2012-01-29T15:13:02.670-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-29T15:13:02.670-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="faster web" /><category scheme="http://www.blogger.com/atom/ns#" term="chrome" /><title>Making the web speedier and safer with SPDY</title><content type="html">&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img height="80" src="http://2.bp.blogspot.com/-vaFoG2iNrFI/TyD0PNJbNzI/AAAAAAAAA98/CfxrFLMfqMw/s1600/willchan.png" style="margin-left: auto; margin-right: auto; text-align: right;" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Will&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img height="80" src="http://1.bp.blogspot.com/-D4gLR1g2xaM/TyD0PKiiuwI/AAAAAAAAA-E/3siZDTCQYx8/s1600/roberto.png" style="margin-left: auto; margin-right: auto; text-align: right;" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Roberto&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;em&gt;By Roberto Peon and Will Chan, Software Engineers&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Cross-posted with the &lt;a href="http://blog.chromium.org/"&gt;Chromium Blog&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
In the two years since we announced &lt;a href="http://dev.chromium.org/spdy"&gt;SPDY&lt;/a&gt;, we’ve been working with the web community on evolving the spec and getting SPDY deployed on the Web. &lt;br /&gt;
&lt;br /&gt;
Chrome, Android Honeycomb devices, and Google's servers have been speaking SPDY for some time, bringing important benefits to users. For example, thanks to SPDY, a significant percentage of Chrome users saw a decrease in search latency when we launched SSL-search. Given that Google search results are some of the most highly optimized pages on the internet, this was a surprising and welcome result. &lt;br /&gt;
&lt;br /&gt;
We’ve also seen widespread community uptake and participation. Recently, Firefox has &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=528288"&gt;added SPDY support&lt;/a&gt;, which means that soon half of the browsers in use will support SPDY. On the server front, nginx has announced plans to &lt;a href="http://forum.nginx.org/read.php?2,217299,217302#msg-217302"&gt;implement SPDY&lt;/a&gt;, and we're actively working on a full featured &lt;a href="http://calendar.perfplanet.com/2011/introducing-mod_spdy-a-spdy-module-for-the-apache-http-server/"&gt;mod-spdy for Apache&lt;/a&gt;. In addition, &lt;a href="http://www.strangeloopnetworks.com/news/releases/strangeloop-offers-worlds-first-site-acceleration-product-to-deliver-spdy-benefits/"&gt;Strangeloop&lt;/a&gt;, &lt;a href="http://arstechnica.com/gadgets/news/2011/09/amazons-silk-web-browser-adds-new-twist-to-old-idea.ars"&gt;Amazon&lt;/a&gt;, and &lt;a href="http://velocityconf.com/velocity2011/public/schedule/detail/21089"&gt;Cotendo&lt;/a&gt; have all announced that they’ve been using SPDY. &lt;br /&gt;
&lt;br /&gt;
Given SPDY's rapid adoption rate, we’re working hard on acceptance tests to help validate new implementations. Our &lt;a href="http://dev.chromium.org/spdy/spdy-best-practices"&gt;best practices document&lt;/a&gt; can also help website operators make their sites as speedy as possible. &lt;br /&gt;
&lt;br /&gt;
With the help of Mozilla and other contributors, we’re pushing hard to finalize and implement SPDY draft-3 in early 2012, as standardization discussions for SPDY will start at the next meeting of the IETF. &lt;br /&gt;
&lt;br /&gt;
We look forward to working even more closely with the community to improve SPDY and make the Web faster!&lt;br /&gt;
&lt;br /&gt;
To learn more about SPDY, see the link to a Tech Talk &lt;a href="http://www.youtube.com/watch?v=TNBkxA313kk&amp;list=PLE0E03DF19D90B5F4&amp;index=2&amp;feature=plpp_video"&gt;here&lt;/a&gt;, with slides &lt;a href="https://docs.google.com/presentation/d/1-LWSvYmXPJ4WIu6GDaDHgHUwT_FkakECfHc0SL7IKOI/edit"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Roberto Peon and Will Chan co-lead the SPDY effort at Google. Roberto leads SPDY server efforts and continues to tell people to be unafraid of trying to change the world for the better. Will works on the Chrome network stack and leads the Chrome SPDY efforts. Outside of work, Will enjoys traveling the world in search of cheap beer and absurd situations.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-9069190441953858290?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=CphNymfe_SU:ntS1OS3aJkg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=CphNymfe_SU:ntS1OS3aJkg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=CphNymfe_SU:ntS1OS3aJkg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=CphNymfe_SU:ntS1OS3aJkg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=CphNymfe_SU:ntS1OS3aJkg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/CphNymfe_SU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/9069190441953858290/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/making-web-speedier-and-safer-with-spdy.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/9069190441953858290?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/9069190441953858290?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/CphNymfe_SU/making-web-speedier-and-safer-with-spdy.html" title="Making the web speedier and safer with SPDY" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-vaFoG2iNrFI/TyD0PNJbNzI/AAAAAAAAA98/CfxrFLMfqMw/s72-c/willchan.png" height="72" width="72" /><thr:total>6</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/making-web-speedier-and-safer-with-spdy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AARH89eSp7ImA9WhRUE0k.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-2138172111681265307</id><published>2012-01-23T10:00:00.000-08:00</published><updated>2012-01-23T10:02:25.161-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-23T10:02:25.161-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="faster web" /><title>Let's make TCP faster</title><content type="html">&lt;img width="80" src="http://1.bp.blogspot.com/-_I42LEylT9A/Tx2V3xAa9HI/AAAAAAAAA9w/GIlm8NggSnU/s1600/yuchung.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Yuchung Cheng, Make The Web Faster Team&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Transmission Control Protocol (TCP), the workhorse of the Internet, is designed to deliver all the Web’s content and operate over a huge range of network types. To deliver content effectively, Web browsers typically open &lt;a href="http://www.browserscope.org/?category=network&amp;v=top"&gt;several dozen parallel TCP connections&lt;/a&gt; ahead of making actual requests. This strategy overcomes inherent TCP limitations but results in high latency in many situations and is not scalable.&lt;br /&gt;
&lt;br /&gt;
Our research shows that the key to reducing latency is saving round trips. We’re experimenting with several improvements to TCP. Here’s a summary of some of our recommendations to make TCP faster:&lt;br /&gt;
&lt;br /&gt;
1. &lt;a href="http://code.google.com/speed/protocols/tcpm-IW10.html"&gt;Increase TCP initial congestion window to 10 (IW10)&lt;/a&gt;. The amount of data sent at the beginning of a TCP connection is currently 3 packets, implying 3 round trips (RTT) to deliver a tiny 15KB-sized content. Our &lt;a href="http://research.google.com/pubs/pub36640.html"&gt;experiments&lt;/a&gt; indicate that IW10 reduces the network latency of Web transfers by over 10%.&lt;br /&gt;
&lt;br /&gt;
2. &lt;a href="http://tools.ietf.org/html/rfc6298"&gt;Reduce the initial timeout from 3 seconds to 1 second&lt;/a&gt;. An RTT of 3 seconds was appropriate a couple of decades ago, but today’s Internet requires a much smaller timeout. Our rationale for this change is well documented &lt;a href="http://www.ietf.org/proceedings/75/slides/tcpm-1.pdf"&gt;here&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
3. Use TCP Fast Open (TFO). For 33% of all HTTP requests, the browser needs to first spend one RTT to establish a TCP connection with the remote peer. Most HTTP responses fit in the initial TCP congestion window of 10 packets, doubling response time.  TFO removes this overhead by including the HTTP request in the initial TCP SYN packet. We’ve demonstrated TFO reducing Page Load time by 10% on average, and over 40% in many situations. Our &lt;a href="http://research.google.com/pubs/pub37517.html"&gt;research paper&lt;/a&gt; and &lt;a href="https://datatracker.ietf.org/doc/draft-cheng-tcpm-fastopen/"&gt;internet-draft&lt;/a&gt; address concerns such as dropped packets and DOS attacks when using TFO.&lt;br /&gt;
&lt;br /&gt;
4. Use Proportional Rate Reduction for TCP (PRR). Packet losses indicate the network is in disorder or is congested. &lt;a href="http://research.google.com/pubs/pub37486.html"&gt;PRR&lt;/a&gt;, a new loss recovery algorithm, retransmits smoothly to recover losses during network congestion. The algorithm is faster than the current mechanism by adjusting the transmission rate according to the degree of losses. PRR is now part of the Linux kernel and is in the process of becoming part of the TCP &lt;a href="http://tools.ietf.org/html/draft-ietf-tcpm-proportional-rate-reduction-00"&gt;standard&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In addition, we are developing algorithms to recover faster on noisy mobile networks, as well as a guaranteed 2-RTT delivery during startup. All our work on TCP is open-source and publicly available. We disseminate our innovations through the Linux kernel, IETF standards proposals, and research publications. Our goal is to partner with industry and academia to improve TCP for the whole Internet. Please watch this blog and &lt;a href="http://code.google.com/speed/"&gt;http://code.google.com/speed/&lt;/a&gt; for further information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Yuchung Cheng works on the transport layer to make the Web faster. He believes the current transport layer badly needs an overhaul to catch up with other (networking) technologies. He can be reached at &lt;a href="mailto:ycheng@google.com"&gt;ycheng@google.com&lt;/a&gt;.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-2138172111681265307?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=KKlbigDkdvE:Nl_HZN4Edcs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=KKlbigDkdvE:Nl_HZN4Edcs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=KKlbigDkdvE:Nl_HZN4Edcs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=KKlbigDkdvE:Nl_HZN4Edcs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=KKlbigDkdvE:Nl_HZN4Edcs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/KKlbigDkdvE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/2138172111681265307/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/lets-make-tcp-faster.html#comment-form" title="45 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/2138172111681265307?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/2138172111681265307?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/KKlbigDkdvE/lets-make-tcp-faster.html" title="Let's make TCP faster" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-_I42LEylT9A/Tx2V3xAa9HI/AAAAAAAAA9w/GIlm8NggSnU/s72-c/yuchung.png" height="72" width="72" /><thr:total>45</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/lets-make-tcp-faster.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkADR3c9eip7ImA9WhRUEEQ.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-8055296036876780126</id><published>2012-01-20T13:26:00.000-08:00</published><updated>2012-01-20T13:26:16.962-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-20T13:26:16.962-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fridaygram" /><title>Fridaygram: don’t censor the web, rediscovering Darwin, beautiful nebula</title><content type="html">&lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;&lt;img height="80" src="http://3.bp.blogspot.com/-bBY3HxiF2G4/TZ6BUHHabEI/AAAAAAAAAQM/L-JWP5LW5ow/s400/ChromiumScreenSnapz001.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" width="80" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;By Scott Knaster, &lt;a href="http://googlecode.blogspot.com/"&gt;Google Code Blog&lt;/a&gt; Editor&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Last Wednesday, the web looked very different than it usually does. Dozens of popular sites went dark or were modified in some way. We censored the logo on our homepage. As you probably know by now, all this was done to call attention to prospective legislation being debated by the U.S. Congress: the &lt;a href="http://www.gpo.gov/fdsys/pkg/BILLS-112hr3261ih/pdf/BILLS-112hr3261ih.pdf"&gt;Stop Online Piracy Act&lt;/a&gt; (SOPA) and the &lt;a href="http://www.gpo.gov/fdsys/pkg/BILLS-112s968is/pdf/BILLS-112s968is.pdf"&gt;PROTECT IP Act&lt;/a&gt; (PIPA). These bills would censor the web, eliminate due process, and despite their titles, &lt;a href="http://googleblog.blogspot.com/2012/01/dont-censor-web.html"&gt;would not stop piracy&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
We asked you to take action by signing a &lt;a href="https://www.google.com/landing/takeaction/"&gt;petition to Congress&lt;/a&gt;, and you responded. More than &lt;a href="https://plus.google.com/116899029375914044550/posts/WyqtYzsuJMT"&gt;7 million people&lt;/a&gt; in the U.S. added their names to the petition. We’re asking you to please keep sharing the petition with your friends at &lt;a href="http://www.google.com/takeaction"&gt;http://www.google.com/takeaction&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Let’s go from the U.S. Congress to the British Geological Survey, where Howard Falcon-Lang recently discovered a wooden cabinet tucked away in a corner. Inside the cabinet were rock samples with the signature &lt;em&gt;C. Darwin, Esquire&lt;/em&gt;. As in &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Charles_Darwin"&gt;Charles Darwin&lt;/a&gt;&lt;/em&gt;. It turns out that these samples were collected by &lt;a href="http://www.cbsnews.com/8301-18563_162-57361530/charles-darwin-collection-found-165-years-later/"&gt;Darwin during his HMS Beagle voyages&lt;/a&gt; in the 1830s, and had been misplaced for 165 years. Probably they’ll keep better track of the Darwin samples now.&lt;br /&gt;
&lt;br /&gt;
Finally, for something that’s just really cool, please take a look at this video that zooms into an image of the Helix Nebula in the constellation Aquarius. Enjoy!&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/PYyrlh640m8" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Fridaygram posts are generally just for fun, although we’ve put on our serious hat for the main item today. Fridaygrams are designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds.&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-8055296036876780126?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=_3MrTEBYxXc:Uk6kBpIIY84:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=_3MrTEBYxXc:Uk6kBpIIY84:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=_3MrTEBYxXc:Uk6kBpIIY84:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=_3MrTEBYxXc:Uk6kBpIIY84:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=_3MrTEBYxXc:Uk6kBpIIY84:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/_3MrTEBYxXc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/8055296036876780126/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/fridaygram-dont-censor-web.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/8055296036876780126?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/8055296036876780126?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/_3MrTEBYxXc/fridaygram-dont-censor-web.html" title="Fridaygram: don’t censor the web, rediscovering Darwin, beautiful nebula" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-bBY3HxiF2G4/TZ6BUHHabEI/AAAAAAAAAQM/L-JWP5LW5ow/s72-c/ChromiumScreenSnapz001.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/fridaygram-dont-censor-web.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcEQXwzfCp7ImA9WhRVGUs.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-4869227199222856775</id><published>2012-01-19T00:00:00.000-08:00</published><updated>2012-01-19T00:00:00.284-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T00:00:00.284-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="events" /><category scheme="http://www.blogger.com/atom/ns#" term="apps script" /><category scheme="http://www.blogger.com/atom/ns#" term="hackathon" /><category scheme="http://www.blogger.com/atom/ns#" term="EMEA" /><title>Google Apps EMEA Developer Tour (continued)</title><content type="html">&lt;img height="90" src="http://4.bp.blogspot.com/-XqH0AcYRsyA/TrltyahfLAI/AAAAAAAAA28/BVTVo_ysFFI/s1600/nicolas.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Nicolas Garnier, Developer Relations Team&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Cross-posted from the &lt;a href="http://googleappsdeveloper.blogspot.com/"&gt;Google Apps Developer Blog&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Two months ago &lt;a href="http://googlecode.blogspot.com/2011/11/google-apps-emea-developer-tour.html"&gt;we announced&lt;/a&gt; that a few of us from the Google Apps Developer Relations team would be going around EMEA to meet with developers and talk about Google Apps technologies. We have met great developers from Germany, France, Russia, Czech Republic, Egypt, Switzerland, Israel, and Spain during Google Developer Days, hackathons, developer conferences and GTUG meetings.&lt;br /&gt;
&lt;br /&gt;
This year we are continuing the tour with a series of Google Apps Script hackathons taking place in &lt;a href="http://apps-dev-tour.appspot.com/agenda.html#Vienna"&gt;Vienna&lt;/a&gt;, &lt;a href="http://apps-dev-tour.appspot.com/agenda.html#Milan"&gt;Milan&lt;/a&gt;, &lt;a href="http://apps-dev-tour.appspot.com/agenda.html#Madrid"&gt;Madrid&lt;/a&gt;, &lt;a href="http://apps-dev-tour.appspot.com/agenda.html#Munich"&gt;Munich&lt;/a&gt; and &lt;a href="http://apps-dev-tour.appspot.com/agenda.html#Dublin"&gt;Dublin&lt;/a&gt; over the next few months. These hackathons provide a fun and hands-on way to learn about Google Apps Script and a good opportunity to give us your feedback on this technology.&lt;br /&gt;
&lt;br /&gt;
For more information about the tour and to register for these events, please visit the &lt;a href="http://apps-dev-tour.appspot.com/"&gt;Google Apps EMEA Developer Tour&lt;/a&gt; website.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width="530" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" style="margin-top: 20px;border-radius:5px;" src="http://maps.google.com/maps/ms?z=4&amp;amp;t=t&amp;amp;vpsrc=5&amp;amp;msa=0&amp;amp;msid=212740107356106824507.0004b09b4f5a62b1c5bfb&amp;amp;ie=UTF8&amp;amp;ll=48.516604,8.369141&amp;amp;spn=17.888665,46.538086&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
We plan to organize many other Google Apps events close to you in the near future. Look for updates on the &lt;a href="http://apps-dev-tour.appspot.com/"&gt;Google Apps EMEA Developer Tour&lt;/a&gt; website or keep an eye out for further announcements on the &lt;a href="http://googleappsdeveloper.blogspot.com/"&gt;Google Apps Developer Blog&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href="https://plus.sandbox.google.com/108635752367054807758/posts"&gt;Nicolas Garnier&lt;/a&gt; joined Google’s Developer Relations team in 2008 and lives in Zurich. He is a Developer Advocate focusing on Google Apps and Web APIs. Before joining Google, Nicolas worked at Airbus and at the French Space Agency where he built web applications for scientific researchers.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4869227199222856775?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=zwQiDh88b-E:ZfzrjF8iTu4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=zwQiDh88b-E:ZfzrjF8iTu4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=zwQiDh88b-E:ZfzrjF8iTu4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=zwQiDh88b-E:ZfzrjF8iTu4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=zwQiDh88b-E:ZfzrjF8iTu4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/zwQiDh88b-E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/4869227199222856775/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/google-apps-emea-developer-tour.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4869227199222856775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4869227199222856775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/zwQiDh88b-E/google-apps-emea-developer-tour.html" title="Google Apps EMEA Developer Tour (continued)" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-XqH0AcYRsyA/TrltyahfLAI/AAAAAAAAA28/BVTVo_ysFFI/s72-c/nicolas.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/google-apps-emea-developer-tour.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUAQXc6eyp7ImA9WhRUEE0.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-7038537952202588200</id><published>2012-01-17T12:00:00.000-08:00</published><updated>2012-01-19T12:50:40.913-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T12:50:40.913-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="app engine" /><category scheme="http://www.blogger.com/atom/ns#" term="google storage" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud storage" /><category scheme="http://www.blogger.com/atom/ns#" term="apis" /><title>Google Cloud Storage: concurrency controls and deeper App Engine integration</title><content type="html">&lt;img height="80" src="http://3.bp.blogspot.com/-Ll_wnuWaFak/TxXAdFNfbtI/AAAAAAAAA9g/OTwVKFxZ68g/s1600/navneet.jpeg" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Navneet Joneja, Product Manager&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://developers.google.com/storage/"&gt;Google Cloud Storage&lt;/a&gt; is a &lt;a href="https://developers.google.com/storage/docs/sla"&gt;robust&lt;/a&gt;, high-performance service that enables developers and businesses to use Google’s infrastructure to store and serve their data. Today, we’re announcing a new feature that gives you greater control over concurrent writes to the same object, and the availability of an App Engine Files API that makes it easier to read and write data from Java App Engine applications.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Write concurrency control&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A number of our customers have asked us for greater control over concurrent writes, in order to implement features like strongly consistent write operations and distributed locking semantics in the cloud. In response to your feedback, we’re announcing the release of &lt;a href="https://developers.google.com/storage/docs/developer-guide#versions"&gt;version-based concurrency control&lt;/a&gt;. Every time you update an object, it gets assigned a 32-bit, monotonically increasing sequence number. This version number is returned as a header with every GET or HEAD request. You can then use a conditional write operation to manage concurrent updates to the object (for example, when you want read-modify-write semantics). This feature is currently experimental.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;AppEngine Files API for Java applications&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Last fall, we &lt;a href="http://googlecode.blogspot.com/2011/10/google-cloud-storage-is-out-of-code.html"&gt;announced&lt;/a&gt; the ability to read and write your Google Cloud Storage data using the App Engine Files API for Python applications. Today, we’re making the &lt;a href="http://code.google.com/appengine/docs/java/googlestorage/"&gt;Files API available to Java App Engine applications&lt;/a&gt; too. This feature is currently experimental, and we’ll continue to enhance it in the months to come.&lt;br /&gt;
&lt;br /&gt;
As always, we welcome your feedback in our &lt;a href="https://groups.google.com/group/gs-discussion"&gt;discussion group&lt;/a&gt;. If you haven’t tried Google Cloud Storage yet, you can sign up and get started &lt;a href="https://developers.google.com/storage/"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Navneet Joneja loves being at the forefront of the next generation of simple and reliable software infrastructure, the foundation on which next-generation technology is being built. When not working, he can usually be found dreaming up new ways to entertain his intensely curious almost-two-year-old.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-7038537952202588200?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=nqDqHwdXdDw:2ymF0vvdsrU:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=nqDqHwdXdDw:2ymF0vvdsrU:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=nqDqHwdXdDw:2ymF0vvdsrU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=nqDqHwdXdDw:2ymF0vvdsrU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=nqDqHwdXdDw:2ymF0vvdsrU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/nqDqHwdXdDw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/7038537952202588200/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/google-cloud-storage-concurrency.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/7038537952202588200?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/7038537952202588200?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/nqDqHwdXdDw/google-cloud-storage-concurrency.html" title="Google Cloud Storage: concurrency controls and deeper App Engine integration" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-Ll_wnuWaFak/TxXAdFNfbtI/AAAAAAAAA9g/OTwVKFxZ68g/s72-c/navneet.jpeg" height="72" width="72" /><thr:total>2</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/google-cloud-storage-concurrency.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4AR304eyp7ImA9WhRVFEU.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-3779984341932728247</id><published>2012-01-13T12:02:00.000-08:00</published><updated>2012-01-13T12:02:26.333-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T12:02:26.333-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fridaygram" /><title>Fridaygram: Science Fair, tiny frog, friggatriskaidekaphobia</title><content type="html">&lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;&lt;img height="80" src="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s1600/scottk-1.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;By Scott Knaster, &lt;a href="http://googlecode.blogspot.com/"&gt;Google Code Blog&lt;/a&gt; Editor&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
This week we launched the &lt;a href="http://googleblog.blogspot.com/2012/01/ask-your-question-in-2012-google.html"&gt;2012 Google Science Fair&lt;/a&gt; for students ages 13 to 18. For the Science Fair, young scientists are asked to pose a question, answer it through scientific inquiry, and report the results online. We’ll pick 90 regional finalists, then choose the top 15 to come to Google in Mountain View, California. Nobel laureates and other distinguished folks will judge the finalists.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/LWiuUC9RDhY" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
Grown-up scientists working in the Papua New Guinea rain forest recently heard what sounded like an insect call, then tried to find out what was making the noise. Eventually they bagged leaf litter from the forest floor and began to sort through it, when a &lt;a href="http://news.nationalgeographic.com/news/2012/01/120111-smallest-frogs-vertebrates-new-species-science-animals"&gt;tiny frog&lt;/a&gt; jumped out. It was &lt;i&gt;Paedophryne amauensis&lt;/i&gt;, and at an average length of 7.7 millimeters, it’s said to be the world’s smallest vertebrate. So watch your step the next time you’re walking around the rain forest.&lt;br /&gt;
&lt;br /&gt;
Finally, in celebration of today’s day and date, please take a look at these &lt;a href="http://www.life.com/hdgallery/50771/chicagos-anti-superstition-society-1940"&gt;wonderful photos from a Friday the 13th party in 1940&lt;/a&gt;, where attendees tempted fate by breaking a mirror, walking under a ladder, and otherwise indulging in every superstition they could think of. After you’re done, cross your fingers and hope for a great weekend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Happy new year! Fridaygram posts are just for fun. Fridaygrams are designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3779984341932728247?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=O751LWrsRIE:PKUNaEKF3IM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=O751LWrsRIE:PKUNaEKF3IM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=O751LWrsRIE:PKUNaEKF3IM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=O751LWrsRIE:PKUNaEKF3IM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=O751LWrsRIE:PKUNaEKF3IM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/O751LWrsRIE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/3779984341932728247/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/fridaygram-science-fair-tiny-frog.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/3779984341932728247?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/3779984341932728247?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/O751LWrsRIE/fridaygram-science-fair-tiny-frog.html" title="Fridaygram: Science Fair, tiny frog, friggatriskaidekaphobia" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s72-c/scottk-1.png" height="72" width="72" /><thr:total>1</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/fridaygram-science-fair-tiny-frog.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQDRHw6fyp7ImA9WhRVEk4.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-796301477346545369</id><published>2012-01-10T14:08:00.000-08:00</published><updated>2012-01-10T14:09:35.217-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T14:09:35.217-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="africa" /><category scheme="http://www.blogger.com/atom/ns#" term="events" /><title>Join us for the first ever G|Tanzania and G|Ethiopia</title><content type="html">&lt;img height="80" src="http://3.bp.blogspot.com/-uSWmJV4LdU8/Twy0ztUCWVI/AAAAAAAAA9U/Ps_uqMb-JpA/s1600/melina.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Melina Mattos, Program Manager, Google Africa&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Cross-posted from the &lt;a href="http://google-africa.blogspot.com/2012/01/join-us-for-first-ever-gtanzania-and.html"&gt;Google Africa Blog&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
2011 was a busy year for the Google Africa team. The g|Day developer and business conference visited Senegal, Ghana, Nigeria, Cameroon, Uganda, Kenya, South Africa, and Angola in 2011, expanding from 5 countries in 2010 and from 2 in 2009. Over the year, business professionals, entrepreneurs, and marketers have explored innovative technologies to get online and to serve their business needs. Developers and webmasters have had an in-depth look at Android, Chrome, App Engine, Maps, Webmaster Tools, and more.&lt;br /&gt;
&lt;br /&gt;
While we are excited about all the activity growing in the local communities, we are always looking for opportunities to engage with new communities of developers, business leaders, and entrepreneurs who are as passionate about technology as we are. Therefore, we are excited to kick off the 2012 G-Day roadshow with G-Tanzania and G-Ethiopia.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://sites.google.com/site/gtanzania2012/"&gt;G-Tanzania&lt;/a&gt; will be held on February 2nd and 3rd at Mlimani City Conference Center in Dar es Salaam, followed by &lt;a href="https://sites.google.com/site/gethiopia2012/"&gt;G-Ethiopia&lt;/a&gt; on February 7th and 8th at the Hilton Hotel and Conference Center in Addis Ababa.&lt;br /&gt;
&lt;br /&gt;
Registration is now open for these free events. Space is limited so be sure to register as soon as possible for &lt;a href="https://sites.google.com/site/gtanzania2012/"&gt;G-Tanzania&lt;/a&gt; and &lt;a href="https://sites.google.com/site/gethiopia2012/"&gt;G-Ethiopia&lt;/a&gt; to improve the chances of your application being accepted. We look forward to seeing you soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href="https://plus.google.com/112605330669898723023/posts"&gt;Melina Mattos&lt;/a&gt; is a Program Manager for the Sub-Saharan Africa Outreach team. When she's not busy working with developer and business communities in Africa, she's either exploring the great outdoors, sitting on a plane, or playing with her camera.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-796301477346545369?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Owws7DxLE6E:w9wnB7eYhGY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Owws7DxLE6E:w9wnB7eYhGY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Owws7DxLE6E:w9wnB7eYhGY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Owws7DxLE6E:w9wnB7eYhGY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Owws7DxLE6E:w9wnB7eYhGY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/Owws7DxLE6E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/796301477346545369/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/join-us-for-first-ever-gtanzania-and.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/796301477346545369?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/796301477346545369?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/Owws7DxLE6E/join-us-for-first-ever-gtanzania-and.html" title="Join us for the first ever G|Tanzania and G|Ethiopia" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-uSWmJV4LdU8/Twy0ztUCWVI/AAAAAAAAA9U/Ps_uqMb-JpA/s72-c/melina.png" height="72" width="72" /><thr:total>2</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/join-us-for-first-ever-gtanzania-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIEQHg_cSp7ImA9WhRVEUk.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-4202459952254161711</id><published>2012-01-09T14:00:00.000-08:00</published><updated>2012-01-09T14:01:41.649-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T14:01:41.649-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web fonts" /><title>Web Fonts, now more compressed</title><content type="html">&lt;img height="80" src="http://1.bp.blogspot.com/-QM2hHu4yEjY/TwtDYTm2znI/AAAAAAAAA9I/tSbsgJ-0Ihc/s1600/raph.jpg" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Raph Levien, Engineer, Google Web Fonts&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
One of Google’s core principles is that "fast is better than slow", and the Web Fonts team takes that to heart. We’re always looking for ways to make web fonts load faster, and that’s doubtless a key factor in &lt;a href="http://googlewebfonts.blogspot.com/2011/02/google-web-fonts-new-stats-new-name.html"&gt;our rapid user adoption&lt;/a&gt;. Today, we are announcing a new way to make web fonts smaller and faster, in collaboration with the Monotype Imaging &lt;a href="http://webfonts.fonts.com/"&gt;Fonts.com Web Fonts&lt;/a&gt; team. Google Web Fonts now implements Monotype Imaging’s MicroType Express compression format, which yields an approximate 15% savings in file size over using gzip alone. This change will automatically speed up Google Web Fonts for Internet Explorer browsers (version 6 and up). We’re also actively working to offer improved compression with other modern browsers, including Google Chrome.&lt;br /&gt;
&lt;br /&gt;
We’ve kept the interface simple, so designers don’t need to update their integrations in any way — we’ll automatically upgrade the CSS snippet and font files so that site designers and visitors get their fonts faster. We’ve done this for &lt;a href="http://www.youtube.com/watch?v=QTX1lU97z08"&gt;previous speed optimizations&lt;/a&gt; as well, such as automatically stripping the hints (metadata used for improving rendering quality on Windows) when serving fonts to Mac, iOS, and Android clients. We expect that most future optimizations will also be automatic and transparent.&lt;br /&gt;
&lt;br /&gt;
Monotype Imaging has agreed to make &lt;a href="http://www.w3.org/Submission/2008/SUBM-MTX-20080305/"&gt;MicroType Express&lt;/a&gt; available to the public at no cost; the license can be found at &lt;a href="http://monotypeimaging.com/aboutus/mtx-license"&gt;monotypeimaging.com/aboutus/mtx-license&lt;/a&gt;. We believe it’s friendly to both open source and proprietary implementations. &lt;br /&gt;
&lt;br /&gt;
Today, we are also releasing an implementation of MicroType Express compression as part of the Embedded OpenType converter in the open-source &lt;a href="http://code.google.com/p/sfntly/"&gt;sfntly&lt;/a&gt; library, adding to the existing WOFF compression. The sfntly library, developed by the Google Internationalization Engineering team, serves as the core conversion engine in Google Web Fonts for subsetting, hint stripping, and related functions of our dynamic serving path. We hope that all web font services, as well as people hosting their own web fonts, will use sfntly to optimize font serving across the web.&lt;br /&gt;
&lt;br /&gt;
We are proud to be working with Monotype Imaging, and we look forward to learning more from designers, users, sites and other partners to advance the state of web fonts together!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Raph Levien is an expert on fonts and graphics technologies. Raph designed &lt;a href="http://www.google.com/webfonts/specimen/Inconsolata"&gt;Inconsolata&lt;/a&gt;, one of the fonts available on the Web Font API. Raph enjoys photography and spending time with his family.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4202459952254161711?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=FywSV5853Bo:0oPH7a28rtw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=FywSV5853Bo:0oPH7a28rtw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=FywSV5853Bo:0oPH7a28rtw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=FywSV5853Bo:0oPH7a28rtw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=FywSV5853Bo:0oPH7a28rtw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/FywSV5853Bo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/4202459952254161711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2012/01/web-fonts-now-more-compressed.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4202459952254161711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4202459952254161711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/FywSV5853Bo/web-fonts-now-more-compressed.html" title="Web Fonts, now more compressed" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-QM2hHu4yEjY/TwtDYTm2znI/AAAAAAAAA9I/tSbsgJ-0Ihc/s72-c/raph.jpg" height="72" width="72" /><thr:total>5</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2012/01/web-fonts-now-more-compressed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IBQXk9fyp7ImA9WhRXFkg.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-6306469347859597102</id><published>2011-12-23T07:52:00.000-08:00</published><updated>2011-12-23T07:52:30.767-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-23T07:52:30.767-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="commerce" /><category scheme="http://www.blogger.com/atom/ns#" term="faster web" /><category scheme="http://www.blogger.com/atom/ns#" term="html5" /><category scheme="http://www.blogger.com/atom/ns#" term="chrome" /><category scheme="http://www.blogger.com/atom/ns#" term="in-app payments" /><category scheme="http://www.blogger.com/atom/ns#" term="Who's at Google I/O" /><category scheme="http://www.blogger.com/atom/ns#" term="events" /><category scheme="http://www.blogger.com/atom/ns#" term="google apps" /><category scheme="http://www.blogger.com/atom/ns#" term="apis" /><category scheme="http://www.blogger.com/atom/ns#" term="google+" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Fridaygram" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Fridaygram: goodbye to 2011</title><content type="html">&lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;&lt;img height="80" src="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s1600/scottk-1.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;By Scott Knaster, &lt;a href="http://googlecode.blogspot.com/"&gt;Google Code Blog&lt;/a&gt; Editor&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
This is the last Fridaygram of 2011, and like most everybody else, we’re in a reflective mood. It’s also the 208th post on Google Code Blog this year, which means we’ve averaged more than one post every two days, so that’s plenty of stuff for you to read. What did we write about?&lt;br /&gt;
&lt;br /&gt;
At Google, we love to launch. Many of our posts were about &lt;a href="http://googlecode.blogspot.com/search/label/apis"&gt;new APIs and client libraries&lt;/a&gt;. We also posted a bunch of times about &lt;a href="http://googlecode.blogspot.com/search/label/html5"&gt;HTML5 and Chrome&lt;/a&gt; and about &lt;a href="http://googlecode.blogspot.com/search/label/faster%20web"&gt;making the web faster&lt;/a&gt;. And we posted about &lt;a href="http://googlecode.blogspot.com/search/label/android"&gt;Android&lt;/a&gt;, &lt;a href="http://googlecode.blogspot.com/search/label/google+"&gt;Google+&lt;/a&gt;, and &lt;a href="http://googlecode.blogspot.com/search/label/google%20apps"&gt;Google Apps&lt;/a&gt; developer news.&lt;br /&gt;
&lt;br /&gt;
Many of our 2011 posts were about the steady progress of App Engine, Cloud Storage, and other &lt;a href="http://googlecode.blogspot.com/search/label/cloud"&gt;cloud topics&lt;/a&gt; for developers. We also published several times about &lt;a href="http://googlecode.blogspot.com/search/label/commerce"&gt;commerce and in-app payments&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
2011 was a stellar year for Google I/O and other developer events around the world. Some of our most popular posts provided &lt;a href="http://googlecode.blogspot.com/search/label/events"&gt;announcements, details, and recaps&lt;/a&gt; of these events. And we welcomed a couple dozen &lt;a href="http://googlecode.blogspot.com/search/label/Who%27s%20at%20Google%20I%2fO"&gt;guest posts during Google I/O&lt;/a&gt; from developers with cool stories to tell.&lt;br /&gt;
&lt;br /&gt;
The two most popular Code Blog posts of the year were both launches: the &lt;a href="http://googlecode.blogspot.com/2011/10/dart-language-for-structured-web.html"&gt;Dart preview&lt;/a&gt; in October, and the &lt;a href="http://googlecode.blogspot.com/2011/06/swiffy-convert-swf-files-to-html5.html"&gt;Swiffy launch&lt;/a&gt; in June. &lt;br /&gt;
&lt;br /&gt;
Last, and surely least, I posted 26 &lt;a href="http://googlecode.blogspot.com/search/label/Fridaygram"&gt;Fridaygrams&lt;/a&gt; in an attempt to amuse and enlighten you. Thank you for reading those, and thanks for dropping by and reading &lt;a href="https://www.google.com/search?q=site%3Agooglecode.blogspot.com&amp;hl=en&amp;biw=1077&amp;bih=882&amp;sa=X&amp;ei=2sHzTpfRC8aXiQKWzISQDg&amp;ved=0CAkQpwUoBg&amp;source=lnt&amp;tbs=cdr%3A1%2Ccd_min%3A1%2F1%2F2011%2Ccd_max%3A12%2F31%2F2011&amp;tbm=&amp;qscrl=1#q=site:googlecode.blogspot.com&amp;hl=en&amp;qscrl=1&amp;tbs=cdr:1,cd_min:1/1/2011,cd_max:12/31/2011,sbd:1&amp;prmd=imvns&amp;ei=OMLzTtnmHInjiAKrz4zNDg&amp;start=0&amp;sa=N&amp;fp=1&amp;biw=1077&amp;bih=882&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;cad=b"&gt;all the posts&lt;/a&gt; we’ve thrown your way this year. See you in 2012!&lt;br /&gt;
&lt;br /&gt;
And finally, please enjoy &lt;a href="https://www.google.com/search?q=let+it+snow"&gt;one more Easter egg&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-6306469347859597102?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=yEAeYYyQOnQ:faYKyFCdskc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=yEAeYYyQOnQ:faYKyFCdskc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=yEAeYYyQOnQ:faYKyFCdskc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=yEAeYYyQOnQ:faYKyFCdskc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=yEAeYYyQOnQ:faYKyFCdskc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/yEAeYYyQOnQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/6306469347859597102/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/fridaygram-goodbye-to-2011.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/6306469347859597102?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/6306469347859597102?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/yEAeYYyQOnQ/fridaygram-goodbye-to-2011.html" title="Fridaygram: goodbye to 2011" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s72-c/scottk-1.png" height="72" width="72" /><thr:total>3</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/fridaygram-goodbye-to-2011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQFRXo8cCp7ImA9WhRVGUk.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-6967487698280954069</id><published>2011-12-22T11:19:00.000-08:00</published><updated>2012-01-18T19:21:54.478-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T19:21:54.478-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="events" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Getting to know the Android Developer Challenge finalists</title><content type="html">&lt;img alt="Author Photo" height="80" src="http://4.bp.blogspot.com/-joD3DlKFS28/TvOBnCbmg5I/AAAAAAAAA8w/V2RN4r6Fqv0/s1600/Emeka_Afigbo.JPG" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;i&gt;By Chukwuemeka Afigbo, Program Manager, Sub-Saharan Africa&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Cross-posted from the &lt;a href="http://google-africa.blogspot.com/2011/12/getting-to-know-android-developer.html"&gt;Google Africa Blog&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Last month, the five finalists of the&amp;nbsp;&lt;/span&gt;&lt;a href="http://google-africa.blogspot.com/2011/09/its-time-android-developer-challenge.html" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Android Developer Challenge&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;came together to share their experiences with the world via Google+ Hangouts.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Selected from a group of more than 200 submissions and 30 semi-finalists, the five finalists were Chike Maduegbuna, Bobola Oniwura and Tope Omotunde of&amp;nbsp;&lt;/span&gt;&lt;a href="https://market.android.com/details?id=com.fcolimited.Afrinolly" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;AfriNolly&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;(Nigeria); David Lemayian of&lt;/span&gt;&lt;a href="https://market.android.com/details?id=com.capefield.olalashe" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt; Olalashe&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;(Kenya); Gerald Kibugi of&amp;nbsp;&lt;/span&gt;&lt;a href="https://market.android.com/details?id=com.elan.shoppersdelight" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Shopper’s Delight&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;(Kenya); Herko Lategan of&amp;nbsp;&lt;/span&gt;&lt;a href="https://market.android.com/details?id=com.starburst.rainbowracer" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Rainbow Racer&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt; (South Africa); and Richard Marsh of&amp;nbsp;&lt;/span&gt;&lt;a href="https://market.android.com/details?id=com.rmarsh.weddingplandroid" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Wedding Plandroid&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;(South Africa).&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;The&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.cp-africa.com/2011/11/28/video-gbenga-sesan%E2%80%99s-hangout-with-finalists-of-the-android-developer-challenge/" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;interview&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;was hosted by CP Africa, a popular African blog and&amp;nbsp;&lt;/span&gt;&lt;a href="https://plus.google.com/106650860910421898849" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Gbenga Sesan&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;, Nigerian tech evangelist, who conducted the interview while sitting in the departure lounge of the Murtala Mohammed International Airport in Lagos as he waited to board his flight to Addis Ababa.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/90ZGIv5k_Vs?wmode=opaque" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;" width="520"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Thanks to the power of the internet and Google+, the interview was held simultaneously in Nigeria, Kenya and South Africa, in collaboration with three developer hubs:&amp;nbsp;&lt;/span&gt;&lt;a href="https://plus.google.com/103626426190325863187/posts" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Umbono&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;(Cape Town, South Africa),&amp;nbsp;&lt;/span&gt;&lt;a href="https://plus.google.com/114986309508249018648/" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Co Creation Hub&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;(Lagos, Nigeria) and&amp;nbsp;&lt;/span&gt;&lt;a href="https://plus.google.com/104160362622983481314/" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;iHub&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;(Nairobi, Kenya). The finalists answered live questions and questions from people around the world including Ghana, Italy, Malaysia, Mali, Nigeria and Uganda using&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.google.com/moderator/#16/e=14881d" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;Google Moderator&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;The top-voted question was on how to prioritize features when building an application, while another participant wanted to know what kind of changes the finalists hoped to create in Africa with their applications.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;To learn more about the finalists for the Android Developer Challenge and their applications, please visit the&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.google.com/africa/gafrica/success.html" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;new case studies section&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&amp;nbsp;of the Google Africa Developers website. If you create solutions using Google services for developers (Google Apps, Chrome extensions, Android, App Engine, etc.) and want to share your story with the world,&amp;nbsp;&lt;/span&gt;&lt;a href="https://services.google.com/fb/forms/gafricashare" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;let us know&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: 12px; line-height: 15px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;em&gt;&lt;a href="https://plus.google.com/103703210853891175248/posts"&gt;Chukwuemeka Afigbo&lt;/a&gt; is a Program Manager in the Sub-Saharan Africa Outreach Team. He is an avid football (soccer) fan.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-6967487698280954069?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=FkzEbb7dQDQ:Fl-w4Gcc1Gw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=FkzEbb7dQDQ:Fl-w4Gcc1Gw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=FkzEbb7dQDQ:Fl-w4Gcc1Gw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=FkzEbb7dQDQ:Fl-w4Gcc1Gw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=FkzEbb7dQDQ:Fl-w4Gcc1Gw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/FkzEbb7dQDQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/6967487698280954069/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/getting-to-know-android-developer.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/6967487698280954069?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/6967487698280954069?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/FkzEbb7dQDQ/getting-to-know-android-developer.html" title="Getting to know the Android Developer Challenge finalists" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-joD3DlKFS28/TvOBnCbmg5I/AAAAAAAAA8w/V2RN4r6Fqv0/s72-c/Emeka_Afigbo.JPG" height="72" width="72" /><thr:total>1</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/getting-to-know-android-developer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4NQn0yeyp7ImA9WhRXFUQ.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-2700577454290620720</id><published>2011-12-22T07:19:00.000-08:00</published><updated>2011-12-22T15:36:33.393-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-22T15:36:33.393-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="prediction api" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="google apps" /><category scheme="http://www.blogger.com/atom/ns#" term="apps script" /><category scheme="http://www.blogger.com/atom/ns#" term="apis" /><title>Google Prediction API: faster, easier to use, and more accurate</title><content type="html">&lt;img alt="Author Photo" height="80" src="http://4.bp.blogspot.com/-HZ1PMz5bU1Q/TvNIxdSFV-I/AAAAAAAAA8k/CU4y_A4bdh8/s1600/marccohen.png" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Marc Cohen, Developer Relations&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
This holiday season, the Google Prediction API Team is bringing you four presents and, thanks to the joys of cloud computing, no reindeer are required for delivery. Here’s what you’ve already received:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Faster on-ramp:&lt;/b&gt; We’ve made it easier to get started by enabling you to create an empty model (by sending a &lt;code&gt;&lt;a href="http://code.google.com/apis/predict/docs/reference/v1.4/reference.html#method_prediction_trainedmodels_insert"&gt;trainedmodels.insert&lt;/a&gt;&lt;/code&gt; request with no &lt;code&gt;storageDataLocation&lt;/code&gt; specified) and add training data using the &lt;a href="http://code.google.com/apis/predict/docs/reference/v1.4/reference.html#method_prediction_trainedmodels_update"&gt;&lt;code&gt;trainedmodels.update&lt;/code&gt;&lt;/a&gt; method. This change allows you to submit your model contents without needing to stage the data in Google Cloud Storage.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Improved updates:&lt;/b&gt; The algorithms used to implement model updates (adding additional data to existing models) have been modified to work faster than ever.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;More classification algorithms:&lt;/b&gt; We’ve increased the number of classification algorithms used to build predictive models, resulting in across-the-board improvements in accuracy.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Integration with Google Apps Script:&lt;/b&gt; Prediction services are now available as part of &lt;a href="http://code.google.com/googleapps/appsscript/service_prediction.html"&gt;Google Apps Script&lt;/a&gt;, which means you can integrate prediction services with Google Docs, Google Maps, Gmail, and other great Google products.&lt;/li&gt;
&lt;/ul&gt;All of the above enhancements are supported by the current Prediction API version 1.4 so you can enjoy these features using the existing client libraries.&lt;br /&gt;
&lt;br /&gt;
Happy Holidays from the Google Prediction API Team. We’re looking forward to bringing you more exciting features in 2012! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href="https://plus.google.com/100180575185522802900/posts"&gt;Marc Cohen&lt;/a&gt; is a member of Google’s Developer Relations Team in Seattle. When not teaching Python programming and listening to indie rock music, he enjoys using the Google Prediction API to peer into the future.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-2700577454290620720?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ATf-68Lrnec:kkTH_NnNmlo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=ATf-68Lrnec:kkTH_NnNmlo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ATf-68Lrnec:kkTH_NnNmlo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ATf-68Lrnec:kkTH_NnNmlo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=ATf-68Lrnec:kkTH_NnNmlo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/ATf-68Lrnec" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/2700577454290620720/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/google-prediction-api-faster-easier-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/2700577454290620720?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/2700577454290620720?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/ATf-68Lrnec/google-prediction-api-faster-easier-to.html" title="Google Prediction API: faster, easier to use, and more accurate" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-HZ1PMz5bU1Q/TvNIxdSFV-I/AAAAAAAAA8k/CU4y_A4bdh8/s72-c/marccohen.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/google-prediction-api-faster-easier-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYESHY6fCp7ImA9WhRXFE0.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-1336360865885706980</id><published>2011-12-20T10:00:00.000-08:00</published><updated>2011-12-20T10:01:49.814-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-20T10:01:49.814-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="faster web" /><category scheme="http://www.blogger.com/atom/ns#" term="analytics" /><title>Speed metrics in Google Analytics</title><content type="html">&lt;img height="80" src="http://3.bp.blogspot.com/-U3XViZxW2-I/Tu_DElkXyoI/AAAAAAAAA8M/N8j4ekpx1xg/s1600/satish.jpeg" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Satish Kambala, Staff Software Engineer&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
At Google we believe that speed matters and a faster web is better for everyone. That’s why we started the &lt;a href="http://code.google.com/speed/"&gt;Make The Web Faster&lt;/a&gt; initiative. To improve the speed of a website, we need to measure how fast web pages load. The Site Speed report, which is now &lt;a href="http://analytics.blogspot.com/2011/11/site-speed-now-even-easier-to-access.html"&gt;available&lt;/a&gt; by default to all users of Google Analytics, provides just that: it enables website owners to measure page load time for their web pages.&lt;br /&gt;
&lt;br /&gt;
You can use the Site Speed report to correlate speed with other metrics in Google Analytics, such as page views and conversions. This enables website owners to identify and optimize those pages that drive these metrics. Page load times can be analyzed by browser type or user location to understand if specific optimizations are required. Recently, we &lt;a href="http://analytics.blogspot.com/2011/12/greater-insights-from-site-speed-report.html"&gt;enhanced&lt;/a&gt; the Site Speed report by adding a new section called Technical (see screenshot below) which displays network and server time components of page load time. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-PjcS--YppvM/Tu_DpvmabTI/AAAAAAAAA8Y/20Zw7Rdu32E/s1600/sitespeed.png"&gt;&lt;img src="http://2.bp.blogspot.com/-PjcS--YppvM/Tu_DpvmabTI/AAAAAAAAA8Y/20Zw7Rdu32E/s1600/sitespeed.png" alt="site speed report screen shot" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; text-align: center;" width="500" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
You can learn more about the Site Speed report &lt;a href="http://support.google.com/analytics/bin/answer.py?hl=en&amp;answer=2383341"&gt;here&lt;/a&gt;. This report, along with powerful page speed analysis tools such as &lt;a href="https://developers.google.com/pagespeed/"&gt;Page Speed Online&lt;/a&gt;, will help website owners delight their users by building fast and responsive websites.&lt;br /&gt;
&lt;br /&gt;
Have ideas on how to make your website faster or ways to speed up the entire Web? Send us your &lt;a href="https://groups.google.com/group/make-the-web-faster?pli=1"&gt;thoughts&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href="https://plus.google.com/u/0/107278728723464127358/about"&gt;Satish Kambala&lt;/a&gt; works at Google on stuff that helps in making the web faster. In his free time, apart from watching cricket and movies, Satish likes exploring places with his wife.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-1336360865885706980?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=MI6130lvtWc:bq7pXBLNMq8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=MI6130lvtWc:bq7pXBLNMq8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=MI6130lvtWc:bq7pXBLNMq8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=MI6130lvtWc:bq7pXBLNMq8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=MI6130lvtWc:bq7pXBLNMq8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/MI6130lvtWc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/1336360865885706980/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/speed-metrics-in-google-analytics.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/1336360865885706980?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/1336360865885706980?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/MI6130lvtWc/speed-metrics-in-google-analytics.html" title="Speed metrics in Google Analytics" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-U3XViZxW2-I/Tu_DElkXyoI/AAAAAAAAA8M/N8j4ekpx1xg/s72-c/satish.jpeg" height="72" width="72" /><thr:total>1</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/speed-metrics-in-google-analytics.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08ERn4yeyp7ImA9WhRXEEs.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-1272175631659057703</id><published>2011-12-16T12:03:00.000-08:00</published><updated>2011-12-16T12:03:27.093-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-16T12:03:27.093-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fridaygram" /><title>Fridaygram: universal terms, distant space, watch where you walk</title><content type="html">&lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;&lt;img height="80" src="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s1600/scottk-1.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;By Scott Knaster, &lt;a href="http://googlecode.blogspot.com/"&gt;Google Code Blog&lt;/a&gt; Editor&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Earlier this week, we launched a &lt;a href="http://googlecode.blogspot.com/2011/12/introducing-google-apis-terms-of.html"&gt;single Terms of Service&lt;/a&gt; for most of our APIs. You might know the Terms of Service (ToS) as those legal documents you click through quickly when you start using a new product, but they’re vitally important, as they specify exactly what you and we can expect from each other when you use our APIs. (Internally, we refer to the new terms as uToS [universal terms of service], pronounced "you toss".)&lt;br /&gt;
&lt;br /&gt;
The project began some time ago as a general developer ToS cleanup. At the time, we looked at the Google Terms of Service shared across many consumer products, and figured developers deserved equal consideration. In reviewing the developer ToS documents, it became clear that there was plenty of language in common among various products. And this week, the new Terms launched, covering most APIs, with more to come in time. Of the APIs that are included, a few have additional terms, but these tend to be brief. And things overall are much simpler and cleaner than before.  &lt;br /&gt;
&lt;br /&gt;
This project is an example of something that affects every Google developer and Google too, and yet it’s not really a technical topic. This ToS simplification was no minor project: it was over two years in the making. Getting to simplify an important set of documents by removing over 125,000 words of text is a wonderful thing. &lt;br /&gt;
&lt;br /&gt;
Speaking of universal things, the incredible &lt;a href="http://en.wikipedia.org/wiki/Voyager_1"&gt;Voyager 1 spacecraft&lt;/a&gt; is now about 18 billion kilometers from the sun and is &lt;a href="http://www.scientificcomputing.com/news-DS-Voyager-Hits-New-Region-at-Solar-System-Edge-121311.aspx?et_cid=2375603&amp;et_rid=41414546&amp;linkid=http://www.scientificcomputing.com/news-DS-Voyager-Hits-New-Region-at-Solar-System-Edge-121311.aspx"&gt;nearing the end of our solar system&lt;/a&gt;. Voyager now inhabits a part of space between planets and other stars that has an intense magnetic field, among other unusual properties, and we’ll learn more about the place from Voyager itself. One scientist says that Voyager is now in a "stagnation region", and I think we all know what that feels like.&lt;br /&gt;
&lt;br /&gt;
And finally, if you’re planning your holiday vacation over the weekend, you might want to see what happens if you ask Google Maps for &lt;a href="http://maps.google.com/maps?saddr=rivendell&amp;daddr=mordor&amp;hl=en&amp;ll=56.690933,-4.463196&amp;spn=2.141949,5.984802&amp;sll=56.68952,-4.41573&amp;sspn=2.142035,5.984802&amp;geocode=FT2kWAMdiyXJ_yHURULiW_H8Jg;FVl2aQMdmrKs_ykPwLhiqJaOSDEWTVf874Hujw&amp;vpsrc=0&amp;dirflg=w&amp;mra=ltm&amp;t=m&amp;z=9"&gt;walking directions from Rivendell to Mordor&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Fridaygram posts are just for fun, and sometimes even legal stuff can be fun. Fridaygrams are designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds.&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-1272175631659057703?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ahdj_OodGss:JuRSbFUUEvQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=ahdj_OodGss:JuRSbFUUEvQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ahdj_OodGss:JuRSbFUUEvQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=ahdj_OodGss:JuRSbFUUEvQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=ahdj_OodGss:JuRSbFUUEvQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/ahdj_OodGss" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/1272175631659057703/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/fridaygram-universal-terms-distant.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/1272175631659057703?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/1272175631659057703?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/ahdj_OodGss/fridaygram-universal-terms-distant.html" title="Fridaygram: universal terms, distant space, watch where you walk" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-zuKki-wX6-w/Tuuip-vap8I/AAAAAAAAA78/BqFcmzSEsDA/s72-c/scottk-1.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/fridaygram-universal-terms-distant.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4NQno-eCp7ImA9WhRXFUQ.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-7268925548887246246</id><published>2011-12-16T07:52:00.000-08:00</published><updated>2011-12-22T15:36:33.450-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-22T15:36:33.450-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adsense" /><category scheme="http://www.blogger.com/atom/ns#" term="google apps" /><category scheme="http://www.blogger.com/atom/ns#" term="apps script" /><title>Introducing AdSense Management Services in Google Apps Script</title><content type="html">&lt;img alt="Author Photo" height="80" src="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAARQ/WHiehYqaZWM/photo.jpg?sz=80" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Silvano Luciani, Developer Programs Engineer, AdSense API Team&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Starting today, the AdSense Management API is available as part of &lt;a href="http://code.google.com/googleapps/appsscript/service_adsense.html"&gt;AdSense Services&lt;/a&gt; in &lt;a href="http://code.google.com/googleapps/appsscript/"&gt;Google Apps Script&lt;/a&gt;. This means that you’ll be able to automate your AdSense reporting across Google products using a JavaScript cloud scripting language to do things like:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Create AdSense &lt;a href="http://code.google.com/googleapps/appsscript/articles/adsense_tutorial.html#section3"&gt;performance reports&lt;/a&gt; for your AdSense accounts in a Google spreadsheet.&lt;/li&gt;
&lt;li&gt;Create a &lt;a href="http://code.google.com/googleapps/appsscript/articles/adsense_tutorial.html#section4"&gt;chart based on your AdSense reporting data&lt;/a&gt; and display it in a Google spreadsheet.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/googleapps/appsscript/articles/getting-started-with-sites.html"&gt;Embed&lt;/a&gt; your scripts in a Google Sites page, for instance to import a chart.&lt;/li&gt;
&lt;li&gt;Use &lt;a href="http://code.google.com/googleapps/appsscript/guide_events.html#TimeTriggers"&gt;triggers&lt;/a&gt; to schedule the execution of your scripts, for instance to periodically update the chart imported in the Google Sites page.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="separator" style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wGLLeVhrGsI/TuuCDSFOldI/AAAAAAAAA7w/8DOeg7roppA/s1600/spread_chart_small.png"&gt;&lt;img alt="spreadsheet with embedded chart" src="http://1.bp.blogspot.com/-wGLLeVhrGsI/TuuCDSFOldI/AAAAAAAAA7w/8DOeg7roppA/s1600/spread_chart_small.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; text-align: center;" width="500" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
You can start using the service by checking out the &lt;a href="http://code.google.com/googleapps/appsscript/service_adsense.html"&gt;reference documentation&lt;/a&gt;, which also contains some sample scripts, and by reading &lt;a href="http://code.google.com/googleapps/appsscript/articles/adsense_tutorial.html"&gt;this tutorial&lt;/a&gt;, which implements the use cases mentioned above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Based in London, &lt;a href="https://plus.google.com/u/0/118276561380249048216/about"&gt;Silvano Luciani&lt;/a&gt; joined Google in 2011 to make the AdSense API developers happier people. Before that, he has worked in Finland, Italy, Spain and the UK, writing web based configuration management tools for ISPs, social networks, web based training materials, e-commerce apps and more. He has recently discovered that he loves charts, and has finally started to play the drums in the London’s office music room. If you can call what he does "playing the drums".&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wGLLeVhrGsI/TuuCDSFOldI/AAAAAAAAA7w/8DOeg7roppA/s1600/spread_chart_small.png" imageanchor="1" style="clear:right; float:right; margin-left:1em; margin-bottom:1em"&gt;&lt;img border="0" height="231" width="400" src="http://1.bp.blogspot.com/-wGLLeVhrGsI/TuuCDSFOldI/AAAAAAAAA7w/8DOeg7roppA/s400/spread_chart_small.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-7268925548887246246?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Lt6acSv7yIE:a3B3oZjv7M4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Lt6acSv7yIE:a3B3oZjv7M4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Lt6acSv7yIE:a3B3oZjv7M4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Lt6acSv7yIE:a3B3oZjv7M4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Lt6acSv7yIE:a3B3oZjv7M4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/Lt6acSv7yIE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/7268925548887246246/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/introducing-adsense-management-services.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/7268925548887246246?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/7268925548887246246?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/Lt6acSv7yIE/introducing-adsense-management-services.html" title="Introducing AdSense Management Services in Google Apps Script" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAARQ/WHiehYqaZWM/s72-c/photo.jpg?sz=80" height="72" width="72" /><thr:total>1</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/introducing-adsense-management-services.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYAQ38yeyp7ImA9WhRQGUQ.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-4326122133720549957</id><published>2011-12-15T16:59:00.000-08:00</published><updated>2011-12-15T16:59:02.193-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-15T16:59:02.193-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="faster web" /><title>Mobile Web performance challenges and strategies</title><content type="html">&lt;img height="80" src="http://4.bp.blogspot.com/-fnbnHPiOMRs/TuqWzA-r7nI/AAAAAAAAA7Y/v5Hketv7dGU/s1600/ramki_80x80%2B%25281%2529.jpg" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Ramki Krishnan, Technical Program Manager&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Consumers are increasingly &lt;a href="http://www.ebayinc.com/view/page.landing/Cyber_Monday_Mobile_Data"&gt;relying on their mobile devices&lt;/a&gt; to access the Web, thrusting mobile web performance into the limelight. Mobile users expect web pages to &lt;a href="http://www.gomez.com/resources/whitepapers/survey-report-what-users-want-from-mobile/"&gt;display on their mobile devices&lt;/a&gt; as fast as or faster than on their desktops. &lt;br /&gt;
&lt;br /&gt;
As part of Google’s effort to &lt;a href="http://code.google.com/speed/"&gt;Make The Web Faster&lt;/a&gt;, we invited Guy Podjarny, CTO of &lt;a href="http://www.blaze.io/"&gt;Blaze.io&lt;/a&gt;, to talk about some of the major performance concerns in the mobile web and ways to alleviate these issues. Guy’s talk focused on &lt;a href="http://www.youtube.com/watch?v=UMrHQQOI11U"&gt;Front-End Optimization&lt;/a&gt; and highlighted 3 areas: mobile network, software, and hardware. Each of these impacts performance in myriad ways. The full video is available &lt;a href="http://www.youtube.com/watch?v=L2YqfVNHQO4&amp;list=PLE0E03DF19D90B5F4&amp;index=1&amp;feature=plpp_video"&gt;here&lt;/a&gt;, and runs just under an hour. If you don’t have time to watch this enlightening talk, this post discusses some key takeaways.&lt;br /&gt;
&lt;br /&gt;
Mobile networks have high latency, and &lt;a href="http://code.google.com/speed/page-speed/docs/rtt.html"&gt;reducing the number of requests&lt;/a&gt; and the &lt;a href="http://code.google.com/speed/page-speed/docs/payload.html"&gt;size of downloads&lt;/a&gt; are well-known optimization strategies. Guy also mentions using on-demand image displays such as loading above-the-fold images by default and other images only as they scroll into view. To handle network reliability, he recommends non-blocking requests eliminating single points of failure, with a selective aggregation of files needed for content display. Periodic pinging of the cell tower by the client can also reduce &lt;a href="http://www.stevesouders.com/blog/2011/09/21/making-a-mobile-connection/"&gt;latency associated with dropped connections&lt;/a&gt;, but judicious timeouts and battery drain on the mobile device need to be factored in.&lt;br /&gt;
&lt;br /&gt;
Modern mobile browsers are built mobile-friendly, and they can be helped further by exploiting &lt;a href="http://www.stevesouders.com/blog/2011/03/28/storager-case-study-bing-google/"&gt;localStorage&lt;/a&gt; to store CSS and JavaScript files. &lt;a href="http://www.blaze.io/technical/http-pipelining-request-distribution-algorithms/"&gt;Pipelining&lt;/a&gt; multiple requests on a connection is an option, but developers need to work around head-of-line blocking by using techniques such as splitting dynamic and static resource requests on different domains. &lt;br /&gt;
&lt;br /&gt;
Mobile hardware CPUs are weaker than their desktop counterparts. Guy points out the need to minimize JavaScript when designing mobile-friendly web pages and avoid reflows or &lt;a href="http://www.stevesouders.com/blog/2010/12/15/controljs-part-2/"&gt;defer JavaScript&lt;/a&gt; until after page loads. Clever image rendering techniques such as automatically resizing images to devices and loading full resolution only on zoom can also help.&lt;br /&gt;
&lt;br /&gt;
Guy’s presentation makes clear that mobile web optimizations need to mitigate latencies introduced by mobile networks, software, and hardware. Rapidly changing OSes and browsers add to the challenges facing publishers. New and evolved tools and technologies will help ensure an optimal web browsing experience for mobile users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Ramki Krishnan works at Google on the "Make The Web Faster" team. When not at work, he dreams of being a tennis pro, a humorist, and a rock drummer all rolled into one.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4326122133720549957?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Mzz-UbItH8k:Gbt6W7VZtRQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Mzz-UbItH8k:Gbt6W7VZtRQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Mzz-UbItH8k:Gbt6W7VZtRQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=Mzz-UbItH8k:Gbt6W7VZtRQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=Mzz-UbItH8k:Gbt6W7VZtRQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/Mzz-UbItH8k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/4326122133720549957/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/mobile-web-performance-challenges-and.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4326122133720549957?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4326122133720549957?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/Mzz-UbItH8k/mobile-web-performance-challenges-and.html" title="Mobile Web performance challenges and strategies" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-fnbnHPiOMRs/TuqWzA-r7nI/AAAAAAAAA7Y/v5Hketv7dGU/s72-c/ramki_80x80%2B%25281%2529.jpg" height="72" width="72" /><thr:total>1</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/mobile-web-performance-challenges-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4HR3gzfip7ImA9WhRQGUU.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-6692170471191818843</id><published>2011-12-15T14:42:00.000-08:00</published><updated>2011-12-15T14:42:16.686-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-15T14:42:16.686-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="commerce" /><category scheme="http://www.blogger.com/atom/ns#" term="in-app payments" /><title>In-App Payments expands its borders</title><content type="html">&lt;br /&gt;
&lt;em&gt;By Pali Bhat, Group Product Manager&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Cross-posted on the &lt;a href="http://googlecommerce.blogspot.com/"&gt;Google Commerce Blog&lt;/a&gt; and &lt;a href="http://blog.chromium.org/"&gt;Chromium Blog&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Since &lt;a href="http://www.google.com/payments/payment-options/digital-goods.html"&gt;Google In-App Payments&lt;/a&gt; launched in July for developers in the United States, we’ve received great &lt;a href="http://googlecode.blogspot.com/2011/09/monetizing-games-with-in-app-payments.html"&gt;feedback&lt;/a&gt; on how easy it is to integrate as well as how simple it is for consumers to use. While the API has been off to a strong start, there’s been a growing demand for availability outside of the United States.&lt;br /&gt;
&lt;br /&gt;
So starting today, we are opening developer enrollment for Google In-App Payments to 17 additional countries. In addition to the United States, developers from Australia, Austria, Belgium, Canada, Denmark, Finland, France, Germany, Ireland, Italy, Japan, the Netherlands, Norway, Portugal, Spain, Sweden, and the United Kingdom can now use the Google In-App Payments API to incorporate an in-context payment experience into applications on the &lt;a href="http://blog.chromium.org/2011/09/international-success-with-chrome-web.html"&gt;Chrome Web Store&lt;/a&gt; and their own sites. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bJuHO9edrN8/Tuo-6cq_7zI/AAAAAAAAAe4/PkyRH0-LWZw/s1600/flags2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-bJuHO9edrN8/Tuo-6cq_7zI/AAAAAAAAAe4/PkyRH0-LWZw/s1600/flags2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Developers using In-App Payments are &lt;a href="http://www.google.com/intl/en/landing/chrome/webstore/create/success-story-graphicly.html"&gt;seeing strong conversions and revenue streams&lt;/a&gt; thanks to these key features:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Ease of use&lt;/b&gt;: the short payment process for consumers takes place right in the developer’s app or site.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Large existing user base&lt;/b&gt;: there are millions of &lt;a href="http://www.google.com/wallet/what-is-google-wallet.html"&gt;Google Wallet&lt;/a&gt; online users in over 140 countries.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Low fees&lt;/b&gt;: developers pay just 5% on all transactions.&lt;/li&gt;
&lt;/ul&gt;You can get started accepting payments in your web apps by &lt;a href="http://code.google.com/apis/inapppayments/docs/tutorial.html"&gt;following the tutorial&lt;/a&gt; and get answers to any questions in the &lt;a href="http://groups.google.com/group/in-app-payments/topics"&gt;forum&lt;/a&gt;. We look forward to expanding to even more countries in the future, as well as continuously working to improve the Google In-App Payments experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-6692170471191818843?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=AmkuG5eozYo:9OSDezalYWY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=AmkuG5eozYo:9OSDezalYWY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=AmkuG5eozYo:9OSDezalYWY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=AmkuG5eozYo:9OSDezalYWY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=AmkuG5eozYo:9OSDezalYWY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/AmkuG5eozYo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/6692170471191818843/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/in-app-payments-expands-its-borders.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/6692170471191818843?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/6692170471191818843?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/AmkuG5eozYo/in-app-payments-expands-its-borders.html" title="In-App Payments expands its borders" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-bJuHO9edrN8/Tuo-6cq_7zI/AAAAAAAAAe4/PkyRH0-LWZw/s72-c/flags2.png" height="72" width="72" /><thr:total>3</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/in-app-payments-expands-its-borders.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUDQn44fyp7ImA9WhRQGEQ.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-4332895334546629648</id><published>2011-12-14T13:14:00.000-08:00</published><updated>2011-12-14T13:14:33.037-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T13:14:33.037-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="apis" /><title>Automate with the Google Affiliate Network API</title><content type="html">&lt;img height="80" src="http://2.bp.blogspot.com/-FuLabDHOy-s/TukRbqsoj1I/AAAAAAAAA7I/ZFGZePJOQLQ/s1600/alipasha.jpeg" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;" /&gt;&lt;br /&gt;
&lt;em&gt;By Ali Pasha, Google Affiliate Network Product Manager&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Google Affiliate Network is a free program that makes it easy for website publishers to connect with quality advertisers and get rewarded for driving conversions.&lt;br /&gt;
&lt;br /&gt;
Today we’re making it even easier for affiliates and advertisers to work with Google Affiliate Network by launching the Google Affiliate Network API, which enables publishers and advertisers to automate various tasks related to Google Affiliate Network.&lt;br /&gt;
&lt;br /&gt;
For more information, please see the &lt;a href="http://googleaffiliatenetwork-blog.blogspot.com/2011/12/introducing-google-affiliate-network.html"&gt;Google Affiliate Network blog&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Ali Pasha has been a Google Product Manager for several years and now works on Google Affiliate Network. Ali has also made key contributions to Android App Inventor, Google Code, Google Code Search, and Google AJAX APIs.&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Posted by &lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;Scott Knaster&lt;/a&gt;, Editor&lt;/em&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4332895334546629648?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=rXH2qnA4q2s:LcVhQr5j8x0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=rXH2qnA4q2s:LcVhQr5j8x0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=rXH2qnA4q2s:LcVhQr5j8x0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=rXH2qnA4q2s:LcVhQr5j8x0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=rXH2qnA4q2s:LcVhQr5j8x0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/rXH2qnA4q2s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/4332895334546629648/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/automate-with-google-affiliate-network.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4332895334546629648?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/4332895334546629648?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/rXH2qnA4q2s/automate-with-google-affiliate-network.html" title="Automate with the Google Affiliate Network API" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-FuLabDHOy-s/TukRbqsoj1I/AAAAAAAAA7I/ZFGZePJOQLQ/s72-c/alipasha.jpeg" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Mountain View, CA, USA</georss:featurename><georss:point>37.3860517 -122.0838511</georss:point><georss:box>37.335585200000004 -122.1628151 37.4365182 -122.0048871</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/automate-with-google-affiliate-network.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8BQHcyfSp7ImA9WhRQF04.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-1083286719013321721</id><published>2011-12-12T16:07:00.000-08:00</published><updated>2011-12-12T16:07:31.995-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-12T16:07:31.995-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="labs" /><title>Introducing the Google APIs Terms of Service and an update to Code Labs</title><content type="html">&lt;img height="80" src="http://2.bp.blogspot.com/-ZUaMHAL_ajw/Td3NPwijOzI/AAAAAAAAAgE/LcCC0304nxA/s1600/Adam%2BFeldman.png" alt="Author Picture" style="float: right; margin-left: 1em; text-align: right;" /&gt;
&lt;em&gt;By Adam Feldman, APIs Product Manager&lt;/em&gt;

&lt;p&gt;&lt;strong&gt;The Google APIs Terms of Service&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Beginning today, most of our APIs use a single Terms of Service. We have rewritten these terms from the ground up with the goals of making them concise and easier to understand.
Our intent is to simplify, not to make dramatic functional changes.&lt;/p&gt;

&lt;p&gt;For all the APIs that share this single Terms of Service, you won’t need to study a whole new document, although some have brief specific Additional Terms.  In this rewrite, we have removed over 125,000 words from the combined previous terms, resulting in less to read and faster access to your favorite APIs.  Over time, other APIs will be migrated to the new terms.  Please review each API’s &lt;a href="http://code.google.com/"&gt;documentation&lt;/a&gt; to see its terms. &lt;/p&gt;

&lt;p&gt;The new Terms of Service is another step in making Google APIs more technically consistent by sharing common infrastructure such as the &lt;a href="http://code.google.com/apis/discovery/"&gt;Discovery service&lt;/a&gt;, the &lt;a href="http://code.google.com/apis/explorer/"&gt;APIs Explorer&lt;/a&gt;, and the &lt;a href="http://code.google.com/apis/console"&gt;APIs Console&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Removing the Code Labs Label&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In order to reduce confusion we're removing the Code Labs label from APIs on code.google.com. The Google Labs program has &lt;a href="http://googleblog.blogspot.com/2011/07/more-wood-behind-fewer-arrows.html"&gt;wound down&lt;/a&gt;. APIs formerly in Code Labs will now use the standard header in their documentation. The APIs themselves are unchanged.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Adam Feldman is a Product Manager, focusing on all of Google's APIs and making sure Google provides the best possible platform to developers.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Posted by &lt;a href="https://plus.google.com/107757668297288466839/about"&gt;Ashleigh Rentz&lt;/a&gt;, Editor Emerita&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-1083286719013321721?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=B-2OKf8dib0:tdYUmUHOGIE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=B-2OKf8dib0:tdYUmUHOGIE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=B-2OKf8dib0:tdYUmUHOGIE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=B-2OKf8dib0:tdYUmUHOGIE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=B-2OKf8dib0:tdYUmUHOGIE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/B-2OKf8dib0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/1083286719013321721/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/introducing-google-apis-terms-of.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/1083286719013321721?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/1083286719013321721?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/B-2OKf8dib0/introducing-google-apis-terms-of.html" title="Introducing the Google APIs Terms of Service and an update to Code Labs" /><author><name>Ashleigh Rentz</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-ZUaMHAL_ajw/Td3NPwijOzI/AAAAAAAAAgE/LcCC0304nxA/s72-c/Adam%2BFeldman.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://googlecode.blogspot.com/2011/12/introducing-google-apis-terms-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4HRn0zfCp7ImA9WhRQFEs.&quot;"><id>tag:blogger.com,1999:blog-11300808.post-577350404192442115</id><published>2011-12-09T12:50:00.000-08:00</published><updated>2011-12-09T12:52:17.384-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-09T12:52:17.384-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fridaygram" /><title>Fridaygram: graphing functions, telescope milestone, baby scientists</title><content type="html">&lt;a href="https://profiles.google.com/u/0/105627346610764729807/about"&gt;&lt;img height="80" src="http://2.bp.blogspot.com/-nL1dqU7u_O0/Ttj2w4iAcxI/AAAAAAAAA5o/Yd5gvIWCGxE/s1600/scottk.png" alt="Author Photo" style="float: right; margin-left: 1em; text-align: right;"  /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;By Scott Knaster, &lt;a href="http://googlecode.blogspot.com/"&gt;Google Code Blog&lt;/a&gt; Editor&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
You might already know that Google Search makes a &lt;a href="https://www.google.com/intl/en/help/features.html#calculator"&gt;handy calculator&lt;/a&gt;. Just type any calculation into a Google search box, and the answer is computed for you. Earlier this week, we added an even cooler, more powerful feature. Now, when you type a function, you’ll see it graphed.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://www.google.com/webhp?sourceid=chrome-instant&amp;ie=UTF-8&amp;ion=1&amp;nord=1#hl=en&amp;sugexp=ppwe&amp;cp=27&amp;gs_id=1a&amp;xhr=t&amp;q=x/2,+(x/2)%5E2,+ln(x),+cos(pi*x/5)&amp;qe=eC8yLCAoeC8yKV4yLCBsbih4KSwgY29zKHBpKngvNSk&amp;qesig=J04qKcT4AbZZYnPFbvmLYA&amp;pkc=AFgZ2tmnNbMDldexX74YMHEFkKcOIXg-hAq6_6homtp6t7RFitSwlTNxOC-w_B84fn-WO13mNTS1N9-8dD-KWiNSMHY8kX3VLQ&amp;pq=x%2F2%2C+(x%2F2)%5E2%2C+ln(x)%2C+cos(%CF%80*x%2F5)&amp;pf=p&amp;safe=off&amp;nord=1&amp;sclient=psy-ab&amp;pbx=1&amp;oq=x/2,+(x/2)%5E2,+ln(x),+cos(pi*x/5)&amp;aq=f&amp;aqi=&amp;aql=&amp;gs_sm=&amp;gs_upl=&amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;fp=221ecc0b371fbdef&amp;ion=1&amp;biw=1062&amp;bih=882"&gt;&lt;img src="http://3.bp.blogspot.com/-TWMAV8M86BA/TuJY_XhdtdI/AAAAAAAAA68/L2VwtS5j6TQ/s1600/graphed.png" alt="" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; text-align: center;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
As you can see in this image, you can graph more than one function at a time by separating them with commas. Once the graph is drawn, you can zoom and pan to see the sections and details you want. And the Google colors are a nice touch.&lt;br /&gt;
&lt;br /&gt;
In other calculation-related news this week, the Hubble Space Telescope counted to 10,000. That’s the number of published scientific papers based on &lt;a href="http://www.redorbit.com/news/space/1112435460/hubbles-10000th-scientific-paper-published"&gt;data gathered from Hubble&lt;/a&gt;. Although the telescope was launched back in 1990, it’s said to be in great shape and is taking &lt;a href="http://images.google.com/search?tbm=isch&amp;hl=en&amp;source=hp&amp;biw=1456&amp;bih=889&amp;q=hubble+images&amp;gbv=2&amp;oq=hubble&amp;aq=1&amp;aqi=g10&amp;aql=&amp;gs_sm=e&amp;gs_upl=988l2551l0l4640l8l8l1l0l0l0l232l1203l0.5.2l7l0#q=hubble+images&amp;hl=en&amp;safe=off&amp;gbv=2&amp;tbm=isch&amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;fp=1&amp;biw=1062&amp;bih=882"&gt;great pictures&lt;/a&gt;, thanks largely to frequent service missions by astronauts. That should inspire you to change the oil in your car.&lt;br /&gt;
&lt;br /&gt;
Finally, here’s one especially for you babies out there, and for those who know or are related to babies. The &lt;a href="http://nerdybaby.net/ohCOOL/coloring.htm"&gt;Nerdy Baby coloring book for very young scientists&lt;/a&gt; looks like a great way to nudge very small kids toward a proper nerdy upbringing. And when you’re not coloring, you can spend some time this weekend coming up with cool functions to graph on Google Search. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Fridaygram posts are just for fun. They're designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds (sometimes including nerdy babies).&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-577350404192442115?l=googlecode.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=UKuM1Xl-0PI:xpj6j4DzFfo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=UKuM1Xl-0PI:xpj6j4DzFfo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=UKuM1Xl-0PI:xpj6j4DzFfo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Dcni?a=UKuM1Xl-0PI:xpj6j4DzFfo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Dcni?i=UKuM1Xl-0PI:xpj6j4DzFfo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Dcni/~4/UKuM1Xl-0PI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecode.blogspot.com/feeds/577350404192442115/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecode.blogspot.com/2011/12/fridaygram-graphing-functions-telescope.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/577350404192442115?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11300808/posts/default/577350404192442115?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Dcni/~3/UKuM1Xl-0PI/fridaygram-graphing-functions-telescope.html" title="Fridaygram: graphing functions, telescope milestone, baby scientists" /><author><name>Scott Knaster</name><uri>http://www.blogger.com/profile/10359542379204371161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/-P2rUn6jedEs/TXmkvRFVdxI/AAAAAAAAAHI/RImd-4W7u4w/s220/Scott%2BKnaster.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-nL1dqU7u_O0/Ttj2w4iAcxI/AAAAAAAAA5o/Yd5gvIWCGxE/s72-c/scottk.png" height="72" width="72" /><thr:total>4</thr:total><georss:featurename>San Francisco, CA, USA</georss:featurename><georss:point>37.7749295 -122.4194155</georss:point><georss:box>37.6745235 -122.577344 37.8753355 -122.261487</georss:box><feedburner:origLink>http://googlecode.blogspot.com/2011/12/fridaygram-graphing-functions-telescope.html</feedburner:origLink></entry></feed>

