<?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>www.collazo.ws</title>
	<atom:link href="http://www.collazo.ws/feed" rel="self" type="application/rss+xml" />
	<link>http://www.collazo.ws</link>
	<description>A little nothing about something</description>
	<lastBuildDate>Tue, 30 Aug 2011 20:52:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Uploading to Rackspace Cloud Files with PHP</title>
		<link>http://www.collazo.ws/2011/08/30/uploading-to-rackspace-cloud-files-with-php</link>
		<comments>http://www.collazo.ws/2011/08/30/uploading-to-rackspace-cloud-files-with-php#comments</comments>
		<pubDate>Tue, 30 Aug 2011 20:50:25 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Rackspace]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[rackspace]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/?p=1104</guid>
		<description><![CDATA[Someone recently asked me if I knew of a web based uploader that returned the Akamai CDN URL of the file. I looked around and found this site but it wasn&#8217;t quite what was wanted. I decided to edit the &#8230;<p class="read-more"><a href="http://www.collazo.ws/2011/08/30/uploading-to-rackspace-cloud-files-with-php">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Someone recently asked me if I knew of a web based uploader that returned the Akamai CDN URL of the file. I looked around and found <a target="_blank" href="http://www.thetutorialblog.com/php/uploading-files-to-rackspace-cloud-mosso-using-php-api/" title="Tutorial on uploading files to Rackspace Cloud using the PHP API" target="_blank">this site</a> but it wasn&#8217;t quite what was wanted. I decided to edit the code in the example from that site and came up with this.<br />
<span id="more-1104"></span><br />
First, you&#8217;ll need the PHP bindings for Rackspace Cloud Files. They can be found <a target="_blank" href="https://github.com/rackspace/php-cloudfiles" title="Github link to PHP bindings for Rackspace Cloud Files API" target="_blank">here</a>. You&#8217;ll need to put the files cloudfiles.php, cloudfiles_http.php, and cloudfiles_exceptions.php in directory on your web server.</p>
<p>Next, save the following code as &#8220;index.html&#8221;:</p>
<div class="geshi html4strict">
<div class="head"><strong>&#8220;index.html&#8221;</strong></div>
<ol>
<li class="li1">
<div class="de1"><span class="sc0">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;html</span> xmlns<span class="sy0">=</span><span class="st0">&quot;http://www.w3.org/1999/xhtml&quot;</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;head&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;title&gt;</span></span>Upload to Rackspace Cloud Files<span class="sc2"><span class="kw2">&lt;/title&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;meta</span> <span class="kw3">http-equiv</span><span class="sy0">=</span><span class="st0">&quot;Content-type&quot;</span> <span class="kw3">content</span><span class="sy0">=</span><span class="st0">&quot;text/html;charset=UTF-8&quot;</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;/head&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;body&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;form</span> <span class="kw3">action</span><span class="sy0">=</span><span class="st0">&quot;upload.php&quot;</span> <span class="kw3">enctype</span><span class="sy0">=</span><span class="st0">&quot;multipart/form-data&quot;</span> <span class="kw3">method</span><span class="sy0">=</span><span class="st0">&quot;POST&quot;</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; Username: <span class="sc2"><span class="kw2">&lt;input</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;username&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;br</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; Key: <span class="sc2"><span class="kw2">&lt;input</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;key&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;password&quot;</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;br</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; Container: <span class="sc2"><span class="kw2">&lt;input</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;container&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span> <span class="sc2"><span class="kw2">&lt;br</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; File: <span class="sc2"><span class="kw2">&lt;input</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;upload&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;file&quot;</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;br</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc2"><span class="kw2">&lt;input</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;submit&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;submit&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;Upload To Rackspace!&quot;</span> <span class="sy0">/</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;/form&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;/body&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;/html&gt;</span></span></div>
</li>
</ol>
</div>
<p>After that is saved, create a new file called &#8220;upload.php&#8221; and save the following:</p>
<div class="geshi php">
<div class="head"><strong>&#8220;upload.php&#8221;</strong></div>
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Turn on error reporting so we can see if there are any problems</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">error_reporting</span><span class="br0">&#40;</span><span class="kw2">E_ALL</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">ini_set</span><span class="br0">&#40;</span><span class="st0">&#39;display_errors&#39;</span><span class="sy0">,</span> <span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// include the API</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">require</span><span class="br0">&#40;</span><span class="st0">&#39;cloudfiles.php&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// cloud info</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$username</span> <span class="sy0">=</span> <span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;username&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="co1">// username</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$key</span> <span class="sy0">=</span> <span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;key&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="co1">// api key</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$container</span> <span class="sy0">=</span> <span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;container&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="co1">// container name</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">ob_start</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Print some information regarding who and where</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Username: $username&lt;br/&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Container: $container&lt;br/&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$localfile</span> <span class="sy0">=</span> <span class="re1">$_FILES</span><span class="br0">&#91;</span><span class="st0">&#39;upload&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;tmp_name&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$filename</span> <span class="sy0">=</span> <span class="re1">$_FILES</span><span class="br0">&#91;</span><span class="st0">&#39;upload&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;name&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Print some information about the file</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Local: $localfile&lt;br/&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;File : $filename&lt;br/&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">ob_flush</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Connect to Rackspace</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$auth</span> <span class="sy0">=</span> <span class="kw2">new</span> CF_Authentication<span class="br0">&#40;</span><span class="re1">$username</span><span class="sy0">,</span> <span class="re1">$key</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$auth</span><span class="sy0">-&gt;</span><span class="me1">authenticate</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$conn</span> <span class="sy0">=</span> <span class="kw2">new</span> CF_Connection<span class="br0">&#40;</span><span class="re1">$auth</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Get the container we want to use</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$container</span> <span class="sy0">=</span> <span class="re1">$conn</span><span class="sy0">-&gt;</span><span class="me1">create_container</span><span class="br0">&#40;</span><span class="re1">$container</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// store file information</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">ob_flush</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// upload file to Rackspace</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$object</span> <span class="sy0">=</span> <span class="re1">$container</span><span class="sy0">-&gt;</span><span class="me1">create_object</span><span class="br0">&#40;</span><span class="re1">$filename</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$object</span><span class="sy0">-&gt;</span><span class="me1">load_from_filename</span><span class="br0">&#40;</span><span class="re1">$localfile</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$uri</span> <span class="sy0">=</span> <span class="re1">$container</span><span class="sy0">-&gt;</span><span class="me1">make_public</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">print</span> <span class="st0">&quot;Your URL is: &quot;</span> <span class="sy0">.</span> <span class="re1">$object</span><span class="sy0">-&gt;</span><span class="me1">public_uri</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">ob_end_flush</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>The important part is on line 46 that contains &#8220;$object->public_uri();&#8221;. That is function in the API binding that returns the objects URL.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/08/30/uploading-to-rackspace-cloud-files-with-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Rackspace DNSaaS with curl (part 1)</title>
		<link>http://www.collazo.ws/2011/07/08/using-rackspace-dnsaas-with-curl-part-1</link>
		<comments>http://www.collazo.ws/2011/07/08/using-rackspace-dnsaas-with-curl-part-1#comments</comments>
		<pubDate>Fri, 08 Jul 2011 20:35:02 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Rackspace]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[dnsaas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rackspace]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/?p=1074</guid>
		<description><![CDATA[With the release of Rackspace DNSaaS (blog post here), I thought I would put together some examples of using curl with the service. With this release, you now have programmatic access to DNS via the API where you can set &#8230;<p class="read-more"><a href="http://www.collazo.ws/2011/07/08/using-rackspace-dnsaas-with-curl-part-1">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>With the release of <a target="_blank" href="http://www.rackspace.com/cloud/cloud_hosting_products/dns/" title="Rackspace DNSaaS" target="_blank">Rackspace DNSaaS</a> (blog post <a target="_blank" href="http://www.rackspace.com/cloud/blog/2011/07/07/rackspace-cloud-dns-beta-now-available-for-us-uk-cloud-customers/" title="Rackspace Blog Post about DNSaaS" target="_blank">here</a>), I thought I would put together some examples of using curl with the service. With this release, you now have programmatic access to DNS via the <a target="_blank" href="http://docs.rackspace.com/api/" title="Rackspace API documentation" target="_blank">API</a> where you can set TTLs, create and delete various record types, and create and delete domains.<br />
<span id="more-1074"></span></p>
<h3>Authentication</h3>
<p>First, you&#8217;ll have to authenticate. To do this, you will need your API key and username.</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -D &#8211; -H <span class="st0">&quot;X-Auth-Key: yourAPIKey&quot;</span> -H <span class="st0">&quot;X-Auth-User: yourUsername&quot;</span> https:<span class="sy0">//</span>auth.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span></div>
</li>
</ol>
</div>
<p>You should receive the following response:</p>
<pre class="qoate-code">
HTTP/1.1 204 No Content
Server: Apache/2.2.3 (Mosso Engineering)
X-Storage-Url: https://storage101.dfw1.clouddrive.com/v1/yourAccountHash
Content-Type: application/octet-stream
Date: Date and Time
X-Auth-Token: yourAuthToken
X-Storage-Token: yourStorageToken
X-Server-Management-Url: https://servers.api.rackspacecloud.com/v1.0/yourAccountNumber
Connection: Keep-Alive
X-CDN-Management-Url: https://cdn1.clouddrive.com/v1/yourAccountHash
Content-Length: 0
</pre>
<h3>Listing Domain Information</h3>
<p>To see a list of your current domains, run the following command. Don&#8217;t forget to replace your auth token and account number.</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -X GET -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Accept: application/xml&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountNumber<span class="sy0">/</span>domains</div>
</li>
</ol>
</div>
<p>Your output will be XML formatted and look like:</p>
<pre class="qoate-code">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;domains xmlns="http://docs.rackspacecloud.com/dns/api/v1.0" xmlns:ns2="http://www.w3.org/2005/Atom" xmlns:ns3="http://docs.rackspacecloud.com/dns/api/management/v1.0" totalEntries="2"&gt;
    &lt;domain id="1697941" accountId="yourAccountNumber" name="collazo.ws" updated="2011-06-28T04:18:17Z" created="2009-12-11T01:01:26Z" /&gt;
    &lt;domain id="4062964" accountId="yourAccountNumber" name="deployitron.com" updated="2011-03-19T08:10:31Z" created="2011-01-21T23:24:44Z" /&gt;
&lt;/domains&gt;
</pre>
<p>To see the same thing formatted as JSON output, run the following:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -X GET -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Accept: application/json&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountNumber<span class="sy0">/</span>domains</div>
</li>
</ol>
</div>
<pre class="qoate-code">
{
   "domains":[
      {
         "name":"collazo.ws",
         "id":1697941,
         "accountId":yourAccountNumber,
         "updated":"2011-06-28T04:18:17.000+0000",
         "created":"2009-12-11T01:01:26.000+0000"
      },
      {
         "name":"deployitron.com",
         "id":4062964,
         "accountId":yourAccountNumber,
         "updated":"2011-03-19T08:10:31.000+0000",
         "created":"2011-01-21T23:24:44.000+0000"
      }
   ],
   "totalEntries":2
}
</pre>
<p>To get details about a particular domain, you&#8217;ll enter the following:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -X GET -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Accept: application/xml&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountNumber<span class="sy0">/</span>domains<span class="sy0">/</span><span class="nu0">4062964</span> <span class="co0"># &lt;- make sure you replace this with your domain ID</span></div>
</li>
</ol>
</div>
<p>This will output the following in XML format:</p>
<pre class="qoate-code">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;domain xmlns="http://docs.rackspacecloud.com/dns/api/v1.0" xmlns:ns2="http://www.w3.org/2005/Atom" xmlns:ns3="http://docs.rackspacecloud.com/dns/api/management/v1.0" id="4062964" accountId="yourAccountNumber" name="deployitron.com" ttl="3600" emailAddress="ipadmin@stabletransit.com" updated="2011-03-19T08:10:31Z" created="2011-01-21T23:24:44Z"&gt;
    &lt;nameservers&gt;
        &lt;nameserver name="ns.rackspace.com" /&gt;
        &lt;nameserver name="ns1.rackspace.com" /&gt;
    &lt;/nameservers&gt;
    &lt;recordsList totalEntries="5"&gt;
        &lt;record id="A-1234567" type="A" name="deployitron.com" data="174.143.174.233" ttl="3600" updated="2011-01-22T11:28:10Z" created="2011-01-22T11:28:10Z" /&gt;
        &lt;record id="NS-2345678" type="NS" name="deployitron.com" data="dns1.stabletransit.com" ttl="3600" updated="2011-01-21T23:24:44Z" created="2011-01-21T23:24:44Z" /&gt;
        &lt;record id="NS-2345680" type="NS" name="deployitron.com" data="dns2.stabletransit.com" ttl="3600" updated="2011-01-21T23:24:44Z" created="2011-01-21T23:24:44Z" /&gt;
        &lt;record id="CNAME-4567890" type="CNAME" name="www.deployitron.com" data="deployitron.com" ttl="3600" updated="2011-01-22T11:30:35Z" created="2011-01-22T11:30:35Z" /&gt;
        &lt;record id="CNAME-5678901" type="CNAME" name="www2.deployitron.com" data="deployitron.com" ttl="600" updated="2011-03-19T08:10:31Z" created="2011-03-19T08:10:31Z" /&gt;
    &lt;/recordsList&gt;
&lt;/domain&gt;
</pre>
<p>To get the same thing JSON formatted:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -X GET -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Accept: application/json&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountNumber<span class="sy0">/</span>domains<span class="sy0">/</span><span class="nu0">4062964</span></div>
</li>
</ol>
</div>
<pre class="qoate-code">
{
   "name":"deployitron.com",
   "id":4062964,
   "accountId":yourAccountNumber,
   "nameservers":[
      {
         "name":"ns.rackspace.com"
      },
      {
         "name":"ns1.rackspace.com"
      }
   ],
   "updated":"2011-03-19T08:10:31.000+0000",
   "ttl":3600,
   "recordsList":{
      "records":[
         {
            "name":"deployitron.com",
            "id":"A-1234567",
            "type":"A",
            "data":"174.143.174.233",
            "updated":"2011-01-22T11:28:10.000+0000",
            "ttl":3600,
            "created":"2011-01-22T11:28:10.000+0000"
         },
         {
            "name":"deployitron.com",
            "id":"NS-2345678",
            "type":"NS",
            "data":"dns1.stabletransit.com",
            "updated":"2011-01-21T23:24:44.000+0000",
            "ttl":3600,
            "created":"2011-01-21T23:24:44.000+0000"
         },
         {
            "name":"deployitron.com",
            "id":"NS-2345680",
            "type":"NS",
            "data":"dns2.stabletransit.com",
            "updated":"2011-01-21T23:24:44.000+0000",
            "ttl":3600,
            "created":"2011-01-21T23:24:44.000+0000"
         },
         {
            "name":"www.deployitron.com",
            "id":"CNAME-4567890",
            "type":"CNAME",
            "data":"deployitron.com",
            "updated":"2011-01-22T11:30:35.000+0000",
            "ttl":3600,
            "created":"2011-01-22T11:30:35.000+0000"
         },
         {
            "name":"www2.deployitron.com",
            "id":"CNAME-5678901",
            "type":"CNAME",
            "data":"deployitron.com",
            "updated":"2011-03-19T08:10:31.000+0000",
            "ttl":600,
            "created":"2011-03-19T08:10:31.000+0000"
         }
      ],
      "totalEntries":5
   },
   "emailAddress":"ipadmin@stabletransit.com",
   "created":"2011-01-21T23:24:44.000+0000"
}
</pre>
<h3>Creating Domains</h3>
<p>To create a domain, we issue the following JSON formatted command:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -D &#8211; -X POST -d <span class="st0">&#39;{ &quot;domains&quot;:[ { &quot;name&quot;:&quot;aeVo8AiHeesh.ws&quot;, &quot;emailAddress&quot;:&quot;robert@aeVo8AiHeesh.ws&quot;, &quot;comment&quot;:&quot;This is the first domain created via API&quot;, &quot;recordsList&quot;: { &quot;records&quot;:[ { &quot;ttl&quot;:600, &quot;data&quot;:&quot;127.0.0.1&quot;, &quot;name&quot;:&quot;aeVo8AiHeesh.ws&quot;, &quot;type&quot;:&quot;A&quot; },{ &quot;priority&quot;: 10, &quot;ttl&quot;:86400, &quot;data&quot;:&quot;mail.aeVo8AiHeesh.ws&quot;, &quot;name&quot;:&quot;aeVo8AiHeesh.ws&quot;, &quot;type&quot;:&quot;MX&quot; },{ &quot;ttl&quot;:300, &quot;data&quot;:&quot;v=spf1 mx -all&quot;, &quot;name&quot;:&quot;aeVo8AiHeesh.ws&quot;, &quot;type&quot;:&quot;TXT&quot; } ] } } ] }&#39;</span> -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Content-Type: application/json&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountNumber<span class="sy0">/</span>domains</div>
</li>
</ol>
</div>
<p>And the following is returned:</p>
<pre class="qoate-code">
HTTP/1.1 202 Accepted
X-API-VERSION: 1.0.8
Content-Type: application/json
Date: Fri, 08 Jul 2011 15:18:12 GMT
Content-Length: 155
Server: Jetty(7.3.1.v20110307)

{"jobId":"yourJobID","callbackUrl":"https://dns.api.rackspacecloud.com/v1.0/yourAccountNumber/status/yourJobID"}
</pre>
<p>It&#8217;s important to note your job ID so that you can check the status of your job by issuing the following command:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -X GET -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Accept: application/json&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountNumber<span class="sy0">/</span>status<span class="sy0">/</span>yourJobID</div>
</li>
</ol>
</div>
<p>If your job completed successfully, you should see something similar to the following:</p>
<pre class="qoate-code">
{"domains":[{"name":"aevo8aiheesh.ws","id":2841222,"comment":"This is the first domain created via API","accountId":yourAccountNumber,"nameservers":[{"name":"ns.rackspace.com"},{"name":"ns1.rackspace.com"}],"updated":"2011-07-08T15:21:46.000+0000","ttl":3600,"recordsList":{"records":[{"name":"aevo8aiheesh.ws","id":"A-7088731","type":"A","data":"127.0.0.1","updated":"2011-07-08T15:21:47.000+0000","ttl":600,"created":"2011-07-08T15:21:47.000+0000"},{"name":"aevo8aiheesh.ws","id":"MX-3272903","priority":10,"type":"MX","data":"mail.aeVo8AiHeesh.ws","updated":"2011-07-08T15:21:48.000+0000","ttl":86400,"created":"2011-07-08T15:21:48.000+0000"},{"name":"aevo8aiheesh.ws","id":"TXT-243256","type":"TXT","data":"v=spf1 mx -all","updated":"2011-07-08T15:21:49.000+0000","ttl":300,"created":"2011-07-08T15:21:49.000+0000"}]},"emailAddress":"robert@aeVo8AiHeesh.ws","created":"2011-07-08T15:21:45.000+0000"}]}
</pre>
<p>I see that it was created and I can verify via dig by running:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ dig aevo8aiheesh.ws <span class="sy0">@</span>ns.rackspace.com any</div>
</li>
</ol>
</div>
<p>Which returns:</p>
<pre class="qoate-code">
; &lt;&lt;&gt;&gt; DiG 9.6.0-APPLE-P2 &lt;&lt;&gt;&gt; aevo8aiheesh.ws @ns.rackspace.com any
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 40475
;; flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;aevo8aiheesh.ws.               IN      ANY

;; ANSWER SECTION:
aevo8aiheesh.ws.        3600    IN      SOA     ns1.rackspace.com. robert.aevo8aiheesh.ws. 1310138509 3600 3600 3600 3600
aevo8aiheesh.ws.        86400   IN      MX      10 mail.aevo8aiheesh.ws.
aevo8aiheesh.ws.        3600    IN      NS      dns1.stabletransit.com.
aevo8aiheesh.ws.        3600    IN      NS      dns2.stabletransit.com.
aevo8aiheesh.ws.        300     IN      TXT     "v=spf1 mx -all"
aevo8aiheesh.ws.        600     IN      A       127.0.0.1

;; ADDITIONAL SECTION:
dns1.stabletransit.com. 86400   IN      A       69.20.95.4
dns2.stabletransit.com. 86400   IN      A       65.61.188.4

;; Query time: 35 msec
;; SERVER: 69.20.95.4#53(69.20.95.4)
;; WHEN: Fri Jul  8 10:45:38 2011
;; MSG SIZE  rcvd: 241
</pre>
<p>We can accomplish the same thing via XML by running the following:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -D - -X POST -d <span class="st0">&#39;&lt;domains xmlns=&quot;http://docs.rackspacecloud.com/dns/api/v1.0&quot;&gt;&lt;domain name=&quot;paingeez7uec.com&quot; ttl=&quot;5600&quot; emailAddress=&quot;robert@paingeez7uec.com&quot; comment=&quot;This is the second domain created via API&quot;&gt;&lt;recordsList&gt;&lt;record type=&quot;A&quot; data=&quot;127.0.0.1&quot; name=&quot;paingeez7uec.com&quot;/&gt;&lt;record type=&quot;MX&quot; data=&quot;mail.paingeez7uec.com&quot; priority=&quot;10&quot; ttl=&quot;5000&quot; name=&quot;paingeez7uec.com&quot;/&gt;&lt;record type=&quot;TXT&quot; data=&quot;v=spf1 mx -all&quot; name=&quot;paingeez7uec.com&quot; ttl=&quot;600&quot;/&gt;&lt;/recordsList&gt;&lt;/domain&gt;&lt;/domains&gt;&#39;</span> -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Content-Type: application/xml&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountID<span class="sy0">/</span>domains</div>
</li>
</ol>
</div>
<p>Which outputs:</p>
<pre class="qoate-code">
HTTP/1.1 202 Accepted
X-API-VERSION: 1.0.8
Content-Type: application/json
Date: Fri, 08 Jul 2011 19:35:22 GMT
Content-Length: 155
Server: Jetty(7.3.1.v20110307)

{"jobId":"yourJobID","callbackUrl":"https://dns.api.rackspacecloud.com/v1.0/yourAccountNumber/status/yourJobID"}
</pre>
<p>Checking the status:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -X GET -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Accept: application/xml&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountID<span class="sy0">/</span>status<span class="sy0">/</span>yourJobID</div>
</li>
</ol>
</div>
<p>Which returns:</p>
<pre class="qoate-code">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;&lt;domains xmlns="http://docs.rackspacecloud.com/dns/api/v1.0" xmlns:ns2="http://www.w3.org/2005/Atom" xmlns:ns3="http://docs.rackspacecloud.com/dns/api/management/v1.0"&gt;&lt;domain id="2841642" accountId="yourAccountID" name="paingeez7uec.com" ttl="5600" emailAddress="robert@paingeez7uec.com" updated="2011-07-08T19:35:23Z" created="2011-07-08T19:35:23Z" comment="This is the second domain created via API"&gt;&lt;nameservers&gt;&lt;nameserver name="ns.rackspace.com"/&gt;&lt;nameserver name="ns1.rackspace.com"/&gt;&lt;/nameservers&gt;&lt;recordsList&gt;&lt;record id="A-7089765" type="A" name="paingeez7uec.com" data="127.0.0.1" ttl="5600" updated="2011-07-08T19:35:24Z" created="2011-07-08T19:35:24Z"/&gt;&lt;record id="MX-3274128" type="MX" name="paingeez7uec.com" data="mail.paingeez7uec.com" ttl="5000" priority="10" updated="2011-07-08T19:35:25Z" created="2011-07-08T19:35:25Z"/&gt;&lt;record id="TXT-243385" type="TXT" name="paingeez7uec.com" data="v=spf1 mx -all" ttl="600" updated="2011-07-08T19:35:26Z" created="2011-07-08T19:35:26Z"/&gt;&lt;/recordsList&gt;&lt;/domain&gt;&lt;/domains&gt;
</pre>
<p>To verify the domain exists via dig:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ dig paingeez7uec.com <span class="sy0">@</span>ns.rackspace.com any</div>
</li>
</ol>
</div>
<p>Which outputs:</p>
<pre class="qoate-code">
; &lt;&lt;&gt;&gt; DiG 9.6.0-APPLE-P2 &lt;&lt;&gt;&gt; paingeez7uec.com @ns.rackspace.com any
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 45478
;; flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;paingeez7uec.com.              IN      ANY

;; ANSWER SECTION:
paingeez7uec.com.       5600    IN      SOA     ns1.rackspace.com. robert.paingeez7uec.com. 1310153726 5600 5600 5600 5600
paingeez7uec.com.       5000    IN      MX      10 mail.paingeez7uec.com.
paingeez7uec.com.       5600    IN      NS      dns1.stabletransit.com.
paingeez7uec.com.       5600    IN      NS      dns2.stabletransit.com.
paingeez7uec.com.       600     IN      TXT     "v=spf1 mx -all"
paingeez7uec.com.       5600    IN      A       127.0.0.1

;; ADDITIONAL SECTION:
dns1.stabletransit.com. 86400   IN      A       69.20.95.4
dns2.stabletransit.com. 86400   IN      A       65.61.188.4

;; Query time: 42 msec
;; SERVER: 69.20.95.4#53(69.20.95.4)
;; WHEN: Fri Jul  8 14:49:55 2011
;; MSG SIZE  rcvd: 239
</pre>
<p>Now you can create domains in using both JSON and XML formatted responses.</p>
<h3>Deleting Domains</h3>
<p>To delete a domain using curl follow these simple steps. You will need your account ID (yourAccountID in previous examples) and the domain ID from a domain list.</p>
<p>JSON:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -X DELETE -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Accept: application/json&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountID<span class="sy0">/</span>domains<span class="sy0">/</span><span class="nu0">2841222</span></div>
</li>
</ol>
</div>
<pre class="qoate-code">
{"jobId":"yourJobID","callbackUrl":"https://dns.api.rackspacecloud.com/v1.0/yourAccountID/status/yourJobID"}
</pre>
<p>XML:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -X DELETE -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;Accept: application/xml&quot;</span> https:<span class="sy0">//</span>dns.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountID<span class="sy0">/</span>domains<span class="sy0">/</span><span class="nu0">2841642</span></div>
</li>
</ol>
</div>
<pre class="qoate-code">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;&lt;asyncResponse xmlns="http://docs.rackspacecloud.com/dns/api/v1.0"&gt;&lt;jobId&gt;yourJobID&lt;/jobId&gt;&lt;callbackUrl&gt;https://dns.api.rackspacecloud.com/v1.0/yourAccountID/status/yourJobID&lt;/callbackUrl&gt;&lt;/asyncResponse&gt;
</pre>
<p>Stay tuned for part 2 where I will show how to modify domains, and add/delete/modify records.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/07/08/using-rackspace-dnsaas-with-curl-part-1/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Edge Purge Content from Rackspace Cloud Files via curl</title>
		<link>http://www.collazo.ws/2011/06/29/edge-purge-content-from-rackspace-cloud-files-via-curl</link>
		<comments>http://www.collazo.ws/2011/06/29/edge-purge-content-from-rackspace-cloud-files-via-curl#comments</comments>
		<pubDate>Wed, 29 Jun 2011 21:10:16 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rackspace]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/?p=1052</guid>
		<description><![CDATA[When the Rackspace Cloud Files product received Edge Purge functionality via the API, I didn&#8217;t give it much thought as I didn&#8217;t use the CDN functionality for any of my personal projects. That changed recently and I started doing some &#8230;<p class="read-more"><a href="http://www.collazo.ws/2011/06/29/edge-purge-content-from-rackspace-cloud-files-via-curl">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>When the Rackspace Cloud Files product received <a target="_blank" href="http://www.rackspace.com/cloud/blog/2011/02/25/cloud-files-cdn-gets-edge-purge/">Edge Purge functionality via the API</a>, I didn&#8217;t give it much thought as I didn&#8217;t use the CDN functionality for any of my personal projects. That changed recently and I started doing some work with the CDN (powered by <a target="_blank" href="http://www.akamai.com/">Akamai</a>). All was fine until I realized I had set the TTL for the objects too high for my testing and wasn&#8217;t receiving the right content. Below you&#8217;ll find the appropriate methods for doing an edge purge of an object and container via curl using the API.<br />
<span id="more-1052"></span><br />
First, you&#8217;ll need to authenticate using your API key and username.</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -D &#8211; -H <span class="st0">&quot;X-Auth-Key: yourAPIkey&quot;</span> -H <span class="st0">&quot;X-Auth-User: yourUsername&quot;</span> https:<span class="sy0">//</span>auth.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span></div>
</li>
</ol>
</div>
<p>You should receive the following:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">HTTP<span class="sy0">/</span><span class="nu0">1.1</span> <span class="nu0">204</span> No Content</div>
</li>
<li class="li1">
<div class="de1">Server: Apache<span class="sy0">/</span><span class="nu0">2.2</span><span class="nu0">.13</span> <span class="br0">&#40;</span>Red Hat<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">X-Storage-Url: https:<span class="sy0">//</span>storage.clouddrive.com<span class="sy0">/</span>v1<span class="sy0">/</span>yourAccountHash</div>
</li>
<li class="li1">
<div class="de1">Content-Type: application<span class="sy0">/</span>octet-stream</div>
</li>
<li class="li1">
<div class="de1">Date: Date <span class="sy0">&amp;</span> Time</div>
</li>
<li class="li1">
<div class="de1">X-Auth-Token: yourAuthToken</div>
</li>
<li class="li1">
<div class="de1">X-Storage-Token: yourStorageToken</div>
</li>
<li class="li1">
<div class="de1">X-Server-Management-Url: https:<span class="sy0">//</span>servers.api.rackspacecloud.com<span class="sy0">/</span>v1<span class="nu0">.0</span><span class="sy0">/</span>yourAccountNumber</div>
</li>
<li class="li1">
<div class="de1">Connection: Keep-Alive</div>
</li>
<li class="li1">
<div class="de1">X-CDN-Management-Url: https:<span class="sy0">//</span>cdn1.clouddrive.com<span class="sy0">/</span>v1<span class="sy0">/</span>yourAccountHash</div>
</li>
<li class="li1">
<div class="de1">Content-Length: <span class="nu0">0</span></div>
</li>
</ol>
</div>
<p>You now have the information you need to do the Edge Purge from the Akamai fronted CDN. To delete an object, you&#8217;ll need the &#8220;X-Auth-Token&#8221; and &#8220;X-CDN-Management-Url&#8221;.</p>
<p>To do an Edge Purge of the given object “foo.txt” in the container “bar”, send the following via curl:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">$ curl -D &#8211; -X DELETE -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;X-Purge-Email: your@email.address&quot;</span> &nbsp;https:<span class="sy0">//</span>cdn1.clouddrive.com<span class="sy0">/</span>v1<span class="sy0">/</span>yourAccountHash<span class="sy0">/</span>bar<span class="sy0">/</span>foo.txt</div>
</li>
</ol>
</div>
<p>You&#8217;ll receive the following in response as well as an email to your@email.address.</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">HTTP<span class="sy0">/</span><span class="nu0">1.1</span> <span class="nu0">204</span> No Content</div>
</li>
<li class="li1">
<div class="de1">Date: Date <span class="sy0">&amp;</span> Time</div>
</li>
<li class="li1">
<div class="de1">Server: Apache</div>
</li>
<li class="li1">
<div class="de1">X-Akam-Est-Time: <span class="nu0">420</span></div>
</li>
<li class="li1">
<div class="de1">X-Akam-Result-Code: <span class="nu0">100</span></div>
</li>
<li class="li1">
<div class="de1">Content-Length: <span class="nu0">0</span></div>
</li>
<li class="li1">
<div class="de1">Connection: close</div>
</li>
<li class="li1">
<div class="de1">Content-Type: text<span class="sy0">/</span>plain; <span class="re2">charset=</span>UTF<span class="nu0">-8</span></div>
</li>
</ol>
</div>
<p>To do an Edge Purge of the container &#8220;bar&#8221;, send the following via curl:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">curl -D &#8211; -H <span class="st0">&quot;X-Auth-Token: yourAuthToken&quot;</span> -H <span class="st0">&quot;X-Purge-Email: your@email.address&quot;</span> -X DELETE https:<span class="sy0">//</span>cdn1.clouddrive.com<span class="sy0">/</span>v1<span class="sy0">/</span>yourAccountHash<span class="sy0">/</span>bar<span class="sy0">/</span></div>
</li>
</ol>
</div>
<p>You should receive a response identical to the one you did for object Edge Purge.</p>
<p>That&#8217;s it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/06/29/edge-purge-content-from-rackspace-cloud-files-via-curl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Day I Will Never Forget</title>
		<link>http://www.collazo.ws/2011/05/02/a-day-i-will-never-forget</link>
		<comments>http://www.collazo.ws/2011/05/02/a-day-i-will-never-forget#comments</comments>
		<pubDate>Mon, 02 May 2011 15:39:09 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/?p=1023</guid>
		<description><![CDATA[There are some events that stay with a person for the rest of their life &#8211; moments where a person says &#8220;I remember where I was when that happened.&#8221; There have been several of these events in my lifetime. Sure, &#8230;<p class="read-more"><a href="http://www.collazo.ws/2011/05/02/a-day-i-will-never-forget">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>There are some events that stay with a person for the rest of their life &#8211; moments where a person says &#8220;I remember where I was when that happened.&#8221; There have been several of these events in my lifetime. Sure, I remember some things about <a target="_blank" href="http://en.wikipedia.org/wiki/Death_of_John_Lennon">John Lennon&#8217;s death</a> and the <a target="_blank" href="http://en.wikipedia.org/wiki/Reagan_assassination_attempt">attempted assassination of Ronald Reagan</a>. I definitely remember where I was when the Space Shuttles <a target="_blank" href="http://en.wikipedia.org/wiki/Space_Shuttle_Challenger_disaster">Challenger</a> and <a target="_blank" href="http://en.wikipedia.org/wiki/Space_Shuttle_Columbia_disaster">Columbia</a> exploded, and when the <a target="_blank" href="http://en.wikipedia.org/wiki/Gulf_War">First Gulf War</a> started.</p>
<p>Perhaps the one event in recent memory that has affected me most though is the <a target="_blank" href="http://en.wikipedia.org/wiki/September_11_attacks">attacks of September 11, 2001</a>. I still can&#8217;t watch news footage from that day or hear the recollection of those directly affected without choking up. There are many things that occur daily in the United States of America but nothing like what happened that day. That event changed the life of a lot of people. As we approached the 10th anniversary of the attacks, I still thought of where I was on that day. Usually, random thoughts will pop in to my head when I see an airplane overhead or walk in to an airport.<br />
<span id="more-1023"></span><br />
Yesterday, at ~22:30 CDT (-0600 GMT), <a target="_blank" href="http://www.youtube.com/watch?v=ZNYmK19-d0U&#038;feature=player_embedded">President Barack Obama announced the death</a> of Osama bin Laden, the man who was the mastermind behind the 9/11 attacks. The first feeling I had was excitement that &#8220;we&#8221; had caught our man. As I heard the <a target="_blank" href="http://www.whitehouse.gov/the-press-office/2011/05/02/remarks-president-osama-bin-laden">President&#8217;s words</a>, I could only nod my head in agreement when I heard him say &#8220;<em>On nights like this one, we can say to those families who lost loved ones to al Qaeda&#8217;s terror: justice has been done.</em>&#8221; When he said &#8220;<em>A small team of Americans carried out the operation with extraordinary courage and capability. No Americans were harmed. They took care to avoid civilian casualties. After a firefight they killed Osama Bin Laden and took custody of his body</em>,&#8221; I was thankful that no American&#8217;s died on the mission.</p>
<p>While watching his live address, I watched my Twitter stream to see what people were saying. Some were very amusing like:</p>
<p><!-- tweet id : 64900834676322305 --><br />
<style type='text/css'>#bbpBox_64900834676322305 a { text-decoration:none; color:#CC3366; }#bbpBox_64900834676322305 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_64900834676322305' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#DBE9ED; background-image:url(http://a2.twimg.com/profile_background_images/67395299/eagle_kp09.jpg);'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>Unix says it best:  chmod +x /bin/laden</span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 1, 2011 4:55 pm' href='http://twitter.com/#!/neiltyson/status/64900834676322305' target='_blank'>May 1, 2011 4:55 pm</a> via web<a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=64900834676322305' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=64900834676322305' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=64900834676322305' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=neiltyson'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a2.twimg.com/profile_images/74188698/NeilTysonOriginsA-Crop_normal.jpg' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=neiltyson'>@neiltyson</a>
<div style='margin:0; padding-top:2px'>Neil deGrasse Tyson</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p><!-- tweet id : 64904234797244416 --><br />
<style type='text/css'>#bbpBox_64904234797244416 a { text-decoration:none; color:#990000; }#bbpBox_64904234797244416 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_64904234797244416' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#9AE4E8; background-image:url(http://a1.twimg.com/profile_background_images/11081796/mm_twitter_classic.jpg); background-repeat:no-repeat'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#000000; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>FOX News:  Elderly Man on Dialysis Killed by Young African-American Male</span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 1, 2011 5:09 pm' href='http://twitter.com/#!/MMFlint/status/64904234797244416' target='_blank'>May 1, 2011 5:09 pm</a> via <a target="_blank" href="http://blackberry.com/twitter" rel="nofollow" target="blank">Twitter for BlackBerry®</a><a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=64904234797244416' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=64904234797244416' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=64904234797244416' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=MMFlint'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a2.twimg.com/profile_images/1280447898/twitter_normal.jpg' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=MMFlint'>@MMFlint</a>
<div style='margin:0; padding-top:2px'>Michael Moore</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p><!-- tweet id : 64901723600322560 --><br />
<style type='text/css'>#bbpBox_64901723600322560 a { text-decoration:none; color:#608059; }#bbpBox_64901723600322560 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_64901723600322560' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#95C68B; background-image:url(http://a0.twimg.com/profile_background_images/4009366/sky.png);'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>Beloved character actor Osama bin Laden, star of TV&#8217;s &#8220;Fox News&#8221;, dies age 54</span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 1, 2011 4:59 pm' href='http://twitter.com/#!/me_irl/status/64901723600322560' target='_blank'>May 1, 2011 4:59 pm</a> via web<a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=64901723600322560' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=64901723600322560' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=64901723600322560' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=me_irl'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a2.twimg.com/profile_images/1313488248/210711_10150163329752348_517877347_6551427_7190237_o_normal.jpg' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=me_irl'>@me_irl</a>
<div style='margin:0; padding-top:2px'>the government man</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p><!-- tweet id : 64899438136659969 --><br />
<style type='text/css'>#bbpBox_64899438136659969 a { text-decoration:none; color:#0099B9; }#bbpBox_64899438136659969 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_64899438136659969' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#0099B9; background-image:url(http://a1.twimg.com/profile_background_images/4765437/capcap.jpg);'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#184dfb; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>So when Obama said last week he had &#8216;better stuff to do&#8217; than talk about his birth certificate&#8230; Yeah.</span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 1, 2011 4:50 pm' href='http://twitter.com/#!/ewstephe/status/64899438136659969' target='_blank'>May 1, 2011 4:50 pm</a> via <a target="_blank" href="http://www.tweetdeck.com" rel="nofollow" target="blank">TweetDeck</a><a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=64899438136659969' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=64899438136659969' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=64899438136659969' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=ewstephe'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a0.twimg.com/profile_images/70682128/hiar_normal.jpg' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=ewstephe'>@ewstephe</a>
<div style='margin:0; padding-top:2px'>Emily Stephenson</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p><!-- tweet id : 64891235353104384 --><br />
<style type='text/css'>#bbpBox_64891235353104384 a { text-decoration:none; color:#0084B4; }#bbpBox_64891235353104384 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_64891235353104384' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#C0DEED; background-image:url(http://a3.twimg.com/a/1304019356/images/themes/theme1/bg.png); background-repeat:no-repeat'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>They should have captured Bin Laden alive and made him continually go through airport security for the rest of his life.</span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 1, 2011 4:17 pm' href='http://twitter.com/#!/jperrotto/status/64891235353104384' target='_blank'>May 1, 2011 4:17 pm</a> via web<a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=64891235353104384' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=64891235353104384' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=64891235353104384' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=jperrotto'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a0.twimg.com/profile_images/80300224/Perrotto__John_normal.jpg' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=jperrotto'>@jperrotto</a>
<div style='margin:0; padding-top:2px'>John Perrotto</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p>There were some funny pictures posted:<br />
<a href="http://cdn.collazo.ws/wp-content/uploads/2011/05/KDssc.jpg"><img alt="" src="http://cdn.collazo.ws/wp-content/uploads/2011/05/KDssc.jpg" title="Birth Certificate?!" class="alignnone" width="450" height="286" /></a><br />
<a href="http://cdn.collazo.ws/wp-content/uploads/2011/05/IDsF2.gif"><img alt="" src="http://cdn.collazo.ws/wp-content/uploads/2011/05/IDsF2.gif" title="Obama Door Kick" class="aligncenter" width="255" height="156" /></a><br />
<a target="_blank" href="http://twitpic.com/4s8z16"><img alt="" src="http://web6.twitpic.com/img/289312602-a98d8778a73f37d5246ece7c455d3047.4dbecdf8-full.jpg" title="Fox News gaffe" class="aligncenter" width="600" height="448" /></a></p>
<p>There were some that were insightful:</p>
<p><!-- tweet id : 64895357355704320 --><br />
<style type='text/css'>#bbpBox_64895357355704320 a { text-decoration:none; color:#870000; }#bbpBox_64895357355704320 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_64895357355704320' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#6D78B4; background-image:url(http://a2.twimg.com/profile_background_images/131382362/lewis-johnstons_branch_newsies.jpg);'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#000000; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>This is a night that justifies the Library of Congress archiving all of Twitter.</span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 1, 2011 4:33 pm' href='http://twitter.com/#!/klerner/status/64895357355704320' target='_blank'>May 1, 2011 4:33 pm</a> via <a target="_blank" href="http://www.tweetdeck.com" rel="nofollow" target="blank">TweetDeck</a><a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=64895357355704320' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=64895357355704320' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=64895357355704320' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=klerner'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a2.twimg.com/profile_images/1096240556/PICT0114_normal.JPG' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=klerner'>@klerner</a>
<div style='margin:0; padding-top:2px'>Kevin Lerner</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p><!-- tweet id : 64890932109123585 --><br />
<style type='text/css'>#bbpBox_64890932109123585 a { text-decoration:none; color:#AD7138; }#bbpBox_64890932109123585 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_64890932109123585' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#ffffff; background-image:url(http://a0.twimg.com/profile_background_images/218439327/NYO_Twitter_background.jpg); background-repeat:no-repeat'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>Look at Obama&#8217;s face when Seth Meyers made the joke about Bin Laden last night. Meme-creators, go to town. <a target="_blank" href="http://twitpic.com/4s777w" rel="nofollow">http://twitpic.com/4s777w</a></span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 1, 2011 4:16 pm' href='http://twitter.com/#!/NewYorkObserver/status/64890932109123585' target='_blank'>May 1, 2011 4:16 pm</a> via <a target="_blank" href="http://twitpic.com" rel="nofollow" target="blank">Twitpic</a><a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=64890932109123585' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=64890932109123585' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=64890932109123585' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=NewYorkObserver'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a2.twimg.com/profile_images/657453344/nyo-avatar_normal.png' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=NewYorkObserver'>@NewYorkObserver</a>
<div style='margin:0; padding-top:2px'>NewYorkObserver</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p>And lastly, there were some that reflected what I was feeling as I saw people celebrating:</p>
<p><!-- tweet id : 64895260857344001 --><br />
<style type='text/css'>#bbpBox_64895260857344001 a { text-decoration:none; color:#0924f0; }#bbpBox_64895260857344001 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_64895260857344001' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#4c605f; background-image:url(http://a3.twimg.com/profile_background_images/4824866/susantwitter_resizeB.jpg); background-repeat:no-repeat'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#231c1a; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>&#8220;I never wanted to see anybody die, but there are a few obituary notices I have read with pleasure.&#8221; &#8211; Clarence Darrow</span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 1, 2011 4:33 pm' href='http://twitter.com/#!/SusanEJacobsen/status/64895260857344001' target='_blank'>May 1, 2011 4:33 pm</a> via <a target="_blank" href="http://www.tweetdeck.com" rel="nofollow" target="blank">TweetDeck</a><a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=64895260857344001' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=64895260857344001' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=64895260857344001' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=SusanEJacobsen'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a2.twimg.com/profile_images/1237162104/sjharley3_normal.jpg' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=SusanEJacobsen'>@SusanEJacobsen</a>
<div style='margin:0; padding-top:2px'>Susan Jacobsen</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p><!-- tweet id : 65021421952311296 --><br />
<style type='text/css'>#bbpBox_65021421952311296 a { text-decoration:none; color:#2424ff; }#bbpBox_65021421952311296 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_65021421952311296' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#ffffff; background-image:url(http://a0.twimg.com/profile_background_images/220365877/twitter-final2.jpg); background-repeat:no-repeat'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#000000; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>In the particular way America is celebrating bin Laden&#8217;s death we see the monster&#8217;s most enduring &#038; lamentable victory: <a target="_blank" href="http://bit.ly/lHAl3H" rel="nofollow">http://bit.ly/lHAl3H</a></span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.collazo.ws/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a target="_blank" title='tweeted on May 2, 2011 12:54 am' href='http://twitter.com/#!/davidsirota/status/65021421952311296' target='_blank'>May 2, 2011 12:54 am</a> via web<a target="_blank" href='https://twitter.com/intent/tweet?in_reply_to=65021421952311296' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a target="_blank" href='https://twitter.com/intent/retweet?tweet_id=65021421952311296' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a target="_blank" href='https://twitter.com/intent/favorite?tweet_id=65021421952311296' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" href='http://twitter.com/intent/user?screen_name=davidsirota'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a3.twimg.com/profile_images/1227891083/sirota2321_normal.jpg' /></a></div>
<div style='float:left; padding:0; margin:0'><a target="_blank" style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=davidsirota'>@davidsirota</a>
<div style='margin:0; padding-top:2px'>David Sirota</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>
<p>Another day has passed. I will always remember where I was when this happened.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/05/02/a-day-i-will-never-forget/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweets for 2011-05-02</title>
		<link>http://www.collazo.ws/2011/05/02/tweets-for-2011-05-02-2</link>
		<comments>http://www.collazo.ws/2011/05/02/tweets-for-2011-05-02-2#comments</comments>
		<pubDate>Mon, 02 May 2011 05:59:00 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/2011/05/02/tweets-for-2011-05-02-2</guid>
		<description><![CDATA[How many newspaper editors are rushing to redo their front page for tomorrow? # Best video of the current Osama coverage: http://youtu.be/XZ5TajZYW6Y #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>How many newspaper editors are rushing to redo their front page for tomorrow? <a target="_blank" href="http://twitter.com/rcollazo/statuses/64898623095312385" class="aktt_tweet_time">#</a></li>
<li>Best video of the current Osama coverage: <a target="_blank" href="http://youtu.be/XZ5TajZYW6Y" rel="nofollow">http://youtu.be/XZ5TajZYW6Y</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/64915888389890048" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/05/02/tweets-for-2011-05-02-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweets for 2011-05-02</title>
		<link>http://www.collazo.ws/2011/05/02/tweets-for-2011-05-02</link>
		<comments>http://www.collazo.ws/2011/05/02/tweets-for-2011-05-02#comments</comments>
		<pubDate>Mon, 02 May 2011 05:59:00 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/2011/05/02/tweets-for-2011-05-02</guid>
		<description><![CDATA[How many newspaper editors are rushing to redo their front page for tomorrow? # Best video of the current Osama coverage: http://youtu.be/XZ5TajZYW6Y #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>How many newspaper editors are rushing to redo their front page for tomorrow? <a target="_blank" href="http://twitter.com/rcollazo/statuses/64898623095312385" class="aktt_tweet_time">#</a></li>
<li>Best video of the current Osama coverage: <a target="_blank" href="http://youtu.be/XZ5TajZYW6Y" rel="nofollow">http://youtu.be/XZ5TajZYW6Y</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/64915888389890048" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/05/02/tweets-for-2011-05-02/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweets for 2011-04-29</title>
		<link>http://www.collazo.ws/2011/04/29/tweets-for-2011-04-29-2</link>
		<comments>http://www.collazo.ws/2011/04/29/tweets-for-2011-04-29-2#comments</comments>
		<pubDate>Fri, 29 Apr 2011 05:59:00 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/2011/04/29/tweets-for-2011-04-29-2</guid>
		<description><![CDATA[Cloud Expertise Featured At Interop http://bit.ly/lmabRW # @AdamZilberbaum Try using Cyberduck for Rackspace Cloud Files instead of the Control Panel. http://bit.ly/ewicgo in reply to AdamZilberbaum # @IcyLiquid Pics or it didn&#039;t happen. in reply to IcyLiquid #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Cloud Expertise Featured At Interop <a target="_blank" href="http://bit.ly/lmabRW" rel="nofollow">http://bit.ly/lmabRW</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/63670037684289536" class="aktt_tweet_time">#</a></li>
<li>@<a target="_blank" href="http://twitter.com/AdamZilberbaum" class="aktt_username">AdamZilberbaum</a> Try using Cyberduck for Rackspace Cloud Files instead of the Control Panel. <a target="_blank" href="http://bit.ly/ewicgo" rel="nofollow">http://bit.ly/ewicgo</a> <a target="_blank" href="http://twitter.com/AdamZilberbaum/statuses/63668832518144000" class="aktt_tweet_reply">in reply to AdamZilberbaum</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/63710572939718656" class="aktt_tweet_time">#</a></li>
<li>@<a target="_blank" href="http://twitter.com/IcyLiquid" class="aktt_username">IcyLiquid</a> Pics or it didn&#039;t happen. <a target="_blank" href="http://twitter.com/IcyLiquid/statuses/63683592894689281" class="aktt_tweet_reply">in reply to IcyLiquid</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/63741731706912768" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/04/29/tweets-for-2011-04-29-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweets for 2011-04-29</title>
		<link>http://www.collazo.ws/2011/04/29/tweets-for-2011-04-29</link>
		<comments>http://www.collazo.ws/2011/04/29/tweets-for-2011-04-29#comments</comments>
		<pubDate>Fri, 29 Apr 2011 05:59:00 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/2011/04/29/tweets-for-2011-04-29</guid>
		<description><![CDATA[Cloud Expertise Featured At Interop http://bit.ly/lmabRW # @AdamZilberbaum Try using Cyberduck for Rackspace Cloud Files instead of the Control Panel. http://bit.ly/ewicgo in reply to AdamZilberbaum # @IcyLiquid Pics or it didn&#039;t happen. in reply to IcyLiquid #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Cloud Expertise Featured At Interop <a target="_blank" href="http://bit.ly/lmabRW" rel="nofollow">http://bit.ly/lmabRW</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/63670037684289536" class="aktt_tweet_time">#</a></li>
<li>@<a target="_blank" href="http://twitter.com/AdamZilberbaum" class="aktt_username">AdamZilberbaum</a> Try using Cyberduck for Rackspace Cloud Files instead of the Control Panel. <a target="_blank" href="http://bit.ly/ewicgo" rel="nofollow">http://bit.ly/ewicgo</a> <a target="_blank" href="http://twitter.com/AdamZilberbaum/statuses/63668832518144000" class="aktt_tweet_reply">in reply to AdamZilberbaum</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/63710572939718656" class="aktt_tweet_time">#</a></li>
<li>@<a target="_blank" href="http://twitter.com/IcyLiquid" class="aktt_username">IcyLiquid</a> Pics or it didn&#039;t happen. <a target="_blank" href="http://twitter.com/IcyLiquid/statuses/63683592894689281" class="aktt_tweet_reply">in reply to IcyLiquid</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/63741731706912768" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/04/29/tweets-for-2011-04-29/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweets for 2011-04-28</title>
		<link>http://www.collazo.ws/2011/04/28/tweets-for-2011-04-28-2</link>
		<comments>http://www.collazo.ws/2011/04/28/tweets-for-2011-04-28-2#comments</comments>
		<pubDate>Thu, 28 Apr 2011 05:59:00 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/2011/04/28/tweets-for-2011-04-28-2</guid>
		<description><![CDATA[@coltfred Just had time to read the article. I think that choosing the right provider is key. OpenStack = no lock in in reply to coltfred #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>@<a target="_blank" href="http://twitter.com/coltfred" class="aktt_username">coltfred</a> Just had time to read the article. I think that choosing the right provider is key. OpenStack = no lock in <a target="_blank" href="http://twitter.com/coltfred/statuses/62887668652056576" class="aktt_tweet_reply">in reply to coltfred</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/63394501451972609" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/04/28/tweets-for-2011-04-28-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweets for 2011-04-28</title>
		<link>http://www.collazo.ws/2011/04/28/tweets-for-2011-04-28</link>
		<comments>http://www.collazo.ws/2011/04/28/tweets-for-2011-04-28#comments</comments>
		<pubDate>Thu, 28 Apr 2011 05:59:00 +0000</pubDate>
		<dc:creator>robert</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.collazo.ws/2011/04/28/tweets-for-2011-04-28</guid>
		<description><![CDATA[@coltfred Just had time to read the article. I think that choosing the right provider is key. OpenStack = no lock in in reply to coltfred #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>@<a target="_blank" href="http://twitter.com/coltfred" class="aktt_username">coltfred</a> Just had time to read the article. I think that choosing the right provider is key. OpenStack = no lock in <a target="_blank" href="http://twitter.com/coltfred/statuses/62887668652056576" class="aktt_tweet_reply">in reply to coltfred</a> <a target="_blank" href="http://twitter.com/rcollazo/statuses/63394501451972609" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.collazo.ws/2011/04/28/tweets-for-2011-04-28/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 10/52 queries in 0.928 seconds using apc
Object Caching 1431/1510 objects using disk: basic
Content Delivery Network via Rackspace Cloud Files: cdn.collazo.ws

Served from: www.collazo.ws @ 2012-02-06 00:05:47 -->
