<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web Engineering, Los Angeles &#187; Google</title>
	<atom:link href="http://www.thebitsource.com/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thebitsource.com</link>
	<description>Web Engineering, Los Angeles</description>
	<lastBuildDate>Wed, 08 Sep 2010 03:53:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Google Speed Tracer with Jaime Yap</title>
		<link>http://www.thebitsource.com/web-application/google-speed-tracer-with-jaime-yap/</link>
		<comments>http://www.thebitsource.com/web-application/google-speed-tracer-with-jaime-yap/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 16:03:57 +0000</pubDate>
		<dc:creator>Matthew Sacks</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web & Applications]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Velocity]]></category>
		<category><![CDATA[Web Application Performance]]></category>

		<guid isPermaLink="false">http://www.thebitsource.com/?p=2225</guid>
		<description><![CDATA[Jaime Yap is a developer for the Google Speed Tracer team. Google Speed Tracer is a Google Chrome extension that will help you debug and find performance bottlenecks in your Web applications. Google uses the utility internally for debugging and finding perormance bottlenecks in commonly used applications such as Gmail, Google Maps, and AdWords that [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Jaime Yap is a developer for the Google Speed Tracer team. <a href="http://code.google.com/webtoolkit/speedtracer/" target="_blank">Google Speed Tracer </a> is a Google Chrome extension that will help you debug and find performance bottlenecks in your Web applications. Google uses the utility internally for debugging and finding perormance bottlenecks in commonly used applications such as Gmail, Google Maps, and AdWords that millions of people use on a daily basis. Jaime Yap will be at the <a href="http://en.oreilly.com/velocity2010" target="_blank">Velocity 2010 Web Performance and Operations Conference</a> in San Jose, CA, on June 22nd through the 24th. Jaime Yap will be at Velocity giving demos and answering questions on Speed Tracer, as well as participating in a lightning talk, so you can learn more about Speed Tracer.</p>
<p>Jaime also spoke of the following insights on Speed Tracer and Velocity 2010:</p>
<p><strong>Q: </strong>Please tell us a little about yourself and your involvement with the Velocity Conference</p>
<p><strong>Jaime Yap</strong>: I&#8217;m an engineer at Google I started at Google working on the Google Web Toolkit Team. Steve Souders asked me to participate this year, which is pretty awesome. It&#8217;s my first time attending Velocity, so I&#8217;m pretty excited about that. I&#8217;ll be a part of the performance tools lightning demos, and I&#8217;ll also be manning the Google booth doing some one-on-one demos of Speed Tracer.</p>
<p><strong>Q: </strong>What is Speed Tracer and what does it do?</p>
<p><strong>Jaime Yap:</strong> Speed Tracer is a tool to help you identify and fix performance problems in your Web applications. We&#8217;re a chrome extension, and we&#8217;ve been working close with the Google Web Toolkit folk, giving some deep looks inside the browser to measure browser performance. We try to give a continuous picture of what the browser is doing when you run your webapps.</p>
<p>So most tools focus on startup latency, for modern Web applications like Google Maps, Gmail, Google Wave, you really need some tools to see exactly what the browser is doing as you run your app.</p>
<p><strong>Q: </strong>What is Google Web Toolkit (GWT)? Does Speed Tracer require it to run?</p>
<p><strong>Jaime Yap: </strong>GWT is a framework and a programming model for writing Web applications in Java. It actually just compiles Java to Javascript. So in the end, it&#8217;s just JavaScript, HTML, and CSS. We built Speed Tracer using the Google Web Toolkit. To use Speed Tracer on your Web applications, you don&#8217;t have to write your applications using Google Web Toolkit.</p>
<p>So if you run your Web application with just Javascript, HTML, CSS, and jQuery and so forth,</p>
<p><strong>Q: </strong>How long does Speed Tracer to set up?</p>
<p><strong>Jaime Yap:</strong> Speed Tracer is a Chrome extension, so all you have to do is go to the extensions gallery and install it. Speed Tracer uses some deep hooks inside of WebKit. To make that available to Chrome extensions and to Speed Tracer, you have to launch Chrome with a  command-line flag. All you have to do is install Speed Tracer is to install it from the extensions gallery in a single click. And once it&#8217;s installed, all you have to do is run Chrome with a command line flag.</p>
<p>We have 1 to 3 step instructions on our Getting Started Page. Once it&#8217;s running, it&#8217;s always running and you can use it by clicking on a single button in the Chrome UI.</p>
<p><strong>Q: </strong>What unique features or metrics does Speed Tracer offer?</p>
<p><strong>Jaime Yap:</strong> The Speed Tracer team is responsible for coming up with the initial implementation and instrumentation within WebKit, and we&#8217;ve been working very closely with the WebKit. And since then we&#8217;ve been working very closely with the WebKit inspector people. We both consume the same data, so the timeline panel that just launched with the WebKit inspector, thats a stock part of Safari and Chrome.</p>
<p>Both Speed Tracer and Inspector show timing data thats pretty deep inside the browser by timings we instrumented with native C++ code. These measurements are pretty much only available from this instrumentation. These measurements include layout times, repaint times, time to process scripts, DOM related dispatches, garbage collection passes in the JavaScript engine, etcetera.</p>
<p>We also have been working with AppEngine and Spring Insight, to provide server-side traces. We demoed this in the keynote at Google I/O. What this allows you to do is allows you to view server-side performance metrics, in a single tool, that you can use on a production application.</p>
<p>Also, we&#8217;ve designed the UI to draw attention around performance hot spots, and de-emphasizing things that are less important with respect to performance of your application. So I think that the Speed Tracer UI bring a lot to the picture.</p>
<p><strong>Q: </strong>Is Speed Tracer able to differentiate between performance problems with your Web application and the browser itself?</p>
<p><strong>Jaime Yap: </strong>Speed Tracer does benchmark the browser, but it benchmarks the browser, while you are in your application. So your application itself will have unique performance characteristics on Chrome. So if you application is doing something pathologically wrong in Chrome, you will see it in Speed Tracer.</p>
<p>Im gonna plug Kelly Norton, our tech lead, he gave a presentation at Google I/O called <a href="http://www.youtube.com/watch?v=73IyVBMf2uY" target="_blank">Measuring in Milliseconds Redux</a>, that covers Speed Tracer.</p>
<p><strong>Q: </strong>Whats the most interesting use case or problem that you solved using Speed Tracer.</p>
<p><strong>Jaime Yap: </strong>There&#8217;s been a few ove the development of Speed Tracer. There was a large impact in addressing table rendering performance in AdWords. And they ran into some performance rendering issues in Adwords called layout thrashing. It was a very cool because it was a learning experience for us developing Speed Tracer, and a learning experience for AdWords.</p>
<p>Google Maps, for example, is a really fast, awesome application. It was kind of cool to see that they were using our logging API. I can&#8217;t say that we were working with them, so I don&#8217;t know what performance problems that they found, but we did notice that they were using our logging API. Thats an honor that a team with such low latency requirements was using our Speed Tracer for that.</p>
<p><strong>Q:</strong> What do you have upcoming at Velocity 2010</p>
<p><strong>Jaime Yap: </strong>I&#8217;m going to give a lightning demo session, where we&#8217;ll demo a bunch of performance tools in a 10 or 15 minute demo, and I&#8217;ll also be at the Google booth answering questions about Speed Tracer.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;title=Google%20Speed%20Tracer%20with%20Jaime%20Yap&amp;notes=Jaime%20Yap%20is%20a%20developer%20for%20the%20Google%20Speed%20Tracer%20team.%20Google%20Speed%20Tracer%20%20is%20a%20Google%20Chrome%20extension%20that%20will%20help%20you%20debug%20and%20find%20performance%20bottlenecks%20in%20your%20Web%20applications.%20Google%20uses%20the%20utility%20internally%20for%20debugging%20and%20find" title="del.icio.us"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;t=Google%20Speed%20Tracer%20with%20Jaime%20Yap" title="Facebook"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;title=Google%20Speed%20Tracer%20with%20Jaime%20Yap&amp;annotation=Jaime%20Yap%20is%20a%20developer%20for%20the%20Google%20Speed%20Tracer%20team.%20Google%20Speed%20Tracer%20%20is%20a%20Google%20Chrome%20extension%20that%20will%20help%20you%20debug%20and%20find%20performance%20bottlenecks%20in%20your%20Web%20applications.%20Google%20uses%20the%20utility%20internally%20for%20debugging%20and%20find" title="Google Bookmarks"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;title=Google%20Speed%20Tracer%20with%20Jaime%20Yap" title="DZone"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="mailto:?subject=Google%20Speed%20Tracer%20with%20Jaime%20Yap&amp;body=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F" title="E-mail this story to a friend!"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.friendfeed.com/share?title=Google%20Speed%20Tracer%20with%20Jaime%20Yap&amp;link=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F" title="FriendFeed"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;t=Google%20Speed%20Tracer%20with%20Jaime%20Yap" title="HackerNews"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;title=Google%20Speed%20Tracer%20with%20Jaime%20Yap&amp;source=Web+Engineering%2C+Los+Angeles+Web+Engineering%2C+Los+Angeles&amp;summary=Jaime%20Yap%20is%20a%20developer%20for%20the%20Google%20Speed%20Tracer%20team.%20Google%20Speed%20Tracer%20%20is%20a%20Google%20Chrome%20extension%20that%20will%20help%20you%20debug%20and%20find%20performance%20bottlenecks%20in%20your%20Web%20applications.%20Google%20uses%20the%20utility%20internally%20for%20debugging%20and%20find" title="LinkedIn"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;title=Google%20Speed%20Tracer%20with%20Jaime%20Yap" title="Reddit"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;title=Google%20Speed%20Tracer%20with%20Jaime%20Yap" title="StumbleUpon"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home/?status=tip%20@Techmeme%20http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F%20Google%20Speed%20Tracer%20with%20Jaime%20Yap" title="Suggest to Techmeme via Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/techmeme.png" title="Suggest to Techmeme via Twitter" alt="Suggest to Techmeme via Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F" title="Technorati"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home?status=Google%20Speed%20Tracer%20with%20Jaime%20Yap%20-%20http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F" title="Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.fsdaily.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;title=Google%20Speed%20Tracer%20with%20Jaime%20Yap" title="FSDaily"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/fsdaily.png" title="FSDaily" alt="FSDaily" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.thebitsource.com%2Fweb-application%2Fgoogle-speed-tracer-with-jaime-yap%2F&amp;title=Google%20Speed%20Tracer%20with%20Jaime%20Yap&amp;body=Jaime%20Yap%20is%20a%20developer%20for%20the%20Google%20Speed%20Tracer%20team.%20Google%20Speed%20Tracer%20%20is%20a%20Google%20Chrome%20extension%20that%20will%20help%20you%20debug%20and%20find%20performance%20bottlenecks%20in%20your%20Web%20applications.%20Google%20uses%20the%20utility%20internally%20for%20debugging%20and%20find" title="Ping.fm"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a></li>
</ul>
</div>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.thebitsource.com/web-application/google-speed-tracer-with-jaime-yap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Andrew Rubin, Android Inventor&#8217;s Stance on Microsoft Silverlight on the Android</title>
		<link>http://www.thebitsource.com/technews/andrew-rubin-android-inventor-microsoft-silverlight-android/</link>
		<comments>http://www.thebitsource.com/technews/andrew-rubin-android-inventor-microsoft-silverlight-android/#comments</comments>
		<pubDate>Fri, 21 May 2010 00:13:55 +0000</pubDate>
		<dc:creator>Matthew Sacks</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Dalvik]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.thebitsource.com/?p=2142</guid>
		<description><![CDATA[When I asked Andrew Rubin if Android would ever support Microsoft Silverlight or the open source implementation of Silverlight, Moonlight, he responded as follows: Adobe put a lot of work into getting Flash to run on the Dalvik JVM. If Microsoft were to develop Silverlight to run on the Android then we would welcome it. [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>When I asked Andrew Rubin if Android would ever support Microsoft Silverlight or the open source implementation of Silverlight, Moonlight, he responded as follows:</p>
<blockquote><p>Adobe put a lot of work into getting Flash to run on the Dalvik JVM.<br />
If Microsoft were to develop Silverlight to run on the Android then we would welcome it.</p>
<p>- Andy Rubin, VP, Engineering (and Android Inventor), Google</p></blockquote>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android&amp;notes=When%20I%20asked%20Andrew%20Rubin%20if%20Android%20would%20ever%20support%20Microsoft%20Silverlight%20or%20the%20open%20source%20implementation%20of%20Silverlight%2C%20Moonlight%2C%20he%20responded%20as%20follows%3A%0D%0AAdobe%20put%20a%20lot%20of%20work%20into%20getting%20Flash%20to%20run%20on%20the%20Dalvik%20JVM.%0D%0AIf%20Microsoft%20we" title="del.icio.us"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;t=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android" title="Facebook"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android&amp;annotation=When%20I%20asked%20Andrew%20Rubin%20if%20Android%20would%20ever%20support%20Microsoft%20Silverlight%20or%20the%20open%20source%20implementation%20of%20Silverlight%2C%20Moonlight%2C%20he%20responded%20as%20follows%3A%0D%0AAdobe%20put%20a%20lot%20of%20work%20into%20getting%20Flash%20to%20run%20on%20the%20Dalvik%20JVM.%0D%0AIf%20Microsoft%20we" title="Google Bookmarks"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android" title="DZone"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="mailto:?subject=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android&amp;body=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F" title="E-mail this story to a friend!"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.friendfeed.com/share?title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android&amp;link=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F" title="FriendFeed"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;t=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android" title="HackerNews"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android&amp;source=Web+Engineering%2C+Los+Angeles+Web+Engineering%2C+Los+Angeles&amp;summary=When%20I%20asked%20Andrew%20Rubin%20if%20Android%20would%20ever%20support%20Microsoft%20Silverlight%20or%20the%20open%20source%20implementation%20of%20Silverlight%2C%20Moonlight%2C%20he%20responded%20as%20follows%3A%0D%0AAdobe%20put%20a%20lot%20of%20work%20into%20getting%20Flash%20to%20run%20on%20the%20Dalvik%20JVM.%0D%0AIf%20Microsoft%20we" title="LinkedIn"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android" title="Reddit"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android" title="StumbleUpon"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home/?status=tip%20@Techmeme%20http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F%20Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android" title="Suggest to Techmeme via Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/techmeme.png" title="Suggest to Techmeme via Twitter" alt="Suggest to Techmeme via Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F" title="Technorati"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home?status=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android%20-%20http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F" title="Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.fsdaily.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android" title="FSDaily"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/fsdaily.png" title="FSDaily" alt="FSDaily" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fandrew-rubin-android-inventor-microsoft-silverlight-android%2F&amp;title=Andrew%20Rubin%2C%20Android%20Inventor%27s%20Stance%20on%20Microsoft%20Silverlight%20on%20the%20Android&amp;body=When%20I%20asked%20Andrew%20Rubin%20if%20Android%20would%20ever%20support%20Microsoft%20Silverlight%20or%20the%20open%20source%20implementation%20of%20Silverlight%2C%20Moonlight%2C%20he%20responded%20as%20follows%3A%0D%0AAdobe%20put%20a%20lot%20of%20work%20into%20getting%20Flash%20to%20run%20on%20the%20Dalvik%20JVM.%0D%0AIf%20Microsoft%20we" title="Ping.fm"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a></li>
</ul>
</div>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.thebitsource.com/technews/andrew-rubin-android-inventor-microsoft-silverlight-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lars Rasmussen, Using Google Wave for Collaborative Software Development</title>
		<link>http://www.thebitsource.com/programming-software-development/lars-rasmussen-google-wave-for-collaborative-software-development/</link>
		<comments>http://www.thebitsource.com/programming-software-development/lars-rasmussen-google-wave-for-collaborative-software-development/#comments</comments>
		<pubDate>Thu, 20 May 2010 21:46:43 +0000</pubDate>
		<dc:creator>Matthew Sacks</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google IO]]></category>
		<category><![CDATA[Google Wave]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Release Management]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[SpringSource]]></category>
		<category><![CDATA[VMWare]]></category>

		<guid isPermaLink="false">http://www.thebitsource.com/?p=2121</guid>
		<description><![CDATA[Lars Rasmussen, one of the Lead Engineers who started Google Maps, and leading the Google Wave project, spoke with The Bitsource in this exclusive interview. Please tell The Bitsource&#8217;s developers a bit about yourself. Lars Rasmussen: Sure thing, I&#8217;ve worked for Google for about six years. I came to Google in 2004 when they bought [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Lars Rasmussen, one of the Lead Engineers who started Google Maps, and leading the Google Wave project, spoke with The Bitsource in this exclusive interview.</p>
<div id="attachment_2125" class="wp-caption alignnone" style="width: 596px"><a href="http://www.thebitsource.com/wp-content/uploads/2010/05/lars-rasumussen-and-wave-panel-google-io.png"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  class="size-full wp-image-2125" title="lars-rasumussen-and-wave-panel-google-io" src="http://www.thebitsource.com/wp-content/uploads/2010/05/lars-rasumussen-and-wave-panel-google-io.png" alt="Lars Rasmussen, and Google Wave Panel at Google I/O 2010" width="586" height="327" /></a><p class="wp-caption-text">Lars Rasmussen (left), and Google Wave Panel at Google I/O 2010 </p></div>
<p><strong>Please tell The Bitsource&#8217;s developers a bit about yourself.</strong></p>
<p><strong>Lars Rasmussen: </strong>Sure thing, I&#8217;ve worked for Google for about six years. I came to Google in 2004 when they bought a little company, called Where2 Technologies that my brother and I had started and we did mapping software which we turned into Google Maps. I worked on Google maps for 3 years and then three years ago I started working on Google Wave.</p>
<p><strong>Are there software development teams which are using Wave for facilitating and boosting efficiency in the various phases of the software development life cycle?</strong></p>
<p><strong>Lars Rasmussen: </strong>Yes, for sure. My own team, of course and there are a couple of teams at Google that use Wave for that exact thing. The Google Web Toolkit Team internally uses Wave for all of their work: tracking of their tasks, testing, processes, design documents, and discussing features.</p>
<p>There&#8217;s a story I really like, Google was recently asked to do a partnership with VMWare. Bruce Johnson was talking about this partnership during today&#8217;s keynote where they integrated the Google Web Toolkit with Spring Roo, which lets enterprise developers put together enterprise applications very quickly. Bruce was telling me how, when they started working with VMWare, they encouraged them to adopt Wave so that the GWT team and the VMWare team could Wave together. The VMWare team was actually in two other countries, and they all really loved it. It made their work much easier to coordinate in Wave and I spoke to one of the VMware guys who is here today and he is trying to get other people at VMWare to use it internally at VMWare as well.</p>
<p><strong>How would one benefit by extending a continuous integration system such as Hudson or Atlassian Bamboo by integrating that into Google Wave?</strong></p>
<p><strong>Lars Rasmussen:</strong> Interesting you should ask. We&#8217;re giving a presentation tomorrow about Google Wave in the enterprise, the example I think the presenters for <a href="http://code.google.com/events/io/2010/sessions/google-wave-enterprise.html" target="_blank">Google Wave and the Enterprise Environment </a>are going to show an integration between Wave and the release system at Google with <a href="http://code.google.com/apis/wave/extensions/robots/" target="_blank">Robots</a> and <a href="http://code.google.com/apis/wave/extensions/gadgets/guide.html" target="_blank">Gadgets</a>. Every time you want to do a release, you start a Wave, which you use to do all of the coordination. Throw in a Gadget, and it goes and gets the current state [of the release] from the build system. By combining the two, you get all of the powerful discussion features [of Wave]. And when something goes wrong, something always goes wrong, you have all of the powerful discussion features, plus you have access to a control panel where you can manipulate the process right there.</p>
<p>In regard to Hudson and Bamboo, I don&#8217;t know if anyone is working on those particular systems, but I think Wave and development tools in general, there&#8217;s a lot of different areas where you can see some really cool integrations.</p>
<p>Also with coding itself. There is a team, I don&#8217;t recall they&#8217;re name, but they have this great thing where they used the Wave Federation Protocol to make <a href="http://www.wave-vs.net/" target="_blank">programming collaborative inside of Visual Studio</a>, and I know there&#8217;s a couple of folks at Google that are starting, too. We have a code review process, where a junior programmer will write the code and send it over to a senior programmer for review. The way it is currently, it is a serialized process. One person writes the code, they send it over here, it gets reviewed, comments go back, and the first programmer implements the comments, and it goes back for review.</p>
<p>Some of my colleagues are starting to play around with (they haven&#8217;t completed it yet), if you put those processes inside Wave it will go from being this very serialized, sometimes quite drawn-out process to being a much shorter and much more collaborative process. The code I write, can sit in a Wave, visible to the reviewer, and instead of sending back comments, they can just edit the code, and maybe even put comments in real-time if were online at the same time, and then I can understand what was done, and we can save ourselves a couple of round-trips.</p>
<p><strong>Can Wave intelligently categorize Wave updates from an operations engineer differently than a software engineer?</strong></p>
<p><strong>Lars Rasmussen:</strong> Wave doesn&#8217;t do that on it&#8217;s own, but this something that extensions could do for you. In particular if you have a closed environment, you write Robots that has access to a database that has access to all of that information. Then a Robot could categorize what sort of person is writing what sort of thing.</p>
<p>Something I&#8217;ve seen developers working on a lot is working on Robots that will identify related content, which you can then choose to add to the Wave.</p>
<p><strong>Please tell us a bit about the new Wave API&#8217;s that were announced today</strong></p>
<p><strong>Lars Rasmussen: </strong>Sure thing. The key thing is the top-requested features. In the past, Robots, which are web-application can interact with Wave just like human users, had to live on Google App Engine; which was mostly a security thing. We have now a system that you can authenticate a Robot that lives anywhere on the Web, which will make it a lot easier for programmers to do integrations. Like you were asking earlier about integrations with release management tools, for example. It&#8217;s a lot easier to do that integration if the Robot can live where the release management tool lives, instead of having to live in a third place; App Engine.</p>
<p>We also have a new API, a simple data API. A lot of people want to build notifiers and lighter-weigth clients for mobile devices. The sort of core API for collaborative editing can be a bit too much for some of the devices. And this API will allow you to build lighter weight clients.</p>
<p>We also added media and attachment features. Now, Robots has access to attachments on a Wave. For example, if you have a bunch of images in a Wave, you could have a Robot that [automatically] uploads images to a media sharing site, or vice-versa. If you have bunch of images on, say Picasa, and you&#8217;d like to share them on a Wave, you could write a Robot that does that.</p>
<p>For more information, follow <a href="https://www.twitter.com/googlewave" target="_blank">@GoogleWave</a> on Twitter, or subscribe to the Google Wave blog: <a href="http://googlewave.blogspot.com/" target="_blank">http://googlewave.blogspot.com/</a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20&amp;notes=Lars%20Rasmussen%2C%20one%20of%20the%20Lead%20Engineers%20who%20started%20Google%20Maps%2C%20and%20leading%20the%20Google%20Wave%20project%2C%20spoke%20with%20The%20Bitsource%20in%20this%20exclusive%20interview.%0D%0A%0D%0A%0D%0A%0D%0APlease%20tell%20The%20Bitsource%27s%20developers%20a%20bit%20about%20yourself.%0D%0A%0D%0ALars%20Rasmussen%3A%20Sure%20" title="del.icio.us"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;t=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20" title="Facebook"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20&amp;annotation=Lars%20Rasmussen%2C%20one%20of%20the%20Lead%20Engineers%20who%20started%20Google%20Maps%2C%20and%20leading%20the%20Google%20Wave%20project%2C%20spoke%20with%20The%20Bitsource%20in%20this%20exclusive%20interview.%0D%0A%0D%0A%0D%0A%0D%0APlease%20tell%20The%20Bitsource%27s%20developers%20a%20bit%20about%20yourself.%0D%0A%0D%0ALars%20Rasmussen%3A%20Sure%20" title="Google Bookmarks"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20" title="DZone"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="mailto:?subject=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20&amp;body=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F" title="E-mail this story to a friend!"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.friendfeed.com/share?title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20&amp;link=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F" title="FriendFeed"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;t=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20" title="HackerNews"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20&amp;source=Web+Engineering%2C+Los+Angeles+Web+Engineering%2C+Los+Angeles&amp;summary=Lars%20Rasmussen%2C%20one%20of%20the%20Lead%20Engineers%20who%20started%20Google%20Maps%2C%20and%20leading%20the%20Google%20Wave%20project%2C%20spoke%20with%20The%20Bitsource%20in%20this%20exclusive%20interview.%0D%0A%0D%0A%0D%0A%0D%0APlease%20tell%20The%20Bitsource%27s%20developers%20a%20bit%20about%20yourself.%0D%0A%0D%0ALars%20Rasmussen%3A%20Sure%20" title="LinkedIn"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20" title="Reddit"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20" title="StumbleUpon"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home/?status=tip%20@Techmeme%20http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F%20Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20" title="Suggest to Techmeme via Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/techmeme.png" title="Suggest to Techmeme via Twitter" alt="Suggest to Techmeme via Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F" title="Technorati"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home?status=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20%20-%20http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F" title="Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.fsdaily.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20" title="FSDaily"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/fsdaily.png" title="FSDaily" alt="FSDaily" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Flars-rasmussen-google-wave-for-collaborative-software-development%2F&amp;title=Lars%20Rasmussen%2C%20Using%20Google%20Wave%20for%20Collaborative%20Software%20Development%20&amp;body=Lars%20Rasmussen%2C%20one%20of%20the%20Lead%20Engineers%20who%20started%20Google%20Maps%2C%20and%20leading%20the%20Google%20Wave%20project%2C%20spoke%20with%20The%20Bitsource%20in%20this%20exclusive%20interview.%0D%0A%0D%0A%0D%0A%0D%0APlease%20tell%20The%20Bitsource%27s%20developers%20a%20bit%20about%20yourself.%0D%0A%0D%0ALars%20Rasmussen%3A%20Sure%20" title="Ping.fm"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a></li>
</ul>
</div>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.thebitsource.com/programming-software-development/lars-rasmussen-google-wave-for-collaborative-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google I/O Hot Topics</title>
		<link>http://www.thebitsource.com/tech-conferences/google-io-conference-coverage/</link>
		<comments>http://www.thebitsource.com/tech-conferences/google-io-conference-coverage/#comments</comments>
		<pubDate>Wed, 19 May 2010 16:38:46 +0000</pubDate>
		<dc:creator>Matthew Sacks</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Technology Conferences]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google IO]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.thebitsource.com/?p=2098</guid>
		<description><![CDATA[The Bitsource is at Google IO covering some of the latest announcements. We&#8217;ve compiled a list for those unable to attend the conference so that they can stay on top of all the news happening now at Google I/O. Live Updates Follow our @thebitsource for live updates from the conference. Also follow @GoogleIO for other [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>The Bitsource is at Google IO covering some of the latest announcements. We&#8217;ve compiled a list for those unable to attend the conference so that they can stay on top of all the news happening now at Google I/O.</p>
<h3><strong>Live Updates</strong></h3>
<p>Follow our <a href="http://www.twitter.com/thebitsource" target="_blank">@thebitsource</a> for live updates from the conference.<br />
Also follow <a href="http://www.twitter.com/googleio" target="_blank">@GoogleIO</a> for other conference updates.</p>
<h3><strong>Photo Stream<br />
</strong></h3>
<p><strong><a href="http://www.flickr.com/photos/50428210@N08/sets/72157623971149361/detail/" target="_blank">Flickr Google IO Photo Stream</a></strong></p>
<h3>Google I/O Hot Topics</h3>
<p><strong>Android 2.2</strong></p>
<p><strong>HTML5 Support<br />
</strong></p>
<p><a href="http://webmproject.blogspot.com/2010/05/introducing-webm-open-web-media-project.html" target="_blank">WebM: Open Web Video Format</a></p>
<p><a href="http://code.google.com/apis/wave/extensions/robots/" target="_blank">Google Wave Robots API</a></p>
<p><a href="http://googlecode.blogspot.com/2010/05/announcing-google-app-engine-for.html" target="_blank">App Engine for Business</a></p>
<p><a href="http://googlecode.blogspot.com/2010/05/announcing-google-app-engine-for.html" target="_blank">Google Chrome Web Store </a><a href="http://webmproject.blogspot.com/2010/05/introducing-webm-open-web-media-project.html" target="_blank"></a></p>
<p><a href="http://googlecode.blogspot.com/2010/05/google-storage-for-developers-preview.html" target="_blank">Google Storage for Developers</a></p>
<p><a href="http://adsense.blogspot.com/2010/05/two-new-ways-to-optimize-adsense-on.html" target="_blank">AdSense for Ajax</a></p>
<h3>Google IO Main Wave</h3>
<p><script src="http://www.google.com/jsapi"></script><script type="text/javascript">// < ![CDATA[
// < ![CDATA[
 google.load("wave", "1"); google.setOnLoadCallback(function() { new google.wave.WavePanel({target: document.getElementById("waveframe")}).loadWave("googlewave.com!w+eRiTZrZkCcw");});
// ]]&gt;</script><br />
<strong> </strong><strong>Stay tuned for more updates from Google IO.</strong></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;title=Google%20I%2FO%20Hot%20Topics&amp;notes=The%20Bitsource%20is%20at%20Google%20IO%20covering%20some%20of%20the%20latest%20announcements.%20We%27ve%20compiled%20a%20list%20for%20those%20unable%20to%20attend%20the%20conference%20so%20that%20they%20can%20stay%20on%20top%20of%20all%20the%20news%20happening%20now%20at%20Google%20I%2FO.%0D%0ALive%20Updates%0D%0AFollow%20our%20%40thebitsource" title="del.icio.us"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;t=Google%20I%2FO%20Hot%20Topics" title="Facebook"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;title=Google%20I%2FO%20Hot%20Topics&amp;annotation=The%20Bitsource%20is%20at%20Google%20IO%20covering%20some%20of%20the%20latest%20announcements.%20We%27ve%20compiled%20a%20list%20for%20those%20unable%20to%20attend%20the%20conference%20so%20that%20they%20can%20stay%20on%20top%20of%20all%20the%20news%20happening%20now%20at%20Google%20I%2FO.%0D%0ALive%20Updates%0D%0AFollow%20our%20%40thebitsource" title="Google Bookmarks"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;title=Google%20I%2FO%20Hot%20Topics" title="DZone"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="mailto:?subject=Google%20I%2FO%20Hot%20Topics&amp;body=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F" title="E-mail this story to a friend!"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.friendfeed.com/share?title=Google%20I%2FO%20Hot%20Topics&amp;link=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F" title="FriendFeed"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;t=Google%20I%2FO%20Hot%20Topics" title="HackerNews"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;title=Google%20I%2FO%20Hot%20Topics&amp;source=Web+Engineering%2C+Los+Angeles+Web+Engineering%2C+Los+Angeles&amp;summary=The%20Bitsource%20is%20at%20Google%20IO%20covering%20some%20of%20the%20latest%20announcements.%20We%27ve%20compiled%20a%20list%20for%20those%20unable%20to%20attend%20the%20conference%20so%20that%20they%20can%20stay%20on%20top%20of%20all%20the%20news%20happening%20now%20at%20Google%20I%2FO.%0D%0ALive%20Updates%0D%0AFollow%20our%20%40thebitsource" title="LinkedIn"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;title=Google%20I%2FO%20Hot%20Topics" title="Reddit"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;title=Google%20I%2FO%20Hot%20Topics" title="StumbleUpon"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home/?status=tip%20@Techmeme%20http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F%20Google%20I%2FO%20Hot%20Topics" title="Suggest to Techmeme via Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/techmeme.png" title="Suggest to Techmeme via Twitter" alt="Suggest to Techmeme via Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F" title="Technorati"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home?status=Google%20I%2FO%20Hot%20Topics%20-%20http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F" title="Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.fsdaily.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;title=Google%20I%2FO%20Hot%20Topics" title="FSDaily"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/fsdaily.png" title="FSDaily" alt="FSDaily" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fgoogle-io-conference-coverage%2F&amp;title=Google%20I%2FO%20Hot%20Topics&amp;body=The%20Bitsource%20is%20at%20Google%20IO%20covering%20some%20of%20the%20latest%20announcements.%20We%27ve%20compiled%20a%20list%20for%20those%20unable%20to%20attend%20the%20conference%20so%20that%20they%20can%20stay%20on%20top%20of%20all%20the%20news%20happening%20now%20at%20Google%20I%2FO.%0D%0ALive%20Updates%0D%0AFollow%20our%20%40thebitsource" title="Ping.fm"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a></li>
</ul>
</div>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.thebitsource.com/tech-conferences/google-io-conference-coverage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Introduction to Google&#8217;s Go Programming Language</title>
		<link>http://www.thebitsource.com/programming-software-development/google-go-programming-introduction/</link>
		<comments>http://www.thebitsource.com/programming-software-development/google-go-programming-introduction/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 21:18:26 +0000</pubDate>
		<dc:creator>Melissa Soriano</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.thebitsource.com/?p=1960</guid>
		<description><![CDATA[By Melissa Soriano Go is Google&#8217;s new open-source, compiled programming language.  It&#8217;s release was officially announced in November of 2009.   I spent a few hours getting my feet wet with Go and exploring how it compares to C and Python.  This article describes how to install Go, how to compile a program, and some of [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>By Melissa Soriano</p>
<p>Go is Google&#8217;s new open-source, compiled programming language.  It&#8217;s release was officially announced in November of 2009.   I spent a few hours getting my feet wet with Go and exploring how it compares to C and Python.  This article describes how to install Go, how to compile a program, and some of Go&#8217;s unique features.</p>
<h2><strong>Installing Go</strong></h2>
<p>Go implementations are currently available for the Linux and Mac OS X platforms.<br />
The following environmental variables are required and should be added to your ~/.bashrc or ~/.profile:</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="kw3">export</span> <span class="re2">GOROOT=</span><span class="re1">$HOME</span>/go
<span class="kw3">export</span> <span class="re2">GOBIN=</span><span class="re1">$HOME</span>/bin
<span class="kw3">export</span> <span class="re2">GOOS=</span>linux
<span class="kw3">export</span> <span class="re2">GOARCH=</span><span class="nu0">386</span>
<span class="re2">PATH=</span><span class="re1">$GOBIN</span>:<span class="re1">$PATH</span></div>
</div>
</pre>
<p>In order to build the go toolchain, you need gcc, the standard C libraries, the parser generator Bison, make, awk, and the text editor ed installed.  You will also need mercurial, a free distributed source control management tool.  Once you have all this, you can check out the Go Mercurial repository:</p>
<pre>
<div class="codesnip-container" >$ hg clone -r release <a href="https://go.googlecode.com/hg/">https://go.googlecode.com/hg/</a> $GOROOT</div>
</pre>
<p>Building go:</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">$ <span class="kw3">cd</span> <span class="re1">$GOROOT</span>/src
$ ./all.bash</div>
</div>
</pre>
<p>At the end of the build, you should see:<br />
&#8212; cd ../test<br />
N known bugs; 0 unexpected bugs</p>
<p><strong>Compilation and Linking</strong></p>
<p>Go includes a suite of compilers for different architectures.  8g is the compiler for the 32-bit x86.  6g is the compiler for the 64-bit x86.  For example, below is a simple <a href="/source-code/go/hello.go" target="_blank">hello.go</a> program and its compilation:</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">package main

import <span class="st0">&quot;fmt&quot;</span>

func main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
fmt.<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">Printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;hello, world<span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span></div>
</div>
</pre>
<p>To compile on a 32-bit x86 platform:</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">8g hello.<span class="me1">go</span></div>
</div>
</pre>
<p>This will produce a file named hello.8.  To link the file:</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">8l hello<span class="nu0">.8</span></div>
</div>
</pre>
<p>This will produce a file named 8.out.  To run it:</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">./<span class="nu0">8</span>.<span class="me1">out</span></div>
</div>
</pre>
<h2>Coding in Go</h2>
<p>In general, Go code looks a lot cleaner than C or Python.  Go doesn&#8217;t have the same sensitivity to white space that Python does (which can be a pro or a con depending on your point of view).  Like C, Go uses semicolons to terminate statements but unlike C, the compiler puts these in automatically, resulting in cleaner source files.  Go&#8217;s compiler is very strict about dependencies; it returns errors for any package or variable that is not used.  This results in cleaner code with fewer dependencies, but can be annoying during initial development.  I tend to use the compiler as a tool and I compile often when I develop in C.  Go makes this harder by complaining about every loose end.  I wish it were possible to turn this dependency checking on and off (for example with a -strict flag) but I think Go&#8217;s designers made this choice on purpose as part of their philosophy that the language&#8217;s design should promote good programming practices.  This dependency checking might be something I would get used to if I worked with Go more.</p>
<p>As an example, I wrote a simple program that reads from an input file and writes to an output file.  I used the io/ioutil package, which provides ReadFile and WriteFile functions and the fmt package, which provides Printf.  Documentation of Go&#8217;s libraries can be found at <a href="http://golang.org/pkg/" target="_blank">http://golang.org/pkg/</a>. All packages on this Web site are searchable using the &#8220;Go Code Search&#8221; box in the menu on the left hand side.</p>
<p><strong>File IO in Go Example<br />
</strong><a href="/source-code/go/file.go" target="_blank">Download file.go here</a><strong></strong></p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="coMULTI">/* This example reads data from an input file,
prints the data to the screen, and
writes the data to an output file. */</span>

package main

import <span class="br0">&#40;</span>
<span class="st0">&quot;fmt&quot;</span>
<span class="st0">&quot;io/ioutil&quot;</span>
<span class="br0">&#41;</span>

func main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>

<span class="coMULTI">/* declare input and output filenames */</span>
input_filename := <span class="st0">&quot;data.txt&quot;</span>
output_filename := <span class="st0">&quot;stats.txt&quot;</span>

<span class="coMULTI">/* read contents of input file into array of type byte */</span>
buff,_ := ioutil.<span class="me1">ReadFile</span><span class="br0">&#40;</span>input_filename<span class="br0">&#41;</span>

<span class="coMULTI">/* print contents of input file */</span>
fmt.<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">Printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%s<span class="es0">\n</span>&quot;</span>, <span class="kw4">string</span><span class="br0">&#40;</span>buff<span class="br0">&#41;</span><span class="br0">&#41;</span>

<span class="coMULTI">/* write contents of buff to output file */</span>
<span class="coMULTI">/* use permissions 0x644 */</span>
ioutil.<span class="me1">WriteFile</span><span class="br0">&#40;</span>output_
filename, buff, 0x644<span class="br0">&#41;</span>

<span class="br0">&#125;</span></div>
</div>
</pre>
<p>The brevity of the code and the lack of semicolons result in a clean, compact source.  The := operator represents a variable declaration.  Like python, Go can figure out the type of the variable implicitly based on the value you use to initialize it.  This feature speeds up initial development and makes the language friendly to work with.  Another feature of Go that I really like is its ability to returns multiple values.  This is demonstrated by ReadFile, which returns an array of type byte (buff), and an error code.  In C, I often write functions that need to return a value (for example, how many lines were read) that also may need to return an error.  This leads to the inelegant solution of defining a particular return value to signify an error (for example, -1).  While this solution works, it relies on the requirement that valid return values have a limited range (for example, &gt;=0).  Another solution is to create a structure that contains multiple members with the information that is needed and to have the function return this structure.  Again, this works, but it is cumbersome and may end up requiring you to twist yourself around, defining all sorts of new structures just to enable a function to return the values that you need.  A third solution is to pass in a variable by reference and modify it within the function.  This works but obfuscates the function&#8217;s purpose.  Go&#8217;s ability to return multiple values provides a simple, elegant solution.  One weakness of Go seems to be its parsing abilities.  I used ReadFile to read an ascii text file of letters and numbers into an array of bytes, which ended up being difficult to work with.  I miss C&#8217;s fscanf and python&#8217;s readln and split functions.  Go&#8217;s novelty also means that far less example code is available than is the case for C and Python.  It would be nice if the documentation for each package included examples.  If Go becomes accepted by the software development community, this may change and more resources may develop.</p>
<p>As another example, I wrote a simple generic sort function that utilizes Interfaces and used this function to sort floats and strings.</p>
<p><strong>Sorting in Go Example<br />
</strong><a href="/source-code/go/sort.go" target="_blank">Download sort.go </a><strong></strong></p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="coMULTI">/* This example sorts arrays of strings and floats */</span>

package main

import <span class="br0">&#40;</span>
<span class="st0">&quot;fmt&quot;</span>
<span class="st0">&quot;rand&quot;</span>
<span class="st0">&quot;time&quot;</span>
<span class="br0">&#41;</span>

<span class="coMULTI">/* define an Interface for an array of floats */</span>
type FloatArray <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="kw4">float</span>
func <span class="br0">&#40;</span>p FloatArray<span class="br0">&#41;</span> Len<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw4">int</span> <span class="br0">&#123;</span><span class="kw1">return</span> len<span class="br0">&#40;</span>p<span class="br0">&#41;</span><span class="br0">&#125;</span>
func <span class="br0">&#40;</span>p FloatArray<span class="br0">&#41;</span> Less<span class="br0">&#40;</span>i <span class="kw4">int</span>, j <span class="kw4">int</span><span class="br0">&#41;</span> bool <span class="br0">&#123;</span><span class="kw1">return</span> p<span class="br0">&#91;</span>i<span class="br0">&#93;</span> &amp;lt; p<span class="br0">&#91;</span>j<span class="br0">&#93;</span><span class="br0">&#125;</span>
func <span class="br0">&#40;</span>p FloatArray<span class="br0">&#41;</span> Swap<span class="br0">&#40;</span>i <span class="kw4">int</span>, j <span class="kw4">int</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>p<span class="br0">&#91;</span>i<span class="br0">&#93;</span>, p<span class="br0">&#91;</span>j<span class="br0">&#93;</span> = p<span class="br0">&#91;</span>j<span class="br0">&#93;</span>, p<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#125;</span>
func <span class="br0">&#40;</span>p FloatArray<span class="br0">&#41;</span> List<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw4">string</span> <span class="br0">&#123;</span>
s := <span class="st0">&quot;{ &quot;</span>
<span class="kw1">for</span> i:=<span class="nu0">0</span>; i&amp;lt; p.<span class="me1">Len</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; i++<span class="br0">&#123;</span>
s += fmt.<span class="me1">Sprintf</span><span class="br0">&#40;</span><span class="st0">&quot;%3.1f &quot;</span>, p<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>
s += <span class="st0">&quot;}&quot;</span>
<span class="kw1">return</span> s
<span class="br0">&#125;</span>
func <span class="br0">&#40;</span>p FloatArray<span class="br0">&#41;</span> <span class="kw4">String</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw4">string</span> <span class="br0">&#123;</span>
<span class="kw1">return</span> p.<span class="me1">List</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>
<span class="coMULTI">/* fill 1-n members of p with randomly generated floats between 0-100 */</span>
func <span class="br0">&#40;</span>p FloatArray<span class="br0">&#41;</span> Fill<span class="br0">&#40;</span>n <span class="kw4">int</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
rand.<span class="me1">Seed</span><span class="br0">&#40;</span>time.<span class="me1">Nanoseconds</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<span class="kw1">for</span> i:=<span class="nu0">0</span>; i&amp;lt; n; i++<span class="br0">&#123;</span>
p<span class="br0">&#91;</span>i<span class="br0">&#93;</span> = <span class="nu0">100</span>*<span class="br0">&#40;</span>rand.<span class="kw4">Float</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>
<span class="br0">&#125;</span>

<span class="coMULTI">/* define an Interface for an array of strings */</span>
type StringArray <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="kw4">string</span>
func <span class="br0">&#40;</span>p StringArray<span class="br0">&#41;</span> Len<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw4">int</span> <span class="br0">&#123;</span><span class="kw1">return</span> len<span class="br0">&#40;</span>p<span class="br0">&#41;</span><span class="br0">&#125;</span>
func <span class="br0">&#40;</span>p StringArray<span class="br0">&#41;</span> Less<span class="br0">&#40;</span>i <span class="kw4">int</span>, j <span class="kw4">int</span><span class="br0">&#41;</span> bool <span class="br0">&#123;</span><span class="kw1">return</span> p<span class="br0">&#91;</span>i<span class="br0">&#93;</span> &amp;lt; p<span class="br0">&#91;</span>j<span class="br0">&#93;</span><span class="br0">&#125;</span>
func <span class="br0">&#40;</span>p StringArray<span class="br0">&#41;</span> Swap<span class="br0">&#40;</span>i <span class="kw4">int</span>, j <span class="kw4">int</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>p<span class="br0">&#91;</span>i<span class="br0">&#93;</span>, p<span class="br0">&#91;</span>j<span class="br0">&#93;</span> = p<span class="br0">&#91;</span>j<span class="br0">&#93;</span>, p<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#125;</span>
func <span class="br0">&#40;</span>p StringArray<span class="br0">&#41;</span> List<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw4">string</span> <span class="br0">&#123;</span>
s := <span class="st0">&quot;{ &quot;</span>
<span class="kw1">for</span> i:=<span class="nu0">0</span>; i&amp;lt; p.<span class="me1">Len</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; i++<span class="br0">&#123;</span>
s += fmt.<span class="me1">Sprintf</span><span class="br0">&#40;</span><span class="st0">&quot;%s &quot;</span>, p<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>
s += <span class="st0">&quot;}&quot;</span>
<span class="kw1">return</span> s
<span class="br0">&#125;</span>
func <span class="br0">&#40;</span>p StringArray<span class="br0">&#41;</span> <span class="kw4">String</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw4">string</span> <span class="br0">&#123;</span>
<span class="kw1">return</span> p.<span class="me1">List</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>

<span class="coMULTI">/* Generic Interface to any sortable type */</span>
type Interface interface <span class="br0">&#123;</span>
Len<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw4">int</span>
Less<span class="br0">&#40;</span>i, j <span class="kw4">int</span><span class="br0">&#41;</span> bool
Swap<span class="br0">&#40;</span>i, j <span class="kw4">int</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>

<span class="coMULTI">/* generic sort function */</span>
func Sort<span class="br0">&#40;</span>data Interface<span class="br0">&#41;</span> <span class="br0">&#123;</span>
<span class="kw1">for</span> i := <span class="nu0">1</span>; i &amp;lt; data.<span class="me1">Len</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; i++ <span class="br0">&#123;</span>
<span class="kw1">for</span> j := i; j &amp;gt; <span class="nu0">0</span> &amp;amp;&amp;amp; data.<span class="me1">Less</span><span class="br0">&#40;</span>j, j<span class="nu0">-1</span><span class="br0">&#41;</span>; j-- <span class="br0">&#123;</span>
data.<span class="me1">Swap</span><span class="br0">&#40;</span>j, j<span class="nu0">-1</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
<span class="br0">&#125;</span>

func main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>

numbers := FloatArray<span class="br0">&#123;</span><span class="nu0">44.5</span>, <span class="nu0">67.3</span>, <span class="nu0">3.9</span>, <span class="nu0">17.8</span>, <span class="nu0">89.0</span>, <span class="nu0">10.2</span>, <span class="nu0">76.3</span>, <span class="nu0">9.4</span>, <span class="nu0">14.7</span>, <span class="nu0">89.1</span><span class="br0">&#125;</span>
strings := StringArray<span class="br0">&#123;</span><span class="st0">&quot;kobe&quot;</span>, <span class="st0">&quot;odom&quot;</span>, <span class="st0">&quot;farmar&quot;</span>, <span class="st0">&quot;fisher&quot;</span>, <span class="st0">&quot;artest&quot;</span>, <span class="st0">&quot;bynum&quot;</span>,
<span class="st0">&quot;brown&quot;</span>, <span class="st0">&quot;gasol&quot;</span><span class="br0">&#125;</span>

Sort<span class="br0">&#40;</span>numbers<span class="br0">&#41;</span>
fmt.<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">Printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%v<span class="es0">\n</span>&quot;</span>, numbers<span class="br0">&#41;</span>

numbers.<span class="me1">Fill</span><span class="br0">&#40;</span><span class="nu0">10</span><span class="br0">&#41;</span>
Sort<span class="br0">&#40;</span>numbers<span class="br0">&#41;</span>
fmt.<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">Printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%v<span class="es0">\n</span>&quot;</span>, numbers<span class="br0">&#41;</span>

Sort<span class="br0">&#40;</span>strings<span class="br0">&#41;</span>
fmt.<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">Printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%v<span class="es0">\n</span>&quot;</span>, strings<span class="br0">&#41;</span>

<span class="br0">&#125;</span></div>
</div>
</pre>
<p>Running the program:</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">soriano@home:~/go/src$ ./<span class="nu0">8</span>.out
<span class="br0">&#123;</span> <span class="nu0">3.9</span> <span class="nu0">9.4</span> <span class="nu0">10.2</span> <span class="nu0">14.7</span> <span class="nu0">17.8</span> <span class="nu0">44.5</span> <span class="nu0">67.3</span> <span class="nu0">76.3</span> <span class="nu0">89.0</span> <span class="nu0">89.1</span> <span class="br0">&#125;</span>
<span class="br0">&#123;</span> <span class="nu0">11.2</span> <span class="nu0">27.8</span> <span class="nu0">36.0</span> <span class="nu0">49.1</span> <span class="nu0">73.2</span> <span class="nu0">86.3</span> <span class="nu0">88.5</span> <span class="nu0">94.1</span> <span class="nu0">98.2</span> <span class="nu0">99.0</span> <span class="br0">&#125;</span>
<span class="br0">&#123;</span> artest brown bynum farmar fisher gasol kobe odom <span class="br0">&#125;</span></div>
</div>
</pre>
<p>This example illustrates Interfaces, which are a feature unique to Go.  The generic sort function is defined using Len, Less, and Swap sub-functions.  The sort function can then be used by any type that defines Len, Less, Swap, and additionally List methods that are specific to that particular type.  For example, arrays of both floats and strings may be sorted and methods were defined to allow these types to utilize the generic sort function.  The sort function is dynamic because the usage of the sort function determines the type of the data variable.  At the same time, the individual Interfaces are parsed by the compiler, which prevents runtime errors as may occur in Python.  I added String methods to both types.  When Printf is called, it automatically checks to see if a String method is defined for the type and if so, uses it, as demonstrated above.</p>
<p>C, Python, and other languages provide support for concurrent programming in the form of processes and threads.  Go implements this using goroutines.  A goroutine is a Go function or method that executes concurrently in the same address space as other<br />
goroutines.  Any function may be run as a goroutine by simply prefacing it&#8217;s call with &#8220;go&#8221;.  I write a simple example with two goroutines that run at the same time, in the same address space, and receive messages from the main program.</p>
<p><strong>Goroutines Concurrency Example<br />
</strong><a href="/source-code/go/goroutines.go" target="_blank">Download goroutines.go</a><strong></strong></p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="coMULTI">/* This example demonstrates usage of goroutines */</span>

package main

import <span class="br0">&#40;</span>
<span class="st0">&quot;fmt&quot;</span>
<span class="st0">&quot;time&quot;</span>
<span class="br0">&#41;</span>

func handler<span class="br0">&#40;</span>label <span class="kw4">string</span>, mychan chan <span class="kw4">string</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
var message <span class="kw4">string</span>

<span class="kw1">for</span> i := <span class="nu0">0</span>; i &amp;lt; <span class="nu0">10</span>; i++ <span class="br0">&#123;</span>
<span class="coMULTI">/* receive message from channel */</span>
message = &amp;lt;-mychan;
fmt.<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">Printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%s: %s<span class="es0">\n</span>&quot;</span>, label, message<span class="br0">&#41;</span>;
time.<span class="me1">Sleep</span><span class="br0">&#40;</span><span class="nu0">100</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
<span class="br0">&#125;</span>

func main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
<span class="coMULTI">/* allocate a new channel */</span>
msgchan := make<span class="br0">&#40;</span>chan <span class="kw4">string</span><span class="br0">&#41;</span>

<span class="coMULTI">/* concurrent goroutines */</span>
go handler<span class="br0">&#40;</span><span class="st0">&quot;goroutine1&quot;</span>, msgchan<span class="br0">&#41;</span>;
go handler<span class="br0">&#40;</span><span class="st0">&quot;goroutine2&quot;</span>, msgchan<span class="br0">&#41;</span>;

<span class="coMULTI">/* send messages */</span>
msgchan &amp;lt;- <span class="st0">&quot;when&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;in&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;the&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;course&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;of&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;human&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;events&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;it&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;becomes&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;necessary&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;for&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;one&quot;</span>
msgchan &amp;lt;- <span class="st0">&quot;people&quot;</span>

<span class="coMULTI">/* let main sleep */</span>
time.<span class="me1">Sleep</span><span class="br0">&#40;</span><span class="nu0">1000</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span></div>
</div>
</pre>
<p>Running the program:</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">soriano@home:~/go/src$ ./<span class="nu0">8</span>.out
goroutine1: when
goroutine2: <span class="kw1">in</span>
goroutine2: the
goroutine1: course
goroutine1: of
goroutine2: human
goroutine1: events
goroutine2: it
goroutine1: becomes
goroutine2: necessary
goroutine1: <span class="kw1">for</span>
goroutine2: one
goroutine1: people</div>
</div>
</pre>
<p>In this example, a handler function is implemented that accepts a label identifier and a channel as arguments.  A channel is a new Go type that is used to communicate between goroutines.  In this case, we declare &#8220;mychan chan string&#8221; which is a channel of type string called mychan.  This channel is used by the function to receive a message (message = &lt;-mychan) and display it.  In main, a channel named msgchan is allocated and two handler goroutines are declared.  Messages are then sent using the channel.  By default, a send operation on a channel blocks until a receiver is available.  Therefore the first message is sent on the msgchan channel, and main blocks until either goroutine1 or goroutine2 receives it.  In this case, goroutine1 receives and sleeps for 100 nanoseconds.  In the meantime, main sends the next message on the msgchan channel and blocks again until it is received.  In this case, goroutine1 is still sleeping, so goroutine2 receives the second message and then sleeps for 100 nanoseconds.  Main sends the third message and goroutine2 is awake so it receives.  The channel makes it easy to communicate and synchronize between the two processes.  This example is a simple one but it demonstrates the simplicity and power of goroutines.  The Go approach to concurrency is significantly different from C and Python&#8217;s processes and threads and motivate a new way of thinking.  Of course, this is just the beginning.  Goroutines have a lot of potential and this is one of Go&#8217;s unique features that I would definitely like to explore further.</p>
<h2>Thoughts</h2>
<p>At first glance, Go is intriguing.  It includes some new innovative features that other languages such as C and Python lack, such Interfaces and goroutines.  Go code is also clean and quick to compile.  Go was designed with concurrency in mind; goroutines and channels have a lot of potential because pretty much any new computer has multiple cores and its is powerful to be able to take advantage of this parallel processing ability.  However, as with any language, there is a bit of a learning curve and since it Go is new, it lacks the established community and code base of other more established languages.  I did enjoy playing with Go and exploring its possibilities and I may consider using it for my next project.</p>
<h2>More Resources</h2>
<p><a href="http://www.youtube.com/watch?v=wwoWei-GAPo" target="_blank">Go Video Introduction</a></p>
<p><a href="http://golang.org/doc/go_tutorial.html" target="_blank">Official Go Tutorial</a></p>
<pre>Go is the property of Golang.org and used in compliance with the Creative Commons Attribution 3.0 License.
Google is the respective trademark of Google, Inc.</pre>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language&amp;notes=By%20Melissa%20Soriano%0D%0A%0D%0AGo%20is%20Google%27s%20new%20open-source%2C%20compiled%20programming%20language.%C2%A0%20It%27s%20release%20was%20officially%20announced%20in%20November%20of%202009.%C2%A0%C2%A0%20I%20spent%20a%20few%20hours%20getting%20my%20feet%20wet%20with%20Go%20and%20exploring%20how%20it%20compares%20to%20C%20and%20Python.%C2%A0%20Thi" title="del.icio.us"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;t=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language" title="Facebook"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language&amp;annotation=By%20Melissa%20Soriano%0D%0A%0D%0AGo%20is%20Google%27s%20new%20open-source%2C%20compiled%20programming%20language.%C2%A0%20It%27s%20release%20was%20officially%20announced%20in%20November%20of%202009.%C2%A0%C2%A0%20I%20spent%20a%20few%20hours%20getting%20my%20feet%20wet%20with%20Go%20and%20exploring%20how%20it%20compares%20to%20C%20and%20Python.%C2%A0%20Thi" title="Google Bookmarks"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language" title="DZone"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="mailto:?subject=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language&amp;body=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F" title="E-mail this story to a friend!"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.friendfeed.com/share?title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language&amp;link=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F" title="FriendFeed"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;t=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language" title="HackerNews"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language&amp;source=Web+Engineering%2C+Los+Angeles+Web+Engineering%2C+Los+Angeles&amp;summary=By%20Melissa%20Soriano%0D%0A%0D%0AGo%20is%20Google%27s%20new%20open-source%2C%20compiled%20programming%20language.%C2%A0%20It%27s%20release%20was%20officially%20announced%20in%20November%20of%202009.%C2%A0%C2%A0%20I%20spent%20a%20few%20hours%20getting%20my%20feet%20wet%20with%20Go%20and%20exploring%20how%20it%20compares%20to%20C%20and%20Python.%C2%A0%20Thi" title="LinkedIn"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language" title="Reddit"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language" title="StumbleUpon"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home/?status=tip%20@Techmeme%20http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F%20An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language" title="Suggest to Techmeme via Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/techmeme.png" title="Suggest to Techmeme via Twitter" alt="Suggest to Techmeme via Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F" title="Technorati"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home?status=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language%20-%20http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F" title="Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.fsdaily.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language" title="FSDaily"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/fsdaily.png" title="FSDaily" alt="FSDaily" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.thebitsource.com%2Fprogramming-software-development%2Fgoogle-go-programming-introduction%2F&amp;title=An%20Introduction%20to%20Google%27s%20Go%20Programming%20Language&amp;body=By%20Melissa%20Soriano%0D%0A%0D%0AGo%20is%20Google%27s%20new%20open-source%2C%20compiled%20programming%20language.%C2%A0%20It%27s%20release%20was%20officially%20announced%20in%20November%20of%202009.%C2%A0%C2%A0%20I%20spent%20a%20few%20hours%20getting%20my%20feet%20wet%20with%20Go%20and%20exploring%20how%20it%20compares%20to%20C%20and%20Python.%C2%A0%20Thi" title="Ping.fm"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a></li>
</ul>
</div>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.thebitsource.com/programming-software-development/google-go-programming-introduction/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Velocity 2009: Microsoft and Google Eric Schuman and Jake Brutlag on The User and Business Impact of Server Delays</title>
		<link>http://www.thebitsource.com/tech-conferences/microsoft-google-velocity-2009/</link>
		<comments>http://www.thebitsource.com/tech-conferences/microsoft-google-velocity-2009/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 20:12:21 +0000</pubDate>
		<dc:creator>Matthew Sacks</dc:creator>
				<category><![CDATA[Technology Conferences]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[Velocity]]></category>
		<category><![CDATA[Web Performance]]></category>

		<guid isPermaLink="false">http://www.thebitsource.com/?p=976</guid>
		<description><![CDATA[Steve Souders talks about the importance of tracking the latency of live user traffic before introducing Eric Schuman and Jake Brutlag&#8217;s talk on The User and Business Impact of Server Delays, Additional Bytes, and HTTP Chunking in Web Search at Velocity 2009. Steve Souders talks about the importance of tracking the latency of live user [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Steve Souders talks about the importance of tracking the latency of live user traffic before introducing Eric Schuman and Jake Brutlag&#8217;s talk on The User and Business Impact of Server Delays, Additional Bytes, and HTTP Chunking in Web Search at Velocity 2009.</p>
<p><object width="504" height="290" data="http://vimeo.com/moogaloop.swf?clip_id=5310021&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5310021&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /></object></p>
<p>Steve Souders talks about the importance of tracking the latency of live user traffic before introducing Erich Schuman and Jake Brutlag&#8217;s talk on The User and Business Impact of Server Delays, Additional Bytes, and HTTP Chunking in Web Search at Velocity 2009.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays&amp;notes=Steve%20Souders%20talks%20about%20the%20importance%20of%20tracking%20the%20latency%20of%20live%20user%20traffic%20before%20introducing%20Eric%20Schuman%20and%20Jake%20Brutlag%27s%20talk%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays%2C%20Additional%20Bytes%2C%20and%20HTTP%20Chunking%20in%20Web%20Search%20at%20Veloc" title="del.icio.us"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;t=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays" title="Facebook"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays&amp;annotation=Steve%20Souders%20talks%20about%20the%20importance%20of%20tracking%20the%20latency%20of%20live%20user%20traffic%20before%20introducing%20Eric%20Schuman%20and%20Jake%20Brutlag%27s%20talk%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays%2C%20Additional%20Bytes%2C%20and%20HTTP%20Chunking%20in%20Web%20Search%20at%20Veloc" title="Google Bookmarks"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays" title="DZone"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="mailto:?subject=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays&amp;body=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F" title="E-mail this story to a friend!"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.friendfeed.com/share?title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays&amp;link=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F" title="FriendFeed"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;t=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays" title="HackerNews"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays&amp;source=Web+Engineering%2C+Los+Angeles+Web+Engineering%2C+Los+Angeles&amp;summary=Steve%20Souders%20talks%20about%20the%20importance%20of%20tracking%20the%20latency%20of%20live%20user%20traffic%20before%20introducing%20Eric%20Schuman%20and%20Jake%20Brutlag%27s%20talk%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays%2C%20Additional%20Bytes%2C%20and%20HTTP%20Chunking%20in%20Web%20Search%20at%20Veloc" title="LinkedIn"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays" title="Reddit"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays" title="StumbleUpon"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home/?status=tip%20@Techmeme%20http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F%20Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays" title="Suggest to Techmeme via Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/techmeme.png" title="Suggest to Techmeme via Twitter" alt="Suggest to Techmeme via Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F" title="Technorati"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home?status=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays%20-%20http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F" title="Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.fsdaily.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays" title="FSDaily"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/fsdaily.png" title="FSDaily" alt="FSDaily" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.thebitsource.com%2Ftech-conferences%2Fmicrosoft-google-velocity-2009%2F&amp;title=Velocity%202009%3A%20Microsoft%20and%20Google%20Eric%20Schuman%20and%20Jake%20Brutlag%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays&amp;body=Steve%20Souders%20talks%20about%20the%20importance%20of%20tracking%20the%20latency%20of%20live%20user%20traffic%20before%20introducing%20Eric%20Schuman%20and%20Jake%20Brutlag%27s%20talk%20on%20The%20User%20and%20Business%20Impact%20of%20Server%20Delays%2C%20Additional%20Bytes%2C%20and%20HTTP%20Chunking%20in%20Web%20Search%20at%20Veloc" title="Ping.fm"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a></li>
</ul>
</div>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.thebitsource.com/tech-conferences/microsoft-google-velocity-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Call for Standards in Cloud Computing</title>
		<link>http://www.thebitsource.com/technews/cloud-computing-standards/</link>
		<comments>http://www.thebitsource.com/technews/cloud-computing-standards/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 05:52:45 +0000</pubDate>
		<dc:creator>Matthew Sacks</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IEEE]]></category>
		<category><![CDATA[ISO]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://matthewsacks.com/techblog/?p=110</guid>
		<description><![CDATA[Recently, cloud computing has become a buzzword sort of phenomenon with many large vendors such as IBM, Amazon, Google, and Yahoo all touting that computing is going to the cloud. While doing a bit of research myself on cloud computing providers, I found that there is a lack of standards in terms of how cloud [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Recently, cloud computing has become a buzzword sort of phenomenon with many large vendors such as IBM, Amazon, Google, and Yahoo all touting that computing is going to the cloud. While doing a bit of research myself on cloud computing providers, I found that there is a lack of standards in terms of how cloud computing should be performed and what is a cloud. When any new technology emerges, it is important that the computing community start to formulate standards and best practices to adhere to so that the variances in implementations of cloud computing technologies are not so completely different that a new technology does not become completely convoluted and difficult to implement. Many commercial providers are jumping on the cloud computing bandwagon by offering their own platforms that may or may not necessarily adhere to the original vision of what cloud computing is supposed to be. Each commercial cloud platform vendor has their own flavor of what they claim is a cloud computing platform, even those resembling more of a grid computing implementation than a true cloud computing platform. This is to be expected to a certain extent, but there needs to be some common ground or forum where certain basic standards and best practices and be laid down for the computing community to be guided by so that cloud computing is not constantly re-defined.</p>
<p>Who would be most qualified to lay down the ground rules and standards for cloud computing? Would it be IEEE, ISO, W3C, or would it be a more consortium-based board consisting of the major cloud computing players such as Google, IBM, Amazon, and some of the smaller commercial providers and academic institutions?</p>
<p>Regardless of who implements such a standardizations body and board, it is imperative that such cooperation between the cloud computing community be established early on to foster efficient and healthy growth that will likely benefit the computing and technology community overall.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;title=A%20Call%20for%20Standards%20in%20Cloud%20Computing&amp;notes=Recently%2C%20cloud%20computing%20has%20become%20a%20buzzword%20sort%20of%20phenomenon%20with%20many%20large%20vendors%20such%20as%20IBM%2C%20Amazon%2C%20Google%2C%20and%20Yahoo%20all%20touting%20that%20computing%20is%20going%20to%20the%20cloud.%20While%20doing%20a%20bit%20of%20research%20myself%20on%20cloud%20computing%20providers%2C%20I%20f" title="del.icio.us"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;t=A%20Call%20for%20Standards%20in%20Cloud%20Computing" title="Facebook"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;title=A%20Call%20for%20Standards%20in%20Cloud%20Computing&amp;annotation=Recently%2C%20cloud%20computing%20has%20become%20a%20buzzword%20sort%20of%20phenomenon%20with%20many%20large%20vendors%20such%20as%20IBM%2C%20Amazon%2C%20Google%2C%20and%20Yahoo%20all%20touting%20that%20computing%20is%20going%20to%20the%20cloud.%20While%20doing%20a%20bit%20of%20research%20myself%20on%20cloud%20computing%20providers%2C%20I%20f" title="Google Bookmarks"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;title=A%20Call%20for%20Standards%20in%20Cloud%20Computing" title="DZone"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="mailto:?subject=A%20Call%20for%20Standards%20in%20Cloud%20Computing&amp;body=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F" title="E-mail this story to a friend!"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.friendfeed.com/share?title=A%20Call%20for%20Standards%20in%20Cloud%20Computing&amp;link=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F" title="FriendFeed"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;t=A%20Call%20for%20Standards%20in%20Cloud%20Computing" title="HackerNews"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;title=A%20Call%20for%20Standards%20in%20Cloud%20Computing&amp;source=Web+Engineering%2C+Los+Angeles+Web+Engineering%2C+Los+Angeles&amp;summary=Recently%2C%20cloud%20computing%20has%20become%20a%20buzzword%20sort%20of%20phenomenon%20with%20many%20large%20vendors%20such%20as%20IBM%2C%20Amazon%2C%20Google%2C%20and%20Yahoo%20all%20touting%20that%20computing%20is%20going%20to%20the%20cloud.%20While%20doing%20a%20bit%20of%20research%20myself%20on%20cloud%20computing%20providers%2C%20I%20f" title="LinkedIn"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;title=A%20Call%20for%20Standards%20in%20Cloud%20Computing" title="Reddit"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;title=A%20Call%20for%20Standards%20in%20Cloud%20Computing" title="StumbleUpon"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home/?status=tip%20@Techmeme%20http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F%20A%20Call%20for%20Standards%20in%20Cloud%20Computing" title="Suggest to Techmeme via Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/techmeme.png" title="Suggest to Techmeme via Twitter" alt="Suggest to Techmeme via Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F" title="Technorati"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://twitter.com/home?status=A%20Call%20for%20Standards%20in%20Cloud%20Computing%20-%20http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F" title="Twitter"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" target="_blank" href="http://www.fsdaily.com/submit?url=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;title=A%20Call%20for%20Standards%20in%20Cloud%20Computing" title="FSDaily"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/fsdaily.png" title="FSDaily" alt="FSDaily" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.thebitsource.com%2Ftechnews%2Fcloud-computing-standards%2F&amp;title=A%20Call%20for%20Standards%20in%20Cloud%20Computing&amp;body=Recently%2C%20cloud%20computing%20has%20become%20a%20buzzword%20sort%20of%20phenomenon%20with%20many%20large%20vendors%20such%20as%20IBM%2C%20Amazon%2C%20Google%2C%20and%20Yahoo%20all%20touting%20that%20computing%20is%20going%20to%20the%20cloud.%20While%20doing%20a%20bit%20of%20research%20myself%20on%20cloud%20computing%20providers%2C%20I%20f" title="Ping.fm"><img onError="javascript: wp_404_images_fix = window.wp_404_images_fix || function(){}; wp_404_images_fix(this);"  src="http://www.thebitsource.com/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a></li>
</ul>
</div>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.thebitsource.com/technews/cloud-computing-standards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
