<?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>Mashup Guide &#187; Chapter 16</title>
	<atom:link href="http://blog.mashupguide.net/category/chapter-16/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mashupguide.net</link>
	<description>A blog about Raymond Yee&#039;s Book Pro Web 2.0 Mashups: Remixing Data and Web Services</description>
	<lastBuildDate>Wed, 23 Feb 2011 13:35:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
  <link>http://blog.mashupguide.net</link>
  <url>http://blog.mashupguide.net/favicon.ico</url>
  <title>Mashup Guide</title>
</image>
		<item>
		<title>Amazon S3 signature calculation in JavaScript</title>
		<link>http://blog.mashupguide.net/2008/11/25/amazon-s3-signature-calculation-in-javascript/</link>
		<comments>http://blog.mashupguide.net/2008/11/25/amazon-s3-signature-calculation-in-javascript/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 18:34:08 +0000</pubDate>
		<dc:creator>raymond.yee</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[Chapter 16]]></category>
		<category><![CDATA[chickenfoot]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[S3]]></category>

		<guid isPermaLink="false">http://blog.mashupguide.net/?p=118</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Amazon+S3+signature+calculation+in+JavaScript&amp;rft.aulast=Yee&amp;rft.aufirst=Raymond&amp;rft.subject=AJAX&amp;rft.subject=Amazon+S3&amp;rft.subject=Chapter+16&amp;rft.source=Mashup+Guide&amp;rft.date=2008-11-25&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://blog.mashupguide.net/2008/11/25/amazon-s3-signature-calculation-in-javascript/&amp;rft.language=English"></span>
On pp. 478-479 of Chapter 16 of my mashup book on online storage APIs, I show how to how to reproduce the calculation of an API signature in Amazon S3 in Python and PHP. Recently, because I now want to access S3 from within the browser, I have figured out how to do the same [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Amazon+S3+signature+calculation+in+JavaScript&amp;rft.aulast=Yee&amp;rft.aufirst=Raymond&amp;rft.subject=AJAX&amp;rft.subject=Amazon+S3&amp;rft.subject=Chapter+16&amp;rft.source=Mashup+Guide&amp;rft.date=2008-11-25&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://blog.mashupguide.net/2008/11/25/amazon-s3-signature-calculation-in-javascript/&amp;rft.language=English"></span>
<p>On pp. 478-479 of Chapter 16 of my mashup book on online storage APIs, I show how to how to reproduce the <a href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01/RESTAuthentication.html">calculation of an API signature in Amazon S3</a> in Python and PHP. Recently, because I now want to access S3 from within the browser, I have figured out how to do the same example using JavaScript.  Specifically, the following is a <a href="http://groups.csail.mit.edu/uid/chickenfoot/">Chickenfoot</a> script that generates the correct signature.   (Note that the code depends on <a href="http://pajhome.org.uk/aboutme/index.html">Paul Johnson</a>'s  <a href="http://pajhome.org.uk/crypt/md5/sha1src.html">sha1.js library</a>. (See <a href="http://pajhome.org.uk/crypt/md5/instructions.html">his instructions</a> on how to use the library.  I had to consult the page to learn about the <code>b64pad</code> variable).):</p>
<pre id="pre"><span style="color: blue;">// reproduce results on pp. 478-479 of</span>
<span style="color: blue;">// Pro Web 2.0 Mashups</span>

<span style="color: blue;">// http://docs.amazonwebservices.com/AmazonS3/2006-03-01/RESTAuthentication.html</span>
<span style="color: blue;">// http://pajhome.org.uk/crypt/md5/instructions.html</span>
<span style="color: blue;"></span>
include(<span style="color: green;">"D:\\Document</span><span style="color: green;">\\JavaScriptLib\\sha1.js"</span>);

<span style="color: purple;">var</span> AWSAccessKeyId = <span style="color: green;">"0PN5J17HBGZHT7JJ3X82"</span>;
<span style="color: purple;">var</span> AWSSecretAccessKey = <span style="color: green;">"uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"</span>;
<span style="color: purple;">var</span> Expires = <span style="color: green;">'1175139620'</span>;
<span style="color: purple;">var</span> HTTPVerb = <span style="color: green;">"GET"</span>
<span style="color: purple;">var</span> ContentMD5 = <span style="color: green;">""</span>
<span style="color: purple;">var</span> ContentType = <span style="color: green;">""</span>
<span style="color: purple;">var</span> CanonicalizedAmzHeaders = <span style="color: green;">""</span>
<span style="color: purple;">var</span> CanonicalizedResource = <span style="color: green;">"/johnsmith/photos/puppy.jpg"</span>
<span style="color: purple;">var</span> string_to_sign = HTTPVerb + <span style="color: green;">"\n"</span> + ContentMD5 + <span style="color: green;">"\n"</span> + ContentType + <span style="color: green;">"\n"</span> +
  Expires + <span style="color: green;">"\n"</span> + CanonicalizedAmzHeaders + CanonicalizedResource
output(string_to_sign);

b64pad = <span style="color: green;">"="</span>; <span style="color: blue;">// needed for "strict RFC compliance"</span>
<span style="color: purple;">var</span> sig = b64_hmac_sha1(AWSSecretAccessKey , string_to_sign);
output (<span style="color: green;">"|"</span>+sig+<span style="color: green;">"|"</span>);</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.mashupguide.net/2008/11/25/amazon-s3-signature-calculation-in-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drafts of Chapters 15 and 16 have been uploaded</title>
		<link>http://blog.mashupguide.net/2007/06/01/drafts-of-chapter-15-and-16-have-been-uploaded/</link>
		<comments>http://blog.mashupguide.net/2007/06/01/drafts-of-chapter-15-and-16-have-been-uploaded/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 19:17:51 +0000</pubDate>
		<dc:creator>raymond.yee</dc:creator>
				<category><![CDATA[Chapter 15]]></category>
		<category><![CDATA[Chapter 16]]></category>

		<guid isPermaLink="false">http://blog.mashupguide.net/2007/06/01/drafts-of-chapter-15-and-16-have-been-uploaded/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Drafts+of+Chapters+15+and+16+have+been+uploaded&amp;rft.aulast=Yee&amp;rft.aufirst=Raymond&amp;rft.subject=Chapter+15&amp;rft.subject=Chapter+16&amp;rft.source=Mashup+Guide&amp;rft.date=2007-06-01&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://blog.mashupguide.net/2007/06/01/drafts-of-chapter-15-and-16-have-been-uploaded/&amp;rft.language=English"></span>
I have uploaded two more first drafts: Chapter 15: "Online calendars and Event Aggregators" Chapter 16: "Online storage" They are a bit rough but I'd definitely value feedback from any valiant readers out there!]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Drafts+of+Chapters+15+and+16+have+been+uploaded&amp;rft.aulast=Yee&amp;rft.aufirst=Raymond&amp;rft.subject=Chapter+15&amp;rft.subject=Chapter+16&amp;rft.source=Mashup+Guide&amp;rft.date=2007-06-01&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://blog.mashupguide.net/2007/06/01/drafts-of-chapter-15-and-16-have-been-uploaded/&amp;rft.language=English"></span>
<p>I have uploaded two more first drafts:</p>
<ul>
<li>Chapter 15: "<a href="http://mashupguide.net/drafts/858Xch15__.pdf">Online calendars and Event Aggregators</a>"</li>
<li>Chapter 16: "<a href="http://mashupguide.net/drafts/858Xch16__.pdf">Online storage</a>"</li>
</ul>
<p>They are a bit rough but I'd definitely value feedback from any valiant readers out there!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mashupguide.net/2007/06/01/drafts-of-chapter-15-and-16-have-been-uploaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chapter 16:  What services to cover?</title>
		<link>http://blog.mashupguide.net/2007/05/23/chapter-16-what-services-to-cover/</link>
		<comments>http://blog.mashupguide.net/2007/05/23/chapter-16-what-services-to-cover/#comments</comments>
		<pubDate>Thu, 24 May 2007 04:27:03 +0000</pubDate>
		<dc:creator>raymond.yee</dc:creator>
				<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[Chapter 16]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://blog.mashupguide.net/2007/05/23/chapter-16-what-services-to-cover/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Chapter+16%3A++What+services+to+cover%3F&amp;rft.aulast=Yee&amp;rft.aufirst=Raymond&amp;rft.subject=Amazon+S3&amp;rft.subject=Chapter+16&amp;rft.subject=storage&amp;rft.source=Mashup+Guide&amp;rft.date=2007-05-23&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://blog.mashupguide.net/2007/05/23/chapter-16-what-services-to-cover/&amp;rft.language=English"></span>
I've been captivated by the potential of Amazon S3 (Amazon's "Simple Storage Service"), which is described in the following way: Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Chapter+16%3A++What+services+to+cover%3F&amp;rft.aulast=Yee&amp;rft.aufirst=Raymond&amp;rft.subject=Amazon+S3&amp;rft.subject=Chapter+16&amp;rft.subject=storage&amp;rft.source=Mashup+Guide&amp;rft.date=2007-05-23&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://blog.mashupguide.net/2007/05/23/chapter-16-what-services-to-cover/&amp;rft.language=English"></span>
<p>  I've been captivated by the potential of <a href="http://www.amazon.com/gp/browse.html?node=16427261" class="external">Amazon S3</a> (Amazon's "Simple Storage Service"), which is described in the following way:</p>
<ul> Amazon S3 provides a  simple web services interface that can be used to store and retrieve  any amount of data, at any time, from anywhere on the web. It gives any  developer access to the same highly scalable, reliable, fast,  inexpensive data storage infrastructure that Amazon uses to run its own  global network of web sites.</ul>
<p>With S3 (combined with Amazon EC2 -- the elastic computing cluster), I  keep thinking that I have the raw ingredients for a relatively  inexpensive supercomputer. Now what to do with that computing power --  that's the subject of another post.</p>
<p>At a basic level, Chapter 16 is meant to be a tutorial of Amazon S3 and  rival/parallel/comparable services. What are other services that I'd  like to cover (if I manage to have enough time to write up)? On the  list of possible services to cover are:</p>
<ul>
<li>   <a href="http://box.net/" class="external">Box.net</a> with <a href="http://enabled.box.net/docs" class="external">Box Enabled - Box.net Web Services API</a></li>
<li>   <a href="http://www.streamload.com/" class="external">Streamload</a> with its <a href="http://www.mediamax.com/webservices/omnDocumentation.aspx" class="external">API</a></li>
<li>   <a href="http://www.omnidrive.com/" class="external">Omnidrive</a> and the <a href="http://dev.omnidrive.com/HomePage" class="external">OmniDrive API</a></li>
<li>   <a href="http://www.openomy.com/about.html" class="external">openomy</a> and its <a href="http://documentation.openomy.com/index.php/Main_Page" class="external">API</a></li>
</ul>
<p>First place to start:  learn to program Amazon S3.  One thing I'm reading is <a href="http://developer.amazonwebservices.com/connect/entry.jspa?entryID=691" class="external">Amazon Web Services Developer Connection : Monster Muck Mashup - Mass Video Conversion Using AWS</a>, which touches on not only S3 but also Amazon EC2 and the Simple Queue Service.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mashupguide.net/2007/05/23/chapter-16-what-services-to-cover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox plugins for Amazon EC2 and S3; developer forums for Amazon</title>
		<link>http://blog.mashupguide.net/2007/04/19/firefox-plugins-for-amazon-ec2-and-s3-developer-forums-for-amazon/</link>
		<comments>http://blog.mashupguide.net/2007/04/19/firefox-plugins-for-amazon-ec2-and-s3-developer-forums-for-amazon/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 17:38:44 +0000</pubDate>
		<dc:creator>raymond.yee</dc:creator>
				<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Chapter 16]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[web browser]]></category>

		<guid isPermaLink="false">http://blog.mashupguide.net/2007/04/19/firefox-plugins-for-amazon-ec2-and-s3-developer-forums-for-amazon/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Firefox+plugins+for+Amazon+EC2+and+S3%3B+developer+forums+for+Amazon&amp;rft.aulast=Yee&amp;rft.aufirst=Raymond&amp;rft.subject=Amazon&amp;rft.subject=Chapter+16&amp;rft.subject=Firefox&amp;rft.subject=web+browser&amp;rft.source=Mashup+Guide&amp;rft.date=2007-04-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://blog.mashupguide.net/2007/04/19/firefox-plugins-for-amazon-ec2-and-s3-developer-forums-for-amazon/&amp;rft.language=English"></span>
In my post Mashup Guide :: Amazon URL structures, I mentioned that I will pose my questions concerning the Amazon web services in the appropriate forums. I'm looking at the list of forums Amazon Web Services Developer Connection : Developer Connection but I'm uncertain whether any of them is appropriate yet. Along the way I [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Firefox+plugins+for+Amazon+EC2+and+S3%3B+developer+forums+for+Amazon&amp;rft.aulast=Yee&amp;rft.aufirst=Raymond&amp;rft.subject=Amazon&amp;rft.subject=Chapter+16&amp;rft.subject=Firefox&amp;rft.subject=web+browser&amp;rft.source=Mashup+Guide&amp;rft.date=2007-04-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://blog.mashupguide.net/2007/04/19/firefox-plugins-for-amazon-ec2-and-s3-developer-forums-for-amazon/&amp;rft.language=English"></span>
<p>In my post <a href="http://blog.mashupguide.net/2007/04/19/amazon-url-structures/" class="external">Mashup Guide :: Amazon URL structures</a>,  I mentioned that I will pose my questions concerning the Amazon web  services in the appropriate forums. I'm looking at the list of forums <a href="http://developer.amazonwebservices.com/connect/index.jspa" class="external">Amazon Web Services Developer Connection : Developer Connection</a> but I'm uncertain whether any of them is appropriate yet.  Along the way I did find the <a href="http://developer.amazonwebservices.com/connect/entry.jspa?entryID=609" class="external">Amazon EC2 Firefox Extension</a>.  I plan to come back to looking at that plugin, in combination with  <a href="https://addons.mozilla.org/en-US/firefox/addon/3247" class="external">S3 Firefox Organizer(S3Fox)</a>, as ways to jumpstart one's exploration of Amazon S3 and EC2.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mashupguide.net/2007/04/19/firefox-plugins-for-amazon-ec2-and-s3-developer-forums-for-amazon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

