<?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>Yousef Ourabi &#187; Cloud Computing</title>
	<atom:link href="http://yousefourabi.com/blog/category/cloud-computing/feed/" rel="self" type="application/rss+xml" />
	<link>http://yousefourabi.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 26 Apr 2010 03:07:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mongo Distributed Consistency</title>
		<link>http://yousefourabi.com/blog/2010/04/mongo-distributed-consistency/</link>
		<comments>http://yousefourabi.com/blog/2010/04/mongo-distributed-consistency/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 01:52:09 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/blog/?p=202</guid>
		<description><![CDATA[I came across these two links on Distributed Consistency on the MongoDB wiki. Both articles are good reads and do a good job comparing the consistency model of MongoDB to other systems such as CouchDB and Cassandra.
On Distributed Consistency Part 1
On Distributed Consistency Part 2




	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>I came across these two links on <a href="http://blog.mongodb.org/post/475279604/on-distributed-consistency-part-1">Distributed</a> <a href="http://blog.mongodb.org/post/498145601/on-distributed-consistency-part-2-some-eventual">Consistency</a> on the MongoDB wiki. Both articles are good reads and do a good job comparing the consistency model of MongoDB to other systems such as CouchDB and Cassandra.</p>
<p><a href="http://blog.mongodb.org/post/475279604/on-distributed-consistency-part-1">On Distributed Consistency Part 1</a></p>
<p><a href="http://blog.mongodb.org/post/498145601/on-distributed-consistency-part-2-some-eventual">On Distributed Consistency Part 2</a></p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F04%2Fmongo-distributed-consistency%2F&amp;title=Mongo%20Distributed%20Consistency&amp;bodytext=I%20came%20across%20these%20two%20links%20on%20Distributed%20Consistency%20on%20the%20MongoDB%20wiki.%20Both%20articles%20are%20good%20reads%20and%20do%20a%20good%20job%20comparing%20the%20consistency%20model%20of%20MongoDB%20to%20other%20systems%20such%20as%20CouchDB%20and%20Cassandra.%0D%0A%0D%0AOn%20Distributed%20Consistency%20Part" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F04%2Fmongo-distributed-consistency%2F&amp;title=Mongo%20Distributed%20Consistency&amp;notes=I%20came%20across%20these%20two%20links%20on%20Distributed%20Consistency%20on%20the%20MongoDB%20wiki.%20Both%20articles%20are%20good%20reads%20and%20do%20a%20good%20job%20comparing%20the%20consistency%20model%20of%20MongoDB%20to%20other%20systems%20such%20as%20CouchDB%20and%20Cassandra.%0D%0A%0D%0AOn%20Distributed%20Consistency%20Part" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F04%2Fmongo-distributed-consistency%2F&amp;title=Mongo%20Distributed%20Consistency" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F04%2Fmongo-distributed-consistency%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F04%2Fmongo-distributed-consistency%2F&amp;title=Mongo%20Distributed%20Consistency" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2010/04/mongo-distributed-consistency/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Confusion</title>
		<link>http://yousefourabi.com/blog/2010/03/cloud-confusion/</link>
		<comments>http://yousefourabi.com/blog/2010/03/cloud-confusion/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 06:17:12 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/blog/?p=192</guid>
		<description><![CDATA[I read this article on Cloud Hosting today and some things I read really bothered me. I haven&#8217;t actually browsed technorati in a long time (maybe 2006?) and things seem to have changed dramatically. Technorati is now hosting content (blog postings). Maybe I was aware of this at point but forgot about it&#8230; but I [...]]]></description>
			<content:encoded><![CDATA[<p>I read this <a href="http://technorati.com/technology/it/article/cloud-hosting-some-frequently-asked-questions/">article</a> on Cloud Hosting today and some things I read really bothered me. I haven&#8217;t actually browsed technorati in a long time (maybe 2006?) and things seem to have changed dramatically. Technorati is now hosting content (blog postings). Maybe I was aware of this at point but forgot about it&#8230; but I digress.</p>
<p>To start off the author mentions three companies as examples of &#8220;cloud hosting&#8221;: Amazon, GoGrid and  CrackerHost.  Cracker who? Yea that was my reaction. I happend to scroll down and saw the authors bio&#8230; You guessed it &#8211; Rudhir is the founder of CrackerHost. The over aggresive, and frankly out of context promotion of his service is already off-putting.</p>
<p>In the opening sections of the article Rudhir states the following definition of cloud computing: &#8220;Cloud hosting has been broadly defined as an on-demand, pay-as-you-go, high-availability service. &#8230; In simple words, cloud hosting allows you to use a web server for an hour, pay for an hour and be done with it&#8221;. A quick glance at the CrackerHost billing reveals monthly, and not hourly pricing.</p>
<p>Rudhir then continues to use an interesting definition of VPS  in a comparison of &#8220;cloud computing&#8221; and VPS providers. According to him provisioning a VPS instance is manual, and not on-demand/realtime, and does not afford the ability to resize instances. So&#8230; where do Rackspace Cloud, Slicehost and Linode fit into this picture? And how do they differ from Amazon&#8230; I&#8217;m pretty sure SliceHost and Linode self identify as VPS providers. Though other VPS providers like <a href="http://arpnetworks.com">arpnetworks</a> and <a href="http://prgmr.com/xen/">prgmr</a> are closer do his definition of a &#8220;VPS&#8221; provider.</p>
<p>And finally in his last sentance he says:</p>
<ol>
<blockquote>
<li>You should. One. In case of a disaster, a cloud hosting-based provider will be able to recover sooner. This means that your web site will have a lower downtime.</li>
<li>Cloud hosting will allow your web hosting provider to ensure that backup recovery is fail-safe. So, this will mean better data protection for you.</li>
</blockquote>
</ol>
<p>Oh boy &#8211; where do I start. Perhaps he hasn&#8217;t had time to read the post-mortem of the recent GAE outages, or is forgetting about the various AWS outages. At best, and only in advanced setups (like GAE) will there be any cross data-center failover, and being a &#8220;cloud&#8221; provider has nothing to do with this. What facts or evidence support these claims? None as far as I can tell.</p>
<p>If you are interested read the <a href="http://technorati.com/technology/it/article/cloud-hosting-some-frequently-asked-questions/">article here</a></p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F03%2Fcloud-confusion%2F&amp;title=Cloud%20Confusion&amp;bodytext=I%20read%20this%20article%20on%20Cloud%20Hosting%20today%20and%20some%20things%20I%20read%20really%20bothered%20me.%20I%20haven%27t%20actually%20browsed%20technorati%20in%20a%20long%20time%20%28maybe%202006%3F%29%20and%20things%20seem%20to%20have%20changed%20dramatically.%20Technorati%20is%20now%20hosting%20content%20%28blog%20postings%29.%20" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F03%2Fcloud-confusion%2F&amp;title=Cloud%20Confusion&amp;notes=I%20read%20this%20article%20on%20Cloud%20Hosting%20today%20and%20some%20things%20I%20read%20really%20bothered%20me.%20I%20haven%27t%20actually%20browsed%20technorati%20in%20a%20long%20time%20%28maybe%202006%3F%29%20and%20things%20seem%20to%20have%20changed%20dramatically.%20Technorati%20is%20now%20hosting%20content%20%28blog%20postings%29.%20" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F03%2Fcloud-confusion%2F&amp;title=Cloud%20Confusion" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F03%2Fcloud-confusion%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2010%2F03%2Fcloud-confusion%2F&amp;title=Cloud%20Confusion" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2010/03/cloud-confusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon EBS SAN for the cloud</title>
		<link>http://yousefourabi.com/blog/2008/08/amazon-ebs-san-for-the-cloud/</link>
		<comments>http://yousefourabi.com/blog/2008/08/amazon-ebs-san-for-the-cloud/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 14:20:25 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=174</guid>
		<description><![CDATA[Amazon has just released their latest addition to the cloud offerings: EBS or &#8220;Elastic Block Store&#8221;. The pricing looks very reasonable at 10 cents per Gigabyte, and 10 cents for every millionth I/O operation. It also comes with some juicy features like the ability to create a snapshot to S3 at any point in time, [...]]]></description>
			<content:encoded><![CDATA[<p>Amazon has just released their latest addition to the cloud offerings: EBS or &#8220;Elastic Block Store&#8221;. The pricing looks very reasonable at 10 cents per Gigabyte, and 10 cents for every millionth I/O operation. It also comes with some juicy features like the ability to create a snapshot to S3 at any point in time, and then create another EBS volume from that snapshot.</p>
<p>The SAN like storage mounts are (only) available in a given &#8220;Availability Zone&#8221;. Nothing specific is mentioned about distributed file systems like GFS, so that is something I&#8217;ll be looking into ASAP. Like a regular volume you can create several EBS volumes and do your own software raid on top of that.</p>
<p>There are also some interesting scenarios around the snapshot facility such as having one &#8220;master&#8221; EBS volume in the designated &#8220;write&#8221; availability and replicating out to several &#8220;slave&#8221; availability zones in geographically disparate regions.</p>
<p>Performance seems inline with high end RAID arrays:</p>
<p>To recap:</p>
<p>Price: $0.1 per GB<br />
Performance:<br />
Features: Reliability, Snapshots, Traditional Posix filesystem</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F08%2Famazon-ebs-san-for-the-cloud%2F&amp;title=Amazon%20EBS%20SAN%20for%20the%20cloud&amp;bodytext=Amazon%20has%20just%20released%20their%20latest%20addition%20to%20the%20cloud%20offerings%3A%20EBS%20or%20%22Elastic%20Block%20Store%22.%20The%20pricing%20looks%20very%20reasonable%20at%2010%20cents%20per%20Gigabyte%2C%20and%2010%20cents%20for%20every%20millionth%20I%2FO%20operation.%20It%20also%20comes%20with%20some%20juicy%20features%20li" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F08%2Famazon-ebs-san-for-the-cloud%2F&amp;title=Amazon%20EBS%20SAN%20for%20the%20cloud&amp;notes=Amazon%20has%20just%20released%20their%20latest%20addition%20to%20the%20cloud%20offerings%3A%20EBS%20or%20%22Elastic%20Block%20Store%22.%20The%20pricing%20looks%20very%20reasonable%20at%2010%20cents%20per%20Gigabyte%2C%20and%2010%20cents%20for%20every%20millionth%20I%2FO%20operation.%20It%20also%20comes%20with%20some%20juicy%20features%20li" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F08%2Famazon-ebs-san-for-the-cloud%2F&amp;title=Amazon%20EBS%20SAN%20for%20the%20cloud" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F08%2Famazon-ebs-san-for-the-cloud%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F08%2Famazon-ebs-san-for-the-cloud%2F&amp;title=Amazon%20EBS%20SAN%20for%20the%20cloud" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/08/amazon-ebs-san-for-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manage AWS with Jollat</title>
		<link>http://yousefourabi.com/blog/2008/07/manage-aws-with-jollat/</link>
		<comments>http://yousefourabi.com/blog/2008/07/manage-aws-with-jollat/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 02:41:54 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=164</guid>
		<description><![CDATA[Jollat is a cross platform too (Windows, Mac, OS X) to manage Amazon&#8217;s EC2 and S3 services. There is a video demonstrating the tool on youtube
The S3 manage allows you to create US or EU buckets and drag and drop stuff from your desktop. The EC2 component comes with an AMI browser and built in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://web.jollat.com/index.html">Jollat</a> is a cross platform too (Windows, Mac, OS X) to manage Amazon&#8217;s EC2 and S3 services. There is a video demonstrating the tool on <a href="http://www.youtube.com/watch?v=aJsw_4pYoZE ">youtube</a></p>
<p>The S3 manage allows you to create US or EU buckets and drag and drop stuff from your desktop. The EC2 component comes with an AMI browser and built in SSH client.</p>
<p><a href="http://yousefourabi.com/wp-content/uploads/2008/07/jollat-credentials.png"><img class="alignnone size-medium wp-image-165" title="jollat-credentials" src="http://yousefourabi.com/wp-content/uploads/2008/07/jollat-credentials-300x195.png" alt="Jollat Credentials" width="300" height="195" /></a></p>
<p>Immediately I found a few bugs. The S3 component was&#8217;t displaying any buckets (that I knew I had) and instead displayed and error &#8220;Invalid Argument&#8221;. So I guessed that perhaps my credentials had a space in them so I deleted the account and created a new one. However after entered the Access and Secret key, it now says &#8220;License invalid&#8221;.</p>
<p>I hope I can figure out the &#8220;License invalid&#8221; issue so I can actually try the product.</p>
<p><a href="http://web.jollat.com/index.html">Jollat</a> is a free <a title="Jollat Download Link" href="http://web.jollat.com/download.html">download</a>, but only for 30 days.</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F07%2Fmanage-aws-with-jollat%2F&amp;title=Manage%20AWS%20with%20Jollat&amp;bodytext=Jollat%20is%20a%20cross%20platform%20too%20%28Windows%2C%20Mac%2C%20OS%20X%29%20to%20manage%20Amazon%27s%20EC2%20and%20S3%20services.%20There%20is%20a%20video%20demonstrating%20the%20tool%20on%20youtube%0D%0A%0D%0AThe%20S3%20manage%20allows%20you%20to%20create%20US%20or%20EU%20buckets%20and%20drag%20and%20drop%20stuff%20from%20your%20desktop.%20The%20EC2%20c" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F07%2Fmanage-aws-with-jollat%2F&amp;title=Manage%20AWS%20with%20Jollat&amp;notes=Jollat%20is%20a%20cross%20platform%20too%20%28Windows%2C%20Mac%2C%20OS%20X%29%20to%20manage%20Amazon%27s%20EC2%20and%20S3%20services.%20There%20is%20a%20video%20demonstrating%20the%20tool%20on%20youtube%0D%0A%0D%0AThe%20S3%20manage%20allows%20you%20to%20create%20US%20or%20EU%20buckets%20and%20drag%20and%20drop%20stuff%20from%20your%20desktop.%20The%20EC2%20c" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F07%2Fmanage-aws-with-jollat%2F&amp;title=Manage%20AWS%20with%20Jollat" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F07%2Fmanage-aws-with-jollat%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F07%2Fmanage-aws-with-jollat%2F&amp;title=Manage%20AWS%20with%20Jollat" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/07/manage-aws-with-jollat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine Best Practices</title>
		<link>http://yousefourabi.com/blog/2008/05/google-app-engine-best-practices/</link>
		<comments>http://yousefourabi.com/blog/2008/05/google-app-engine-best-practices/#comments</comments>
		<pubDate>Thu, 29 May 2008 18:26:37 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=146</guid>
		<description><![CDATA[I&#8217;m following the &#8220;Best Practices &#8211; Building a Production Quality Application on Google App Engine&#8221; session at Google IO. Ken Ashcraft is giving this presentation.
movie = Movie()
movie.title = self.request.get(&#8216;title&#8217;, None)
movie.director = self.request.get(&#8216;director&#8217;, None)
movie.put()
Possible Errors:
Out of Memory
Deadline Exceeded
OverQuotaError
Server Crash
DataStore Crash
Indentical Entity Already Exists
Use logging module: logging.error, logging.debug &#8212; which shows up in Admin Console
This is called [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m following the &#8220;Best Practices &#8211; Building a Production Quality Application on Google App Engine&#8221; session at Google IO. Ken Ashcraft is giving this presentation.</p>
<blockquote><p>movie = Movie()<br />
movie.title = self.request.get(&#8216;title&#8217;, None)<br />
movie.director = self.request.get(&#8216;director&#8217;, None)<br />
movie.put()</p></blockquote>
<p><strong>Possible Errors</strong>:<br />
Out of Memory<br />
Deadline Exceeded<br />
OverQuotaError<br />
Server Crash<br />
DataStore Crash<br />
Indentical Entity Already Exists</p>
<p>Use logging module: logging.error, logging.debug &#8212; which shows up in Admin Console</p>
<p>This is called whenever the Request Handler encounters an exception</p>
<p>Email upon exception:<br />
  def handle_exception(self, exception, debug_mode):<br />
    lines = &#8220;.join(traceback.format_exception(*sys.exc.info()))<br />
    logging.error(lines)<br />
    mail.send_mail_to_admins(sender=&#8217;myapp-noreply@gmail.com&#8217;, subject=&#8217;Caught Exceptoin&#8217;, body=lines)<br />
    template_values = {}<br />
    if users.is_current_user_admin():<br />
      template_values = lines (FIX LATER)<br />
      self.response.out.write(template.render(&#8216;error.html&#8217;, template_values))</p>
<p>Python Profiler</p>
<blockquote><p>def profile_main():<br />
  logging.info(&#8220;Profiler data: %s, profile_data)<br />
  if random.randint(0,100) == 4:<br />
    profile_main()<br />
  else:<br />
    non_profile_main()</p></blockquote>
<p><strong>Load Tests</strong><br />
Reveal which part of webapp are slow, which resources are scare (CPU, Bandwidth, etc)</p>
<p>Remember, the dev_appserver is not designed for performance</p>
<p>Performance has been optimized for organic load increases (whatever that means) versus synthetic benchmarks.</p>
<p>Under load the App Engine front end will create extra python interpreters, and keeps the recently spawned interpreters warm.  Talking about load test characteristics , ramp up slowly, and test sustained load over many minutes (10, 15) vs 1min.</p>
<p>Httperf is being recomened as good tool for driving http requests.</p>
<p>Talking about realistic values<br />
50,000 users per day<br />
2 page views per user<br />
100,000 pageviews per day<br />
5 requests per page view<br />
500,000 requests per day</p>
<p>Leads to 5.8 requests per second</p>
<p>Qualities of good load test<br />
Use production system, not dev_appserver<br />
Gradual ramp up to allow BigTable warm up<br />
Sustained Load, so any hiccups will be averaged out<br />
Realistic Load</p>
<p><strong>Safe Deployment</strong><br />
Upload code and don&#8217;t worry about pushing bug live to users &#8212; Versions  &#8212;  On every upload App Engine increments revision and points to latest revision &#8212; However, you can have multiple versions running in parallel (0.1, 0.2) can be accessed via http://2.1.appname.appspot.com &#8212; However, both will point to same BigTable data-store</p>
<p>http://<major>.<minor>.<app>.appspot.com</p>
<p>You control the version via app.yaml &#8212; Suggestion: Create a build script to populate version from SCM revision number</p>
<p>Test deployment with Selenium, use the log viewer to look for errors</p>
<p><strong>Feature requests</strong>:<br />
Easy A/B testing<br />
Integration with SVN<br />
Edit Running Code (Google not really in favor of this)</p>
<p><strong>Summary:</strong><br />
Write Code to handle errors, use logging and catch exceptions<br />
Do realistic load tests<br />
Use versions for safe deployment</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-best-practices%2F&amp;title=Google%20App%20Engine%20Best%20Practices&amp;bodytext=I%27m%20following%20the%20%22Best%20Practices%20-%20Building%20a%20Production%20Quality%20Application%20on%20Google%20App%20Engine%22%20session%20at%20Google%20IO.%20Ken%20Ashcraft%20is%20giving%20this%20presentation.%0D%0A%0D%0Amovie%20%3D%20Movie%28%29%0D%0Amovie.title%20%3D%20self.request.get%28%27title%27%2C%20None%29%0D%0Amovie.director%20%3D%20se" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-best-practices%2F&amp;title=Google%20App%20Engine%20Best%20Practices&amp;notes=I%27m%20following%20the%20%22Best%20Practices%20-%20Building%20a%20Production%20Quality%20Application%20on%20Google%20App%20Engine%22%20session%20at%20Google%20IO.%20Ken%20Ashcraft%20is%20giving%20this%20presentation.%0D%0A%0D%0Amovie%20%3D%20Movie%28%29%0D%0Amovie.title%20%3D%20self.request.get%28%27title%27%2C%20None%29%0D%0Amovie.director%20%3D%20se" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-best-practices%2F&amp;title=Google%20App%20Engine%20Best%20Practices" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-best-practices%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-best-practices%2F&amp;title=Google%20App%20Engine%20Best%20Practices" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/google-app-engine-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canonical Redirects with Google App Engine</title>
		<link>http://yousefourabi.com/blog/2008/05/canonical-redirects-with-google-app-engine/</link>
		<comments>http://yousefourabi.com/blog/2008/05/canonical-redirects-with-google-app-engine/#comments</comments>
		<pubDate>Tue, 27 May 2008 02:22:29 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=143</guid>
		<description><![CDATA[It is currently possible to associate multiple URLs with your App Engine instance. However, the administration interface doesn&#8217;t permit configuring any redirects. 
However, the Administration interface doesn&#8217;t allow you to configure any redirects, which could lead to major search engines associating your domains with duplicate content.
I&#8217;m going to cover how I enabled canonical redirects in [...]]]></description>
			<content:encoded><![CDATA[<p>It is currently possible to associate multiple URLs with your App Engine instance. However, the administration interface doesn&#8217;t permit configuring any redirects. </p>
<p>However, the Administration interface doesn&#8217;t allow you to configure any redirects, which could lead to major search engines associating your domains with duplicate content.</p>
<p>I&#8217;m going to cover how I enabled canonical redirects in Google App Engine as I would have normally done with Apache and mod_rewrite. </p>
<p>This will allow you to redirect the www sub-domain to the non-www domain, or the non-www domain to the www sub-domain &#8212; whichever one you&#8217;ve standardized on. </p>
<p>I solved this by creating two application instances, and then calling <i>wsgiref.handlers.CGIHandler().run(application)</i> on one or the other if the request came in for a domain that contained www or not.</p>
<p>The WSGIApplication method takes two parameters and returns an application instance. The first a list of regular expressions and the Request Handlers they map to, and the second a boolean to set the debug status to on or off. I&#8217;m going to exploit this and create one application instance that maps everything to a redirect request handler, and the other &#8220;production&#8221; application instance which contains the various production mappings such as &#8220;/&#8221;, and &#8220;/about&#8221;&#8230;etc</p>
<p>In your main.py, the main() method should contain the following. First import required modules, then pluck out the host name from the environment, then do a simple regex on it.</p>
<pre>
import os
import re
host_name = os.environ['HTTP_HOST']
m = re.match('www', hostname)
if m:
  application = webapp.WSGIApplication(
                         [('(.*)', CanonicalRedirectHandler),],
                           False)
else:
  application = webapp.WSGIApplication(_PRODUCTION_URLS, False)

wsgiref.handlers.CGIHandler().run(application)
</pre>
<p>The redirect method (webapp.RequestHandler.redirect() ) takes two parameters, the URI to redirect to, and a boolean to indicate whether or not the redirect is permanent (HTTP 301) or temporary (HTTP 302).</p>
<pre>
class CanonicalRedirectHandler(webapp.RequestHandler):
  def get(self,path):
    self.redirect("http://yourdomain.com%s" % (path), True)
</pre>
<p>That&#8217;s that. A fairly workable solution. Something is nagging at me, and I wonder if there is a more elegant solution to this within the App Engine framework. If so please let me know in the comments section.</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcanonical-redirects-with-google-app-engine%2F&amp;title=Canonical%20Redirects%20with%20Google%20App%20Engine&amp;bodytext=It%20is%20currently%20possible%20to%20associate%20multiple%20URLs%20with%20your%20App%20Engine%20instance.%20However%2C%20the%20administration%20interface%20doesn%27t%20permit%20configuring%20any%20redirects.%20%0D%0A%0D%0AHowever%2C%20the%20Administration%20interface%20doesn%27t%20allow%20you%20to%20configure%20any%20redirects%2C" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcanonical-redirects-with-google-app-engine%2F&amp;title=Canonical%20Redirects%20with%20Google%20App%20Engine&amp;notes=It%20is%20currently%20possible%20to%20associate%20multiple%20URLs%20with%20your%20App%20Engine%20instance.%20However%2C%20the%20administration%20interface%20doesn%27t%20permit%20configuring%20any%20redirects.%20%0D%0A%0D%0AHowever%2C%20the%20Administration%20interface%20doesn%27t%20allow%20you%20to%20configure%20any%20redirects%2C" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcanonical-redirects-with-google-app-engine%2F&amp;title=Canonical%20Redirects%20with%20Google%20App%20Engine" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcanonical-redirects-with-google-app-engine%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcanonical-redirects-with-google-app-engine%2F&amp;title=Canonical%20Redirects%20with%20Google%20App%20Engine" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/canonical-redirects-with-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Heroku and App Engine, why Dalvik VM will come to the web</title>
		<link>http://yousefourabi.com/blog/2008/05/heroku-and-app-engine-why-dalvik-vm-will-come-to-the-web/</link>
		<comments>http://yousefourabi.com/blog/2008/05/heroku-and-app-engine-why-dalvik-vm-will-come-to-the-web/#comments</comments>
		<pubDate>Sun, 25 May 2008 16:33:22 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=142</guid>
		<description><![CDATA[Josh Nichols wrote a article describing his experiences playing with Heroku and this got me thinking about Heroku vs App Engine &#8212; I had mentioned in my April 8th post (&#8220;App Engine and Django For the Win&#8220;) that it would be interested to see how the competitors played out (Heroku, AWS vs App Engine)
It will [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://technicalpickles.com/about">Josh Nichols</a> wrote a article describing his experiences <a href="http://technicalpickles.com/posts/playing-with-heroku">playing with Heroku</a> and this got me thinking about <a href="http://heroku.com/">Heroku </a>vs App Engine &#8212; I had mentioned in my April 8th post (&#8220;<a href="http://yousefourabi.com/virtualization/google-app-engine-django-ftw">App Engine and Django For the Win</a>&#8220;) that it would be interested to see how the competitors played out (Heroku, AWS vs App Engine)</p>
<blockquote><p>It will be interesting to see how this plays out  on one hand you have <a title="heroku" href="http://heroku.com/">heroku</a> the all in one IDE/Enviroment for Ruby On Rails that is backed by Amazon AWS and auto-deploys for you (to the Amazon cloud) and on the other hand you have Python, Django and Google App engine with a similar but different model.</p></blockquote>
<p>Revisiting this thought process I think <a href="http://heroku.com/">Heroku </a>is probably in a rather <strong>secure position</strong>. The App engine team has mentioned numerous times that they will support multiple languages. In fact the App Engine configuration file (app.yaml) already contains a runtime directive which currently can only be set to &#8220;python&#8221;. </p>
<blockquote><p>runtime: python</p></blockquote>
<p>However, in my opinion it is highly unlikely that Ruby will be supported in the near term future, giving Heroku enough of a first mover advantage.</p>
<p>There have been some rumors that the next language implementation will be Java: (<a href="http://blog.symbiont.net/2008/05/java-next-app-engine-language.html">Java the Next App Engine Language</a>). This makes a fair amount of sense. As the author notes Google permits only a select group of programming languages: C++, Java, Python, and JavaScript.There is also another reason that Java might be the next App Engine Language: <a href="http://en.wikipedia.org/wiki/Dalvik_virtual_machine">The Dalvik VM</a>. </p>
<p>Google has <a href="http://en.wikipedia.org/wiki/Guido_van_Rossum">Guido van Rossum</a> to help with the customization of the Python interpreter/Environment for App Engine, and Google has the Dalvik VM team for a custom Java VM for App Engine code, probably a  slightly modified version of the Dalvik VM used in <a href="http://code.google.com/android/">Google Andriod</a>.</p>
<p>Heroku is also part IDE (web based). There is a difference in providing a hosting solution and developer tools. Google has never really expressed any serious interest in developer tools.</p>
<p>The analog here is AWS to Heroku is Google to App Engine (except that App Engine is obviously a  Google team).</p>
<p>I think the only front Heroku and App Engine will compete on is developer mind share. This isn&#8217;t to say Heroku is safe, after all Google can drop serious money on developer programs like the <a href="http://code.google.com/events/io/">I/O conference</a>. However, I just don&#8217;t think App Engine will implement Rails and defeat the purpose of Heroku (any time soon at least).</p>
<p>However, Heroku is well positioned to disrupt <a href="http://www.engineyard.com/">Engine Yard</a> &#8212; and I hope they do. </p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fheroku-and-app-engine-why-dalvik-vm-will-come-to-the-web%2F&amp;title=Heroku%20and%20App%20Engine%2C%20why%20Dalvik%20VM%20will%20come%20to%20the%20web&amp;bodytext=Josh%20Nichols%20wrote%20a%20article%20describing%20his%20experiences%20playing%20with%20Heroku%20and%20this%20got%20me%20thinking%20about%20Heroku%20vs%20App%20Engine%20--%20I%20had%20mentioned%20in%20my%20April%208th%20post%20%28%22App%20Engine%20and%20Django%20For%20the%20Win%22%29%20that%20it%20would%20be%20interested%20to%20see%20how%20the%20c" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fheroku-and-app-engine-why-dalvik-vm-will-come-to-the-web%2F&amp;title=Heroku%20and%20App%20Engine%2C%20why%20Dalvik%20VM%20will%20come%20to%20the%20web&amp;notes=Josh%20Nichols%20wrote%20a%20article%20describing%20his%20experiences%20playing%20with%20Heroku%20and%20this%20got%20me%20thinking%20about%20Heroku%20vs%20App%20Engine%20--%20I%20had%20mentioned%20in%20my%20April%208th%20post%20%28%22App%20Engine%20and%20Django%20For%20the%20Win%22%29%20that%20it%20would%20be%20interested%20to%20see%20how%20the%20c" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fheroku-and-app-engine-why-dalvik-vm-will-come-to-the-web%2F&amp;title=Heroku%20and%20App%20Engine%2C%20why%20Dalvik%20VM%20will%20come%20to%20the%20web" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fheroku-and-app-engine-why-dalvik-vm-will-come-to-the-web%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fheroku-and-app-engine-why-dalvik-vm-will-come-to-the-web%2F&amp;title=Heroku%20and%20App%20Engine%2C%20why%20Dalvik%20VM%20will%20come%20to%20the%20web" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/heroku-and-app-engine-why-dalvik-vm-will-come-to-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bloog, the first App Engine blog (that I know about)</title>
		<link>http://yousefourabi.com/blog/2008/05/bloog-the-first-app-engine-blog-that-i-know-about/</link>
		<comments>http://yousefourabi.com/blog/2008/05/bloog-the-first-app-engine-blog-that-i-know-about/#comments</comments>
		<pubDate>Thu, 22 May 2008 04:38:44 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=136</guid>
		<description><![CDATA[Just stumbled across Bloog a blog written in Python on Google&#8217;s App Engine. The code is open source, released under the MIT license and currently hosted by GitHub: here
It will be interesting to watch the number of open source app-engine centric applications blossom &#8212; a blogging tool is a good first step.




	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>Just stumbled across <a href="http://bloog.billkatz.com/">Bloog</a> a blog written in Python on Google&#8217;s App Engine. The code is open source, released under the MIT license and currently hosted by GitHub: <a href="http://github.com/DocSavage/bloog/tree/master">here</a></p>
<p>It will be interesting to watch the number of open source app-engine centric applications blossom &#8212; a blogging tool is a good first step.</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fbloog-the-first-app-engine-blog-that-i-know-about%2F&amp;title=Bloog%2C%20the%20first%20App%20Engine%20blog%20%28that%20I%20know%20about%29&amp;bodytext=Just%20stumbled%20across%20Bloog%20a%20blog%20written%20in%20Python%20on%20Google%27s%20App%20Engine.%20The%20code%20is%20open%20source%2C%20released%20under%20the%20MIT%20license%20and%20currently%20hosted%20by%20GitHub%3A%20here%0D%0A%0D%0AIt%20will%20be%20interesting%20to%20watch%20the%20number%20of%20open%20source%20app-engine%20centric%20a" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fbloog-the-first-app-engine-blog-that-i-know-about%2F&amp;title=Bloog%2C%20the%20first%20App%20Engine%20blog%20%28that%20I%20know%20about%29&amp;notes=Just%20stumbled%20across%20Bloog%20a%20blog%20written%20in%20Python%20on%20Google%27s%20App%20Engine.%20The%20code%20is%20open%20source%2C%20released%20under%20the%20MIT%20license%20and%20currently%20hosted%20by%20GitHub%3A%20here%0D%0A%0D%0AIt%20will%20be%20interesting%20to%20watch%20the%20number%20of%20open%20source%20app-engine%20centric%20a" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fbloog-the-first-app-engine-blog-that-i-know-about%2F&amp;title=Bloog%2C%20the%20first%20App%20Engine%20blog%20%28that%20I%20know%20about%29" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fbloog-the-first-app-engine-blog-that-i-know-about%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fbloog-the-first-app-engine-blog-that-i-know-about%2F&amp;title=Bloog%2C%20the%20first%20App%20Engine%20blog%20%28that%20I%20know%20about%29" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/bloog-the-first-app-engine-blog-that-i-know-about/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Photos from SF Google App Engine Hackathon</title>
		<link>http://yousefourabi.com/blog/2008/05/photos-from-sf-google-app-engine-hackathon/</link>
		<comments>http://yousefourabi.com/blog/2008/05/photos-from-sf-google-app-engine-hackathon/#comments</comments>
		<pubDate>Tue, 20 May 2008 03:31:59 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=134</guid>
		<description><![CDATA[Thanks to Marzia Niccolai from the App Engine Team for posting these on the App Engine Blog. I&#8217;m in two of them!!! Internet famous at last &#8212; especially now that CNET is getting bought my CBS &#8212; this is just the beginning of my media career &#8212; just wait and see.
http://picasaweb.google.com/appengine.hackathon/SanFranciscoHackAThon




	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>Thanks to Marzia Niccolai from the App Engine Team for posting these on the <a href="http://googleappengine.blogspot.com/2008/05/san-francisco-hack-thon.html">App Engine Blog</a>. I&#8217;m in two of them!!! Internet famous at last &#8212; especially now that CNET is getting bought my CBS &#8212; this is just the beginning of my media career &#8212; just wait and see.</p>
<p>http://picasaweb.google.com/appengine.hackathon/SanFranciscoHackAThon</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fphotos-from-sf-google-app-engine-hackathon%2F&amp;title=Photos%20from%20SF%20Google%20App%20Engine%20Hackathon&amp;bodytext=Thanks%20to%20Marzia%20Niccolai%20from%20the%20App%20Engine%20Team%20for%20posting%20these%20on%20the%20App%20Engine%20Blog.%20I%27m%20in%20two%20of%20them%21%21%21%20Internet%20famous%20at%20last%20--%20especially%20now%20that%20CNET%20is%20getting%20bought%20my%20CBS%20--%20this%20is%20just%20the%20beginning%20of%20my%20media%20career%20--%20just%20w" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fphotos-from-sf-google-app-engine-hackathon%2F&amp;title=Photos%20from%20SF%20Google%20App%20Engine%20Hackathon&amp;notes=Thanks%20to%20Marzia%20Niccolai%20from%20the%20App%20Engine%20Team%20for%20posting%20these%20on%20the%20App%20Engine%20Blog.%20I%27m%20in%20two%20of%20them%21%21%21%20Internet%20famous%20at%20last%20--%20especially%20now%20that%20CNET%20is%20getting%20bought%20my%20CBS%20--%20this%20is%20just%20the%20beginning%20of%20my%20media%20career%20--%20just%20w" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fphotos-from-sf-google-app-engine-hackathon%2F&amp;title=Photos%20from%20SF%20Google%20App%20Engine%20Hackathon" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fphotos-from-sf-google-app-engine-hackathon%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fphotos-from-sf-google-app-engine-hackathon%2F&amp;title=Photos%20from%20SF%20Google%20App%20Engine%20Hackathon" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/photos-from-sf-google-app-engine-hackathon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Studio an Eclipse based Amazon AWS manager</title>
		<link>http://yousefourabi.com/blog/2008/05/cloud-studio-an-eclipse-based-amazon-aws-manager/</link>
		<comments>http://yousefourabi.com/blog/2008/05/cloud-studio-an-eclipse-based-amazon-aws-manager/#comments</comments>
		<pubDate>Sat, 17 May 2008 16:45:49 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=133</guid>
		<description><![CDATA[The Amazon web services blog has a link to a new eclipse based product that makes it easier to manage common Amazon AWS tasks (launching instances, creating security zones, assigning elastic IPs)
You can download Cloud Studio or watch an introductory flash video at service-cloud
I think it&#8217;s great that people are jumping in and creating solutions [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://aws.typepad.com/aws/2008/05/cloud-studio.html">Amazon web services blog</a> has a link to a new eclipse based product that makes it easier to manage common Amazon AWS tasks (launching instances, creating security zones, assigning elastic IPs)</p>
<p>You can download Cloud Studio or watch an introductory flash video at <a href="http://www.service-cloud.com/?page_id=14">service-cloud</a></p>
<p>I think it&#8217;s great that people are jumping in and creating solutions to these pain points &#8212; but I have some reservations: 1) I would imagine that if Amazon released a new feature their own tools would support it sooner 2) I like the idea of standardizing around a common set of tools versus everyone implementing their own favorite AWS manager</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcloud-studio-an-eclipse-based-amazon-aws-manager%2F&amp;title=Cloud%20Studio%20an%20Eclipse%20based%20Amazon%20AWS%20manager&amp;bodytext=The%20Amazon%20web%20services%20blog%20has%20a%20link%20to%20a%20new%20eclipse%20based%20product%20that%20makes%20it%20easier%20to%20manage%20common%20Amazon%20AWS%20tasks%20%28launching%20instances%2C%20creating%20security%20zones%2C%20assigning%20elastic%20IPs%29%0D%0A%0D%0AYou%20can%20download%20Cloud%20Studio%20or%20watch%20an%20introduct" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcloud-studio-an-eclipse-based-amazon-aws-manager%2F&amp;title=Cloud%20Studio%20an%20Eclipse%20based%20Amazon%20AWS%20manager&amp;notes=The%20Amazon%20web%20services%20blog%20has%20a%20link%20to%20a%20new%20eclipse%20based%20product%20that%20makes%20it%20easier%20to%20manage%20common%20Amazon%20AWS%20tasks%20%28launching%20instances%2C%20creating%20security%20zones%2C%20assigning%20elastic%20IPs%29%0D%0A%0D%0AYou%20can%20download%20Cloud%20Studio%20or%20watch%20an%20introduct" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcloud-studio-an-eclipse-based-amazon-aws-manager%2F&amp;title=Cloud%20Studio%20an%20Eclipse%20based%20Amazon%20AWS%20manager" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcloud-studio-an-eclipse-based-amazon-aws-manager%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fcloud-studio-an-eclipse-based-amazon-aws-manager%2F&amp;title=Cloud%20Studio%20an%20Eclipse%20based%20Amazon%20AWS%20manager" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/cloud-studio-an-eclipse-based-amazon-aws-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gawsh &#8212; Google App Engine Web Service Helper</title>
		<link>http://yousefourabi.com/blog/2008/05/gawsh-google-app-engine-web-service-helper/</link>
		<comments>http://yousefourabi.com/blog/2008/05/gawsh-google-app-engine-web-service-helper/#comments</comments>
		<pubDate>Sat, 17 May 2008 01:02:02 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=132</guid>
		<description><![CDATA[Gawsh is the Google App Engine Web Service Helper (mini framework).
Also featured at the Google Apps Hackathon in San Francisco




	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p><a href="http://gawsh.appspot.com">Gawsh</a> is the Google App Engine Web Service Helper (mini framework).</p>
<p>Also featured at the Google Apps Hackathon in San Francisco</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgawsh-google-app-engine-web-service-helper%2F&amp;title=Gawsh%20--%20Google%20App%20Engine%20Web%20Service%20Helper%20&amp;bodytext=Gawsh%20is%20the%20Google%20App%20Engine%20Web%20Service%20Helper%20%28mini%20framework%29.%0D%0A%0D%0AAlso%20featured%20at%20the%20Google%20Apps%20Hackathon%20in%20San%20Francisco" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgawsh-google-app-engine-web-service-helper%2F&amp;title=Gawsh%20--%20Google%20App%20Engine%20Web%20Service%20Helper%20&amp;notes=Gawsh%20is%20the%20Google%20App%20Engine%20Web%20Service%20Helper%20%28mini%20framework%29.%0D%0A%0D%0AAlso%20featured%20at%20the%20Google%20Apps%20Hackathon%20in%20San%20Francisco" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgawsh-google-app-engine-web-service-helper%2F&amp;title=Gawsh%20--%20Google%20App%20Engine%20Web%20Service%20Helper%20" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgawsh-google-app-engine-web-service-helper%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgawsh-google-app-engine-web-service-helper%2F&amp;title=Gawsh%20--%20Google%20App%20Engine%20Web%20Service%20Helper%20" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/gawsh-google-app-engine-web-service-helper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mirrorr</title>
		<link>http://yousefourabi.com/blog/2008/05/mirrorr/</link>
		<comments>http://yousefourabi.com/blog/2008/05/mirrorr/#comments</comments>
		<pubDate>Sat, 17 May 2008 00:59:06 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=131</guid>
		<description><![CDATA[Mirrorrr is a cool App Engine example &#8212; type in a URL and it will fetch and mirror any page.




	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p><a href="http://mirrorrr.com/">Mirrorrr</a> is a cool App Engine example &#8212; type in a URL and it will fetch and mirror any page.</p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fmirrorr%2F&amp;title=Mirrorr&amp;bodytext=Mirrorrr%20is%20a%20cool%20App%20Engine%20example%20--%20type%20in%20a%20URL%20and%20it%20will%20fetch%20and%20mirror%20any%20page." title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fmirrorr%2F&amp;title=Mirrorr&amp;notes=Mirrorrr%20is%20a%20cool%20App%20Engine%20example%20--%20type%20in%20a%20URL%20and%20it%20will%20fetch%20and%20mirror%20any%20page." title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fmirrorr%2F&amp;title=Mirrorr" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fmirrorr%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fmirrorr%2F&amp;title=Mirrorr" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/mirrorr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine Hackathon San Francisco</title>
		<link>http://yousefourabi.com/blog/2008/05/google-app-engine-hackathon-san-francisco/</link>
		<comments>http://yousefourabi.com/blog/2008/05/google-app-engine-hackathon-san-francisco/#comments</comments>
		<pubDate>Fri, 16 May 2008 17:04:28 +0000</pubDate>
		<dc:creator>Yousef Ourabi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://yousefourabi.com/?p=130</guid>
		<description><![CDATA[Just arrived at 345 Spear St (4th floor, aka the Google floor) for the San Francisco App Engine Hackathon. I&#8217;m going to make a best effort at updating this throughout the day, and a more concerted effort to reconcile my notes at the end of the day.
More updates soon, things are starting to roll.
10:03: Google [...]]]></description>
			<content:encoded><![CDATA[<p>Just arrived at 345 Spear St (4th floor, aka the Google floor) for the San Francisco App Engine Hackathon. I&#8217;m going to make a best effort at updating this throughout the day, and a more concerted effort to reconcile my notes at the end of the day.</p>
<p>More updates soon, things are starting to roll.</p>
<p>10:03: Google docs presentation up on screens / projectors</p>
<p>10:15: Brief announcement &#8212; people are still trickling in so we&#8217;re waiting another 10-15 minutes.</p>
<p>10:20: I just uploaded the hello world for my pet application <a title="Engine Snippets" href="http://enginesnippets.com/">&#8220;Engine Snippets&#8221;</a> it was as simple as editing app.yaml, cd&#8217;ing up one directory and running appcfg.py update enginesnippets (which prompts you for your email, and password)  &#8212; I&#8217;m going to be doing this a lot so I&#8217;ve created a bash alias to make my life easy:<em></em></p>
<blockquote><p>alias gaeup=&#8221;appcfg.py update ../enginesnippets&#8221;</p></blockquote>
<p>10:30: room filling  &#8212; slight modification of agenda &#8212; All Googlers are introducing themselves &#8212; we&#8217;re being told to keep our eyes on people with Google or Google App Engine tee shirts. Also, app engine accounts are being handed out.</p>
<p>10:30 Agenda being presented:</p>
<ul>
<li>(10:30 -&gt; 11:10) Getting Started</li>
<li>(11:10 -&gt; 11:20) Intro to Googlers</li>
<li>(12:30) -&gt; Lunch + debugging (rumors of pizza)</li>
</ul>
<p>Talking about Mac Engine Launcher (covered last night) &#8212; very slick Mac GUI for deploying App Engine applications and integrates with Mac text editors, IDEs</p>
<p>We&#8217;ll be hacking on a basic Wiki today, code is available for all <a href="http://code.google.com/p/google-app-engine-codelab/">here</a></p>
<p>Talking about DataStore DataTypes, all the usual suspects with a few implentation choices: IntegerProperty, FloatProperty, BooleanProperty, StringProperty, TextProperty, DateTimeProperty, ListProperty, ReferenceProperty, SelfReferenceProperty, UserProperty, BlobProperty, LinkProperty, EmailProperty&#8230;etc<br />
You define Models using python class (Similar to Django models) call put() to add to data store (BigTable)</p>
<p>Guido Van Rossum, inventor of Python and Googler is in the room.</p>
<p>object = Wikipage(title=foo)</p>
<p>object.put()</p>
<p>object.delete()</p>
<p>GQL is like a Simple SQL, similar semantics. Google App API handles ORM mapping to defined models. GQL can query with named parameters.</p>
<p>app.yaml is where everything is configured, this is where name and version of application are configured. Handlers (URL Routing) is also defined in app.yaml.</p>
<blockquote><p>application: appengine-app<br />
version: 1<br />
runtime: python<br />
api_version: 1</p>
<p>handlers:<br />
- url: .*<br />
script: main.py</p></blockquote>
<p>WSGI uses request handlers to serve pages (very similar to CGI &#8230; CGI-NG might have been a better name).</p>
<p>Talking about views, and Http Redirects.</p>
<p>GAE Doesn&#8217;t have any required flush, but buffers output and doesn&#8217;t stream response (details abstracted by GAE API)</p>
<p>Looking at Django templates &#8212; see django documentation, same stuff.</p>
<p>Speaker going fast, going through wiki-example, hard to type at same speed &#8212; might have to revisit later.</p>
<p>The DataStore API can auto update DateTimeProperty via auto_now_add=True</p>
<p>11:18:<br />
(Names typed phonetically, many apologies for butchered names)</p>
<p>Dick Wall introduces himself (speaker) &#8212; Google Developer Evangelist, currently working</p>
<p>Ryan Berret, DATA STORE</p>
<p>Bret SDK, Python</p>
<p>Alohn Navi Admin Console</p>
<p>Kevin Gibbs TechLead</p>
<p>John UI Designer</p>
<p>Joshn Rebowski Launcher Mac</p>
<p>Dan O&#8217;Brian Dev Support (General Questions)</p>
<p>Guido Van Rossum: PYTHON</p>
<p>11:26: Pointing out differences in DataStore vs traditional DB &#8212; no schema, only code. Inheritance should work as expected, you define the models via python (See Django), and GAE Api handles ORM mapping to BigTable</p>
<p>11:44: Someone asked about pricing &#8212; Googler said it was undecided after limits (see current limits). No time line for announcing pricing &#8212; but they say will be competitive with Amazon AWS. This is kind of a big deal, and I&#8217;m a little annoyed that there hasn&#8217;t been any movement on pricing since the preview launch.</p>
<p>11:52: Awaiting rumored pizza &#8212; I&#8217;m starting to play around with the local dev server from my project working directory I simply typed the following (see below) and was greeted with pretty errors informing me of all things broken.</p>
<blockquote><p>dev_appserver.py .</p></blockquote>
<p>12:00: Just finished Mango Madeness snapple , my fact: Fish Can Drown. My Take: So can products without pricing.</p>
<p>12:05: The pizza is a lie! I feel betrayed, but that will come out in therapy a few years from now. I had to settle for a superb tuna sandwich and delicious salad with walnuts and a balsamic dressing. Overheard: Guido lamenting an Asus Eee Keyboard &#8220;I can&#8217;t, I just can&#8217;t use this&#8230;&#8221; hands back to owner.</p>
<p>12:25: Playing around with the local dev server I keep on getting the following warnings on STDOUT</p>
<blockquote><p>
WARNING  2008-05-16 19:24:58,045 datastore_file_stub.py] Could not read datastore data from /tmp/dev_appserver.datastore<br />
WARNING  2008-05-16 19:24:58,045 datastore_file_stub.py] Could not read datastore data from /tmp/dev_appserver.datastore.history
</p></blockquote>
<p>Will revisit and fix this later.</p>
<p>12:35: Lunch time talk, covering tools (IDEs&#8230;etc) &#8212; We&#8217;ve already looked at the Mac only App Engine launcher. Mac is obviously well supported for Python, TextMate is the defacto editor. There is a Django-bundle for TextMate. Komodo Edit (ActiveState) not as complete (in terms of code completion) as TextMate, but getting props, and cross platform. Debugging is a bit of a pain point &#8212; Apparently Eclipse and PyDEV have good python debugging support.  Covering Admin interface on local dev server, browse to: <a href="http://localhost:8080/_ah/admin/datastore">http://localhost:8080/_ah/admin/datastore</a> &#8212; Also has interactive console for python, and interface to Data Store.</p>
<p>1:08: Things are picking up again, talking about the user authentication API, and authentication sources (GMail, Google Accounts for your domain&#8230;etc)</p>
<p>1:25: Tip on how to generate images from binary data in db.BlobProperty types <a href="http://code.google.com/appengine/articles/images.html">http://code.google.com/appengine/articles/images.html</a></p>
<p>1:54: More hacking, here is a thread on <a href="http://groups.google.com/group/google-appengine/browse_thread/thread/1dafe6bea43fc19d/45df0525754d6853#45df0525754d6853">Google App Engine best practices</a></p>
<p>2:40 looking at fetch and mail API as part of wiki example. Google App Engine instances can&#8217;t write to files ystem, nor can they open sockets to make network requests, must go through Fetcher api. URLFetch Responses has properties headers, status_code, content, content_was_truncated, and does not follow redirects. </p>
<p>Mail API &#8212; must specificy sender (admin of GAE application) can set other properties</p>
<p>2:57: Running into this error when trying to query DataStore API: SystemError: Parent module &#8216;google.appengine.ext.db&#8217; not loaded &#8212; speaking with Bret , this seems to be an issue in the API or possibly (gasp) the interpreter getting into a funky state &#8212; restarting the development server cleared it up. Another dude ran into the same issue <a href="http://groups.google.com/group/google-appengine/browse_thread/thread/75a08edde6af1992">here</a></p>
<p>4:00pm: Talking about Google Data APIs &#8212; <a href="http://code.google.com/apis/gdata">code.google.com/apis/gdata</a></p>
<p>Python API &#8212; usable on Google App Engine &#8212; gdata-python-client (via URLFetch API)</p>
<p>Article on using GDATA from <a href="http://code.google.com/appengine/articles/gdata.html">Google App Engine </a></p>
<p>I&#8217;m looking at <a href="http://pygments.org">pygments</a> for syntax highlighting &#8212; might not be app engine friendly &#8212; will have to investigate later.</p>
<p>Looking at <a href="http://geodatastore.appspot.com/">GeoDataStore</a> code <a href="http://code.google.com/p/google-app-engine-samples/source/browse/trunk/geodatastore">here</a></p>

<div class="sociable">

<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-hackathon-san-francisco%2F&amp;title=Google%20App%20Engine%20Hackathon%20San%20Francisco&amp;bodytext=Just%20arrived%20at%20345%20Spear%20St%20%284th%20floor%2C%20aka%20the%20Google%20floor%29%20for%20the%20San%20Francisco%20App%20Engine%20Hackathon.%20I%27m%20going%20to%20make%20a%20best%20effort%20at%20updating%20this%20throughout%20the%20day%2C%20and%20a%20more%20concerted%20effort%20to%20reconcile%20my%20notes%20at%20the%20end%20of%20the%20day.%0D%0A" title="Digg"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-hackathon-san-francisco%2F&amp;title=Google%20App%20Engine%20Hackathon%20San%20Francisco&amp;notes=Just%20arrived%20at%20345%20Spear%20St%20%284th%20floor%2C%20aka%20the%20Google%20floor%29%20for%20the%20San%20Francisco%20App%20Engine%20Hackathon.%20I%27m%20going%20to%20make%20a%20best%20effort%20at%20updating%20this%20throughout%20the%20day%2C%20and%20a%20more%20concerted%20effort%20to%20reconcile%20my%20notes%20at%20the%20end%20of%20the%20day.%0D%0A" title="del.icio.us"><img src="http://yousefourabi.com/blog/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.stumbleupon.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-hackathon-san-francisco%2F&amp;title=Google%20App%20Engine%20Hackathon%20San%20Francisco" title="StumbleUpon"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-hackathon-san-francisco%2F" title="Technorati"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fyousefourabi.com%2Fblog%2F2008%2F05%2Fgoogle-app-engine-hackathon-san-francisco%2F&amp;title=Google%20App%20Engine%20Hackathon%20San%20Francisco" title="Reddit"><img src="http://yousefourabi.com/blog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yousefourabi.com/blog/2008/05/google-app-engine-hackathon-san-francisco/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
