<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Cloud2013 Or Bust</title>
	<atom:link href="http://dlr2008.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dlr2008.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Fri, 27 Jan 2012 16:49:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dlr2008.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/c5a6dc7fff7eb26669869302e545238e?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Cloud2013 Or Bust</title>
		<link>http://dlr2008.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dlr2008.wordpress.com/osd.xml" title="Cloud2013 Or Bust" />
	<atom:link rel='hub' href='http://dlr2008.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Occupy Wall Street &#8211; Resources On The Web</title>
		<link>http://dlr2008.wordpress.com/2012/01/25/occupy-wall-street-resources-on-the-web/</link>
		<comments>http://dlr2008.wordpress.com/2012/01/25/occupy-wall-street-resources-on-the-web/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 19:48:53 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[Occupy Everything]]></category>
		<category><![CDATA[Occupy Los Angeles]]></category>
		<category><![CDATA[Occupy Wall Street]]></category>
		<category><![CDATA[OWS]]></category>
		<category><![CDATA[Amy Goodman]]></category>
		<category><![CDATA[Chris Hedges]]></category>
		<category><![CDATA[Democracy Now!]]></category>
		<category><![CDATA[Michael Moore]]></category>
		<category><![CDATA[Wall Street]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=2010</guid>
		<description><![CDATA[Online Resource For The Occupy Movement<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=2010&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2 align="center"><span style="color:#ff0000;"><a title="Photo Sharing" href="http://www.flickr.com/photos/26095572@N07/6373613127/"><img style="display:block;float:none;margin-left:auto;margin-right:auto;" src="http://static.flickr.com/6046/6373613127_9780c7d60f.jpg" alt="6373613127" width="486" height="323" /></a></span></h2>
<h1 align="center"><span style="color:#ff0000;">Specific Occupy Sites<a title="Photo Sharing" href="http://www.flickr.com/photos/26095572@N07/6380026599/"><img style="display:inline;margin-left:0;margin-right:0;" src="http://static.flickr.com/6044/6380026599_db3ba709db.jpg" alt="6380026599" width="250" height="315" align="right" /></a></span></h1>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<li>
<h2 align="left"><a href="http://occupywallst.org/" target="_blank">Occupy Wall Street</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.occupyboston.org/" target="_blank">Occupy Boston</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.occupytogether.org/" target="_blank">Occupy Together</a></h2>
</li>
<li>
<h2 align="left"><a href="http://occupycolleges.org/" target="_blank">Occupy Colleges</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.occupymaine.com/" target="_blank">Occupy Maine</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.womenoccupy.org/" target="_blank">Occupy Women</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.occupylosangeles.org/" target="_blank">Occupy LA</a></h2>
</li>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
<p align="center">
<p align="center">
<h2 align="center"><span style="color:#ff0000;">Alternative Press &amp; Blogs With Occupy Wall Street Coverage</span></h2>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<ul>
<li>
<h2 align="left"><a href="http://www.thestreetspirit.org/" target="_blank">The Street Spirit</a><a title="Photo Sharing" href="http://www.flickr.com/photos/26095572@N07/6380018433/"><img style="display:inline;margin-left:0;margin-right:0;" src="http://static.flickr.com/6038/6380018433_9172323197.jpg" alt="6380018433" width="303" height="201" align="right" /></a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.democracynow.org/" target="_blank">Democracy Now</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.truthdig.com/" target="_blank">Truth Dig</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.truth-out.org/" target="_blank">Truth Out</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.alternet.org/" target="_blank">AlterNet</a></h2>
</li>
<li>
<h2 align="left"><a href="http://www.counterpunch.org/" target="_blank">Counterpunch</a></h2>
</li>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
<h1 align="center"></h1>
<h1 align="center"></h1>
<h1 align="center"></h1>
<h1 align="center"><span style="color:#ff0000;">You Tube</span></h1>
<p align="center">
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:7d06ba43-927c-4c1e-92d3-7a93578ada6a" class="wlWriterEditableSmartContent" style="width:425px;display:inline;float:left;margin:0;padding:15px;">
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2012/01/25/occupy-wall-street-resources-on-the-web/"><img src="http://img.youtube.com/vi/DeJOUqcZSZI/2.jpg" alt="" /></a></span></div>
<div style="clear:both;font-size:.8em;">Chris Hedges and Amy Goodman</div>
</div>
<p align="center">
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:0f3dab77-db0f-4169-85d6-c15174e71a3f" class="wlWriterEditableSmartContent" style="width:425px;display:inline;float:right;margin:0;padding:15px;">
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2012/01/25/occupy-wall-street-resources-on-the-web/"><img src="http://img.youtube.com/vi/yz-AE2TGtDM/2.jpg" alt="" /></a></span></div>
<div style="clear:both;font-size:.8em;">Michael Moore</div>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:bc1218d4-9968-4067-8760-745c298da153" class="wlWriterEditableSmartContent" style="width:425px;display:block;float:none;margin:0 auto;padding:0;">
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2012/01/25/occupy-wall-street-resources-on-the-web/"><img src="http://img.youtube.com/vi/n2-T6ox_tgM/2.jpg" alt="" /></a></span></div>
<div style="clear:both;font-size:.8em;">#Occupy Bat Signal</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/2010/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/2010/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/2010/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/2010/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/2010/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/2010/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/2010/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/2010/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/2010/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/2010/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/2010/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/2010/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/2010/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/2010/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=2010&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2012/01/25/occupy-wall-street-resources-on-the-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://static.flickr.com/6046/6373613127_9780c7d60f.jpg" medium="image">
			<media:title type="html">6373613127</media:title>
		</media:content>

		<media:content url="http://static.flickr.com/6044/6380026599_db3ba709db.jpg" medium="image">
			<media:title type="html">6380026599</media:title>
		</media:content>

		<media:content url="http://static.flickr.com/6038/6380018433_9172323197.jpg" medium="image">
			<media:title type="html">6380018433</media:title>
		</media:content>
	</item>
		<item>
		<title>Web API: HTTP Restful Endpoints, The WCF Way (Part II)</title>
		<link>http://dlr2008.wordpress.com/2012/01/25/web-api-http-restful-endpoints-the-wcf-way-part-ii/</link>
		<comments>http://dlr2008.wordpress.com/2012/01/25/web-api-http-restful-endpoints-the-wcf-way-part-ii/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 18:35:34 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Hypertext Transfer Protocol]]></category>
		<category><![CDATA[Representational State Transfer]]></category>
		<category><![CDATA[Web service]]></category>
		<category><![CDATA[Window Communication Foundation]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=1996</guid>
		<description><![CDATA[Implementing Dynamic RESTful HTTP Endpoints in .NET <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1996&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h5><a href="http://dlr2008.wordpress.com/2012/01/24/web-api-http-restful-endpoints-the-wcf-way/" target="_blank"><span style="font-family:time;">Part I: Overview and Serialization</span></a></h5>
<h5><span style="font-family:time;"><a href="http://wp.me/pws6m-wc">Part II: WCF Endpoints (This Post)</a></span></h5>
<p><a href="http://wp.me/pws6m-wz">Part III: Implementing WCF Endpoints</a></p>
<h3 align="center"><span style="font-family:time;"><a class="zem_slink" title="Representational state transfer" href="http://en.wikipedia.org/wiki/Representational_state_transfer" rel="wikipedia">RESTful</a> GET Requests in WCF</span></h3>
<p><span style="font-family:time;">WCF for REST provides a strong set of tools to develop HTTP Endpoints in a RESTful manner, optimized for being called by Browsers and returning <a class="zem_slink" title="JSON" href="http://en.wikipedia.org/wiki/JSON" rel="wikipedia">JSON</a> in the response body.  In this post will will look at how to develop WCF RESTful endpoint to respond to <a class="zem_slink" title="Hypertext Transfer Protocol" href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol" rel="wikipedia">HTTP GET request</a>.  Our emphasis will be on:<a href="http://www.flickr.com/photos/dennisredfield/6732997231/in/photostream/lightbox/"><img style="display:inline;border:0;margin:15px;" title="6732995643_61267eb04f_b" src="http://dlr2008.files.wordpress.com/2012/01/6732995643_61267eb04f_b_thumb.jpg?w=246&#038;h=206" alt="6732995643_61267eb04f_b" width="246" height="206" align="right" border="0" /></a> </span></p>
<ul>
<li><span style="font-family:time;">Serialization</span>
<ul>
<li><span style="font-family:time;"><a class="zem_slink" title="XML" href="http://en.wikipedia.org/wiki/XML" rel="wikipedia">XML</a></span></li>
<li><span style="font-family:time;">JSON</span></li>
<li><span style="font-family:time;">Text</span></li>
</ul>
</li>
<li><span style="font-family:time;">Header processing</span>
<ul>
<li><span style="font-family:time;">Accept Headers</span></li>
</ul>
</li>
<li><span style="font-family:time;">Dynamic HTTP Endpoint creation</span>
<ul>
<li><span style="font-family:time;">Simple methods to make endpoints visible </span></li>
</ul>
</li>
<li><span style="font-family:time;">Ease of Development</span>
<ul>
<li><span style="font-family:time;">Consistency</span></li>
<li><span style="font-family:time;">Clarity</span></li>
</ul>
</li>
</ul>
<p><span style="font-family:time;">We will not deal in this post with HTTP POST or with security  (authentication and authorization) issues.  From 10,000 feet the processing tasks preformed during and HTTP GET request are:</span></p>
<ul>
<li><span style="font-family:time;">Authentication </span></li>
<li><span style="font-family:time;">Header Processing</span></li>
<li><span style="font-family:time;">Passing Control to a a Worker object</span>
<ul>
<li><span style="font-family:time;">Authorization</span></li>
<li><span style="font-family:time;">return a generic Object To the HTTP Get Processor</span></li>
</ul>
</li>
<li><span style="font-family:time;">Error Processing</span></li>
<li><span style="font-family:time;">Serialization</span>
<ul>
<li><span style="font-family:time;">Based on Accept Header Arguments</span></li>
</ul>
</li>
</ul>
<p><span style="font-family:time;">IIS (Microsoft’s Web Server) handles HTTP request using HTTP.SYS (</span><a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/a2a45c42-38bc-464c-a097-d7a202092a54.mspx?mfr=true" target="_blank"><span style="font-family:time;">IIS 6</span></a><span style="font-family:time;">, </span><a href="http://learn.iis.net/page.aspx/101/introduction-to-iis-architecture/" target="_blank"><span style="font-family:time;">IIS 7</span></a><span style="font-family:time;">).  IIS handles requests as a stream the key process in which the key developer hook into the system is with the </span><span style="font-family:time;">method call:<a href="http://www.flickr.com/photos/dennisredfield/6733016423/in/photostream/lightbox/"><img style="display:inline;border:0;margin:15px;" title="6733008895_88c6b2e785_b" src="http://dlr2008.files.wordpress.com/2012/01/6733008895_88c6b2e785_b_thumb.jpg?w=246&#038;h=209" alt="6733008895_88c6b2e785_b" width="246" height="209" align="right" border="0" /></a> </span></p>
<blockquote><p><span style="font-family:time;"><span style="font-family:'Courier New';">public Message AllURIs( Message msg )</span> where </span><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.message.aspx" target="_blank"><span style="font-family:time;">Message</span></a><span style="font-family:time;"> is defined  as:</span></p>
<p><span style="font-family:cour;">using System;<br />
using System.Runtime.Serialization;<br />
using System.ServiceModel;<br />
using System.Xml; </span></p>
<p><span style="font-family:cour;">namespace System.ServiceModel.Channels<br />
{<br />
// Summary:  Represents the unit of communication between endpoints in a distributed environment.<br />
public abstract class Message : IDisposable<br />
{…}</span></p>
<p><span style="font-family:cour;">…</span></p>
<p><span style="font-family:cour;">}</span></p></blockquote>
<p><span style="font-family:time;">Note dear reader that Message is an object which represents a <a class="zem_slink" title="SOAP" href="http://en.wikipedia.org/wiki/SOAP" rel="wikipedia">SOAP</a> envelope.  RESTful WCF allows us to generate a non-SOAP response type and eliminating the overhead of the XML SOAP envelop and return pure  XML, JSON or Text.  <strong>Our task is to create our own ALLURIs method which will return a Message class of our own design</strong>.  When a request is in the stream and (our version of) ALLURIs is called the request is running in a particular Context. The following calls make this context available to us:</span></p>
<blockquote><p><span style="font-family:'Courier New';">WebOperationContext webCtx = webCtx = WebOperationContext.Current;<br />
IncomingWebRequestContext requestCTX=webCtx.IncomingRequest;<br />
OutgoingWebResponseContext  outgoingCtx = webCtx.OutgoingResponse;</span></p></blockquote>
<p><span style="font-family:tim;">IncomingWebRequestContext.Method allows us to access what type of request we are processing (GET, POST, etc).</span></p>
<p><span style="font-family:tim;">IncomingWebRequestContext.Headers allows us to access the Headers associated with the request.</span></p>
<p><span style="font-family:tim;">IncomingWebRequestContext.UriTemplateMatch.QueryParameters allows us to access the query parameters associated with the request.<a href="http://www.flickr.com/photos/dennisredfield/6733016423/in/photostream/lightbox/"><img style="display:inline;border:0;margin:15px;" title="6733010987_52213894d1_b" src="http://dlr2008.files.wordpress.com/2012/01/6733010987_52213894d1_b_thumb.jpg?w=213&#038;h=244" alt="6733010987_52213894d1_b" width="213" height="244" align="right" border="0" /></a> </span></p>
<p><span style="font-family:tim;">To process any incoming message our first tasks will be to confirm the request type (i.e. An HTTP GET request) and handle an invalid request type appropriately.  A typical error response is to set the HTTP Status Code to a well defined value and return a null Message object.</span></p>
<blockquote><p><span style="font-family:'Courier New';">if ( requestCTX.Method != &#8220;GET&#8221; )<br />
{<br />
outgoingCtx.StatusCode = System.Net.HttpStatusCode.BadRequest;</span></p>
<p><span style="font-family:'Courier New';">               return null;</span></p>
<p><span style="font-family:'Courier New';">}</span></p></blockquote>
<h3 align="center"><a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html" target="_blank">Accept Headers</a></h3>
<p><span style="font-family:times;">Our next task is to process any request Headers which are important to us.  In our case we want to process the Accept Header to see how we will serialize the output object.  We can locate the Accept header several ways, but WCF provides a helper method to ease the process:</span></p>
<p>IncomingWebRequestContext<span style="font-family:'Courier New';">.Accept</span></p>
<p><span style="font-family:time;">Accept headers contain a list of acceptable formats of the response body (our Message class) as defined my the caller (typically the Browser).  These are known as <a href="http://en.wikipedia.org/wiki/Internet_media_type" target="_blank">MIME Types</a> and fall into three categories:  well known types (such as application/xhtml+xml, vendor defined types (like application/vnd.myformat) and the generic “give me anything” type (*/*). An accept header is NOT mandatory and the Accept header may (often will) contain more than one MIME type.  WCF does not provide a helper function to parse the Accept Header but since it is a simple coma delimited string we can call a string.Split function to get an array of string accept values. Once we know what responses the caller (browser) can accept our job is to return our C# object in the proper serialized form.  I will discuss three serialization, JSON (application/json), XML (application/xml+xhtml) and </span>text(text/plain). We assume here that the C# object to be serialized has been annotated with the appropriate DataContract and XML Attributes (<a href="http://dlr2008.wordpress.com/2012/01/24/web-api-http-restful-endpoints-the-wcf-way/" target="_blank">See Part I</a>).  Our basic tool is the Message method <a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.message.createmessage(v=vs.90).aspx" target="_blank">CreateMessage</a>. This method is overloaded and we will use <a href="http://msdn.microsoft.com/en-us/library/ms195454(v=vs.90).aspx" target="_blank">this</a> form:</p>
<blockquote>
<pre>public static Message CreateMessage(
	MessageVersion version,
	string action,
	Object body,
	XmlObjectSerializer serializer
)</pre>
</blockquote>
<p><span style="font-family:times;">Let cObject represent the object we wish to serialize our basic calls is:</span></p>
<pre>Message msg=Message.CreateMessage(MessageVersion.None,”*”,cObject,{our serializer goes here});</pre>
<p><span style="font-family:times;">So our goal now is to create a serializer for each of the types we wish to support. Lets start with the JSON serializer (have you been waiting all this time for this?):</span></p>
<blockquote><p><span style="font-family:'Courier New';">private static XmlObjectSerializer _JSONSerializer( object msg )<br />
{<br />
WebBodyFormatMessageProperty formatter=new WebBodyFormatMessageProperty( WebContentFormat.Json );<br />
OperationContext.Current.OutgoingMessageProperties.Add( WebBodyFormatMessageProperty.Name, formatter );<br />
WebOperationContext.Current.OutgoingResponse.ContentType = &#8220;application/json&#8221;;<br />
return new DataContractJsonSerializer( msg.GetType( ) ); </span></p>
<p><span style="font-family:'Courier New';">       }</span></p></blockquote>
<p><span style="font-family:times;">and now our call then becomes:</span></p>
<blockquote><p><span style="font-family:'Courier New';">Message msg=Message.CreateMessage(MessageVersion.None,”*”,cObject,_JSONSerializer( cObject ));</span></p></blockquote>
<p><span style="font-family:times;">Our XML serializer is just as simple:</span></p>
<blockquote><p><span style="font-family:'Courier New';">private static XmlObjectSerializer _XMLSerializer( object msg )<br />
{<br />
WebBodyFormatMessageProperty formatter=new WebBodyFormatMessageProperty( WebContentFormat.Xml );<br />
OperationContext.Current.OutgoingMessageProperties.Add( WebBodyFormatMessageProperty.Name, formatter );<br />
WebOperationContext.Current.OutgoingResponse.ContentType = &#8220;application/xml+xhtml&#8221;;<br />
return new DataContractSerializer( msg.GetType( ) );<br />
}</span></p></blockquote>
<p><span style="font-family:times;">and now our call then becomes:</span></p>
<blockquote><p><span style="font-family:'Courier New';">Message msg=Message.CreateMessage(MessageVersion.None,”*”,cObject,_XMLSerializer( cObject ));</span></p></blockquote>
<p><span style="font-family:'Courier New';">The only “hard” serializer is for plain text (text/plain). For this we need to first replace the default BodyWriter method with our own:</span></p>
<blockquote><p><span style="font-family:'Courier New';">public class TextBodyWriter : BodyWriter<br />
{<br />
byte[] messageBytes;<br />
public TextBodyWriter( string message )<br />
: base( true )<br />
{<br />
this.messageBytes = Encoding.UTF8.GetBytes( message );<br />
}<br />
protected override void OnWriteBodyContents( System.Xml.XmlDictionaryWriter writer )<br />
{<br />
writer.WriteStartElement( &#8220;Binary&#8221; );<br />
writer.WriteBase64( this.messageBytes, 0, this.messageBytes.Length );<br />
writer.WriteEndElement( );<br />
}<br />
}</span></p></blockquote>
<p><span style="font-family:'Courier New';">then our text serializer becomes:</span></p>
<blockquote><p><span style="font-family:'Courier New';">public static Message CreateRawMessage( object msg )<br />
{<br />
try<br />
{<br />
<span style="color:#ff0000;">string sMsg=msg.ToString( ); //See Note Below<br />
</span>               Message reply=Message.CreateMessage( MessageVersion.None, null, new TextBodyWriter( sMsg ) );<br />
reply.Properties[WebBodyFormatMessageProperty.Name] = new WebBodyFormatMessageProperty( WebContentFormat.Raw );<br />
WebOperationContext.Current.OutgoingResponse.ContentType = &#8220;text/plain&#8221;;<br />
return reply;<br />
}<br />
catch ( Exception xx )<br />
{<br />
throw new ApplicationException( &#8220;CreateRawMessage&#8221;, xx );<br />
}<br />
}</span></p></blockquote>
<p><span style="font-family:times;">and now our call then becomes: </span></p>
<blockquote><p><span style="font-family:'Courier New';">Message msg=Message.CreateMessage(MessageVersion.None,”*”,cObject, CreateRawMessage( cObject ));</span></p></blockquote>
<p><span style="font-family:times;"><strong>Note: In order to make this code as generic as possible I am overloading the ToString method of the C# Object to generate the appropriate text output we want.  Here is our example object from Part I with the ToString method overwritten:<a href="http://www.flickr.com/photos/dennisredfield/6733016423/in/photostream/lightbox/"><img style="display:inline;border:0;margin:15px;" title="6733014367_0beaa22071_b" src="http://dlr2008.files.wordpress.com/2012/01/6733014367_0beaa22071_b_thumb.jpg?w=246&#038;h=204" alt="6733014367_0beaa22071_b" width="246" height="204" align="right" border="0" /></a> </strong></span></p>
<blockquote><p><span style="font-family:'Courier New';">[DataContract]<br />
public class CObject{<br />
[DataMember]<br />
public string ID { get; set; }<br />
[DataMember]<br />
public string Name { get; set; }<br />
[DataMember]<br />
public List&lt;string&gt; Data { get; set; }<br />
public CObject( ){<br />
Data = new List&lt;string&gt;( );<br />
}</span></p>
<p><span style="font-family:'Courier New';">  <span style="color:#ff0000;"> <strong>public string ToString(){</strong></span></span></p>
<p><span style="color:#ff0000;font-family:'Courier New';"><strong>      return string.Format(“ID:{0} Name: {1}”,ID,Name);</strong></span></p></blockquote>
<blockquote><p><span style="font-family:'Courier New';"><strong><span style="color:#ff0000;">   }</span></strong></span></p>
<p>}</p></blockquote>
<p><span style="font-family:times;">We can wrap this all up into a base class to make deriving new endpoints as follows:</span></p>
<blockquote><p>public class CGetBaseClass<br />
{<br />
public Message AllURIs( Message msg )<br />
{</p>
<p>Message response=null;</p>
<p>//process security here</p>
<p>//process headers here</p>
<p>//call a method to do the actual work</p>
<p>//pass in the headers (in case there are special headers to be processed by the worker method</p>
<p>//pass in the query parameter to be processed by the worker method</p>
<p>//call a virtual function</p>
<p>object thing=GetObject( requestCTX, requestCTX.UriTemplateMatch.QueryParameters);</p>
<p>//call the appropriate serializer here</p>
<p>//return the properly formatted response Message</p>
<p>outgoingCtx.StatusCode = System.Net.HttpStatusCode.OK;</p>
<p>return Message;</p>
<p>}</p>
<p>protected virtual object GetObject( IncomingWebRequestContext requestCTX, NameValueCollection queryParameters )<br />
{<br />
throw new ApplicationException( &#8220;GetObject Not Implemented”);<br />
}</p>
<p>}</p></blockquote>
<p><span style="font-family:times;">Note we have make the GetObject method virtual so for any given endpoint which we which to implement we can derive from CGetBaseClass and simply overriding the GetObject method. As:</span></p>
<blockquote><p>public partial class GetMySpecialObject : CGetBaseClass<br />
{<br />
protected override object GetObject( IncomingWebRequestContext requestCTX, NameValueCollection queryParameters)<br />
{ /* Your Code Here */   }</p>
<p>}</p></blockquote>
<p>Ok That gets us up to actually implementing an Endpoint. And that is the story for the next post!</p>
<p><a href="http://www.flickr.com/photos/dennisredfield/6732997231/in/photostream/lightbox/"><br />
<img style="display:block;float:none;border:0;margin:15px auto;" title="6733016423_4812a29d6c_b" src="http://dlr2008.files.wordpress.com/2012/01/6732995643_61267eb04f_b_thumb.jpg?w=224&#038;h=150" alt="6733016423_4812a29d6c_b" width="224" height="150" border="0" /></a></p>
<pre></pre>
<h6 class="zemanta-related-title" style="font-size:1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://docserve.wordpress.com/2012/01/25/wcf-tutorial/">WCF Tutorial</a> (docserve.wordpress.com)</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1996/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1996&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2012/01/25/web-api-http-restful-endpoints-the-wcf-way-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/6732995643_61267eb04f_b_thumb.jpg" medium="image">
			<media:title type="html">6732995643_61267eb04f_b</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/6733008895_88c6b2e785_b_thumb.jpg" medium="image">
			<media:title type="html">6733008895_88c6b2e785_b</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/6733010987_52213894d1_b_thumb.jpg" medium="image">
			<media:title type="html">6733010987_52213894d1_b</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/6733014367_0beaa22071_b_thumb.jpg" medium="image">
			<media:title type="html">6733014367_0beaa22071_b</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/6732995643_61267eb04f_b_thumb.jpg" medium="image">
			<media:title type="html">6733016423_4812a29d6c_b</media:title>
		</media:content>
	</item>
		<item>
		<title>Web API: HTTP Restful Endpoints, The WCF Way</title>
		<link>http://dlr2008.wordpress.com/2012/01/24/web-api-http-restful-endpoints-the-wcf-way/</link>
		<comments>http://dlr2008.wordpress.com/2012/01/24/web-api-http-restful-endpoints-the-wcf-way/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 20:40:08 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[QCON 2011]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Hypertext Transfer Protocol]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Representational State Transfer]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=1969</guid>
		<description><![CDATA[Implementing Dynamic RESTful HTTP Endpoints in .NET <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1969&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3 align="left"><a href="http://wp.me/pws6m-vL">Part I: Overview and Serialization (this post)</a></h3>
<h3 align="left"><a href="http://wp.me/pws6m-wc">Part II: WCF Endpoints</a></h3>
<p><a href="http://wp.me/pws6m-wz">Part III: Implementing WCF EndPoints</a></p>
<h3 align="center">Restful HTTP Endpoints</h3>
<p><span style="font-family:time;">I love </span><a href="http://qconferences.com/" target="_blank"><span style="font-family:time;">QCON</span></a><span style="font-family:time;">, the technical web conference sponsored by I</span><a href="http://www.infoq.com/" target="_blank"><span style="font-family:time;">nfoQ</span></a><span style="font-family:time;">.  This year I attended the </span><a href="http://qconsf.com/" target="_blank"><span style="font-family:time;">conference</span></a><span style="font-family:time;"> in </span><a href="http://www.flickr.com/photos/dennisredfield/6439629043/in/set-72157628241884417/lightbox/" target="_blank"><span style="font-family:time;">San Francisco</span></a><span style="font-family:time;">.  Some nice things about QCON is that it is not a a trade conference for a major powerhouse like Microsoft or Google.  Although I am a regular attendee of Microsoft’s </span><a href="http://www.microsoft.com/events/mix/" target="_blank"><span style="font-family:time;">MIX</span></a><span style="font-family:time;"> conferences, but there is something to be said for QCON focus on emergent web technologies and its focus on ideas and not products. My conference report is can be found </span><a href="http://dlr2008.wordpress.com/2011/12/06/qcon-2011-san-francisco-and-occupy-california/" target="_blank"><span style="font-family:time;">here</span></a><span style="font-family:time;">. This year I attended the tutorial “</span><a href="http://qconsf.com/sf2011/presentations/show_presentation.jsp?oid=3458" target="_blank"><span style="font-family:time;">REST in Practice</span></a><span style="font-family:time;">” which was presented by the authors of the book “REST in Practice”, </span><a href="http://qconsf.com/sf2011/speaker/Ian+Robinson"><span style="font-family:time;">Ian Robinson </span></a><span style="font-family:time;">&amp; </span><a href="http://qconsf.com/sf2011/speaker/Jim+Webber"><span style="font-family:time;">Jim Webber</span></a><span style="font-family:time;">.  The presenters and the audience were very well informed on both the web in the real world and the minutia of HTTP programming.  For a nerd like me (NLM), nothing is more fun than getting into  the finer points of a </span><a href="http://www.fiddler2.com/fiddler2/" target="_blank"><span style="font-family:time;">Fiddler</span></a><span style="font-family:time;"> dump. </span><a href="http://dlr2008.files.wordpress.com/2012/01/untitledpicture1.png"><span style="font-family:time;"><img style="display:block;float:none;border-width:0;margin:15px auto;" title="Untitled picture" src="http://dlr2008.files.wordpress.com/2012/01/untitledpicture_thumb.png?w=469&#038;h=405" alt="Untitled picture" width="469" height="405" border="0" /></span></a> <span style="font-family:time;">One thing bumping around QCON this year was the topic “</span><a href="http://qconsf.com/sf2011/tracks/show_track.jsp?trackOID=517" target="_blank"><span style="font-family:time;">WEB API</span></a><span style="font-family:time;">”, what in the world I though was a WEB API.  Don’t be unhip like me, what is meant by a WEB API is exposing a full API for a distinct system solely through a coordinated set of <a class="zem_slink" title="Representational state transfer" href="http://en.wikipedia.org/wiki/Representational_state_transfer" rel="wikipedia">RESTful</a> HTTP endpoints (think Netflix and Flickr).  Somehow this wants to be a TLA like WEP (Web End Point but WEP is already taken).  This is the concept of </span><a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" target="_blank"><span style="font-family:time;">AJAX</span></a><span style="font-family:time;"> matured into a true systematic technology.   In my day job I work on the development of secure Web Portals, armed with the background provided by the tutorials and sessions at QCON I returned to work resolved to cleanup our HTTP end points.  A couple of references may help.  On RESTful development see the </span><a href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank"><span style="font-family:time;">Richardson Maturity Model</span></a><span style="font-family:time;"> and the InfoQ classic: </span><a href="http://www.infoq.com/articles/webber-rest-workflow" target="_blank"><span style="font-family:time;">How To GET a Cup Of Coffee</span></a><span style="font-family:time;">.</span></p>
<h3 align="center">WCF: The Microsoft Connection</h3>
<p><span style="font-family:time;">I work in a Microsoft shop and so the Microsoft’s WCF is the tool of choice to develop HTTP Endpoints.  Because of our particular product goals HTTP Get’s provide the bulk of our services.  Starting with Framework 3.5, WCF has provided a rich set of tools to create RESTful dynamic HTTP Endpoints.   I started out programming XML Web Service for intra-server communication.  Although this is a very mature and powerful technology it is not optimized for Browser to Server communication, particularly  Javascript is difficult to use to develop Web Service proxies (although it can be done) and XML is rarely the tool of choice to communicate object graphs to Javascript, </span><a href="http://msdn.microsoft.com/en-us/library/bb299886.aspx" target="_blank"><span style="font-family:time;">JSON</span></a><span style="font-family:time;"> is preferred for this purpose.  WCF For Rest (see </span><a href="http://msdn.microsoft.com/en-us/netframework/dd547388" target="_blank"><span style="font-family:time;">this</span></a><span style="font-family:time;"> and </span><a href="http://underground.infovark.com/category/wcf/page/2/" target="_blank"><span style="font-family:time;">this</span></a><span style="font-family:time;"> reference).  Here is a chart I developed from my notes during QCON comparing Web Services, REST and WCF for Rest:</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="73"></td>
<td valign="top" width="131"></td>
<td valign="top" width="276"></td>
<td valign="top" width="254"></td>
</tr>
<tr>
<td valign="top" width="73"></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';"><strong>Web Service Standard</strong></span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';"><strong>REST Service</strong></span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';"><strong>WCF For REST (Framework 3.5)</strong></span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">1</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">TCP/IP + others</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">TCP/IP</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">TCP/IP</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">2</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">SOAP Wrapper</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">HTTP</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">HTTP</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">3</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">SOAP Headers</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">HTTP Headers</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">HTTP Headers</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">4</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">WS*Security</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">Basic Auth/SSL</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">Basic Auth/SSL or WS*Security</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">5</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">Early Binding </span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">Late Binding</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">Late Binding</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">6</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">XSD</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">WADL</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">XSD</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">7</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">XML</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">Media Negotiation</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">Media Negotiation</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">8</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">SOAP FAULTS</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">HTTP Response Codes</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">HTTP Response Codes</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">9</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">Single Endpoint</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">Multiple Endpoints, URI Templates</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">Multiple Endpoints, URI Templates</span></td>
</tr>
<tr>
<td valign="top" width="73"><span style="font-family:'Times New Roman';">10</span></td>
<td valign="top" width="131"><span style="font-family:'Times New Roman';">Client Proxy</span></td>
<td valign="top" width="276"><span style="font-family:'Times New Roman';">Custom</span></td>
<td valign="top" width="254"><span style="font-family:'Times New Roman';">auto-generated Javascript proxy</span></td>
</tr>
</tbody>
</table>
<p><span style="font-family:times;">The core text I used in developing WCF for Rest is the excellent and insightful </span><a href="http://msdn.microsoft.com/en-us/library/orm-9780596519209-01.aspx" target="_blank"><span style="font-family:times;">RESTful .NET</span></a><span style="font-family:times;"> by Jon Flanders (see </span><a href="http://www.scribd.com/doc/63762034/RESTful-NET" target="_blank"><span style="font-family:times;">also</span></a><span style="font-family:times;"> and Jon’s </span><a href="http://www.masteringhtml5.com/blogs/jon/" target="_blank"><span style="font-family:times;">Blog</span></a><span style="font-family:times;">).</span></p>
<h3 align="center"></h3>
<h3 align="center">What We Are Trying to Achieve: The Problem Domain</h3>
<p align="left"><span style="font-family:time;">In this blog post we will focus on a limited problem I need to solve.  Here is the overview of the problem.  At fixed points in time our code needs to collect a complex set of information on a particular subject (i.e. a graph) and persist that information for later recall. At irregular times browsers will request sub sets of the information in JSON format. The data object is quite complex.  Entity Framework would happily generate the hundreds (thousands?) of lines of code to persist and retrieve the data from a SQL database but this task cries out for a key value store (like </span><a href="http://dlr2008.wordpress.com/2011/03/03/rest-ruby-on-rails-couchdb-and-me/" target="_blank"><span style="font-family:time;">couchDB</span></a><span style="font-family:time;"> ) so rather than looking at:</span></p>
<p align="left"><a href="http://dlr2008.files.wordpress.com/2012/01/picture2.png"><img style="display:block;float:none;border-width:0;margin:15px auto;" title="Picture2" src="http://dlr2008.files.wordpress.com/2012/01/picture2_thumb.png?w=533&#038;h=265" alt="Picture2" width="533" height="265" border="0" /></a></p>
<p align="left"><span style="font-family:time;">We can have something like:</span></p>
<p align="left"><a href="http://dlr2008.files.wordpress.com/2012/01/untitledpicture2.png"><img style="display:block;float:none;border-width:0;margin:15px auto;" title="Untitled picture2" src="http://dlr2008.files.wordpress.com/2012/01/untitledpicture2_thumb.png?w=269&#038;h=134" alt="Untitled picture2" width="269" height="134" border="0" /></a><span style="font-family:time;">Where User_Id and Date are meta data fields for the object graph represented in the column AlertsUser.  This seems like a good start, before developing the actual HTTP Endpoint we need to deal with serialization issues.  How and in what format to serialize the C# object into a nvarchar column in the database, how to desterilize that data back into a C# object and then to serialize the object into JSON for delivery to the user.  Note that in some use cases you could simplify this to:  Object serialized to JSON; and then inserted into the database  and then retrieved and passed directly to the caller.  In our use case however a single HTTP Get will request one or more rows from the data base so we require the more complex: Object serialized to nvarchar compatible object then deserialized into an array of C# object and then serialized into a JSON array.  In this use case we will use XML as our format for storing data into the database, so we have</span></p>
<p align="left"><span style="font-family:time;">Object –&gt; database rows of XML in string format</span></p>
<p align="left"><span style="font-family:time;">XML rows – &gt; An Array of C# Objects</span></p>
<p align="left"><span style="font-family:time;">Array of C# Object –&gt; JSON Array.</span></p>
<p align="left"><span style="font-family:time;">In the next section of this post I will cover how to do this using C# and when this is accomplished I will in the subsequent section turn to how I developed a generic HTTP Get endpoint to serialize the data into JSON and return data in that representation to the browser.</span></p>
<h3 align="center">Serialization: Objects &amp;  XML</h3>
<p><span style="font-family:time;font-size:x-small;">For purposes of this post lets define a basic C# object which we want to work with.  Here is a minimal object for serialization:<img style="display:inline;margin:15px 0;" src="http://ancapinsurance.com/blog/wp-content/uploads/2010/06/brain.jpg" alt="" width="214" height="157" align="right" /></span></p>
<p><span style="font-family:'Courier New';font-size:x-small;">    public class CObject{<br />
public string ID { get; set; }<br />
public string Name { get; set; }<br />
public List&lt;string&gt; Data { get; set; }<br />
public CObject( ){<br />
Data = new List&lt;string&gt;( );<br />
}<br />
}</span></p>
<p><span style="font-family:'Courier New';font-size:x-small;"><br />
</span></p>
<p><span style="font-family:time;font-size:x-small;">Note that I have defined an an explicit class initializer. If you are going to be doing serialization a parameterless initializer is required.  To make fields available for WCF type serialization we need to add attributes: DataContract and DataMember.  Use the DataMember attribute to identify those fields you whish to serialize.<img style="display:inline;margin-left:0;margin-right:0;" src="http://www.svgopen.org/2008/papers/86-Achieving_3D_Effects_with_SVG/figure_1_sphere_object_with_a_virtual_lighting_source_effect.png" alt="" width="161" height="161" align="left" /></span></p>
<p><span style="font-family:'Courier New';font-size:x-small;">    [DataContract]<br />
</span><span style="font-family:'Courier New';font-size:x-small;">    public class CObject{<br />
[DataMember]<br />
public string ID { get; set; }<br />
[DataMember]<br />
public string Name { get; set; }<br />
[DataMember]<br />
public List&lt;string&gt; Data { get; set; }<br />
public CObject( ){<br />
Data = new List&lt;string&gt;( );<br />
}<br />
}</span></p>
<p><span style="font-family:times;font-size:x-small;">For XML serialization we may further shape the XML by using the XML attributes as follows:</span></p>
<p><span style="font-size:x-small;">XmlRoot                                            Defines The XML Namespace used by the object</span></p>
<p>XmlElement                                     Causes the XML serializer to output a field as an element and optionally names the element</p>
<p>XmlAttribute                                   Causes the XML serializer to output a field as an attribute to the enclosing element and optionally names the attribute</p>
<p>XmlArray and XmlArrayItem             Names The Root Element of an Array and separately the names of each array member</p>
<p align="left">Our full adorned object might then look like:</p>
<p align="left"><span style="font-family:'Courier New';font-size:x-small;">    [DataContract]<br />
[XmlRoot(Namespace="</span><a href="http://cloud2013/2012/01/&quot;)]&#8220;><span style="font-family:'Courier New';font-size:x-small;">http://cloud2013/2012/01/&#8221;)]<img style="display:inline;margin:15px;" src="http://www.showwallpaper.com/wallpapercenter/3D_Graphic/3D_Object/3D_Object_1400008.jpg" alt="" width="261" height="196" align="right" /></span></a><br />
<span style="font-family:'Courier New';font-size:x-small;">    public class CObject{<br />
[DataMember]<br />
[XmlElement("Key")]<br />
public string ID { get; set; }<br />
[DataMember]<br />
[XmlAttribute]<br />
public string Name { get; set; }<br />
[DataMember]<br />
[XmlArray("Points")]<br />
[XmlArrayItem("Point")]<br />
public List&lt;string&gt; Data { get; set; }<br />
public CObject( ){<br />
Data = new List&lt;string&gt;( );<br />
}<br />
}<br />
</span><span style="font-family:time;font-size:x-small;">We can use the WCF Data Contract Serializer to serialize an object to an XML string using the generic method ToXMLString and serialize from and XML string back into a C# Object using the generic method XMLToObject as:</span></p>
<p><span style="font-family:'Courier New';font-size:x-small;">public class XMLMethods&lt;T&gt;<br />
{<br />
const string _NameSpaceBase=&#8221;</span><a href="http://schemas.datacontract.org/2004/07/&quot;;"><span style="font-family:'Courier New';font-size:x-small;">http://schemas.datacontract.org/2004/07/&#8221;;</span></a><br />
<span style="font-family:'Courier New';font-size:x-small;">       public static string ToXMLString( T myObject )<br />
{<br />
MemoryStream stream1 = new MemoryStream( );<br />
DataContractSerializer ser = new DataContractSerializer( typeof( T ) );<br />
ser.WriteObject( stream1, myObject );<br />
return Convert.ToString( Encoding.UTF8.GetString( stream1.GetBuffer( ), 0, ( int ) stream1.Length ) );<br />
}<br />
public static T XMLToObject( string xmlString )<br />
{<br />
TextReader sr=new StringReader( xmlString );<br />
XmlRootAttribute root=new XmlRootAttribute( typeof( T ).Name );<br />
root.Namespace = _NameSpaceBase + typeof( T ).Namespace;<br />
XmlSerializer xmlSerializer = new XmlSerializer( typeof( T ), root );<br />
return ( T ) xmlSerializer.Deserialize( sr );<br />
}<br />
}</span></p>
<p align="left"><span style="font-family:time;font-size:x-small;">calling these as:</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:x-small;">CObject myObject=new CObject();</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:x-small;">string xmlString=XMLMethods&lt;CObject&gt;.ToXMLString(myObject);</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:x-small;">myObject=XMLMethods&lt;CObject&gt;.XMLToObject(xmlString);</span></p>
<p align="left"><span style="font-family:time;font-size:x-small;"><strong>Easy and Fun, no?</strong></span></p>
<p align="left">If we insert or update a SQL server column with an XML String we will need to escape the XML so we don’t run into conflicts with the string syntax of what ever SQL server type you are losing.</p>
<p align="left">In my case with SQL server I need to escape single and double quote marks.  <strong>One</strong> simple way to do this, but not necessarily the fastest way,  is to 64 bit encode the string. Example code to do this is:</p>
<blockquote><p><span style="font-family:'Courier New';font-size:x-small;">public static class CStaticFunctions<br />
{<br />
static public string EncodeTo64( string toEncode )<br />
{<br />
byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes( toEncode );<br />
return System.Convert.ToBase64String( toEncodeAsBytes );<br />
}<br />
static public string DecodeFrom64( string encodedData )<br />
{<br />
byte[] encodedDataAsBytes = System.Convert.FromBase64String( encodedData );<br />
return System.Text.ASCIIEncoding.ASCII.GetString( encodedDataAsBytes );<br />
}<br />
}</span></p>
<h3 align="center">OK.  Enough for Part I. To be continued…</h3>
<p align="center"><img style="display:inline;float:none;margin:15px;" src="http://www.cutegeek.com/wp-content/uploads/2011/12/Occupy-your-mind-288x300.jpg" alt="" /></p>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1969/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1969&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2012/01/24/web-api-http-restful-endpoints-the-wcf-way/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/untitledpicture_thumb.png" medium="image">
			<media:title type="html">Untitled picture</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/picture2_thumb.png" medium="image">
			<media:title type="html">Picture2</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/untitledpicture2_thumb.png" medium="image">
			<media:title type="html">Untitled picture2</media:title>
		</media:content>

		<media:content url="http://ancapinsurance.com/blog/wp-content/uploads/2010/06/brain.jpg" medium="image" />

		<media:content url="http://www.svgopen.org/2008/papers/86-Achieving_3D_Effects_with_SVG/figure_1_sphere_object_with_a_virtual_lighting_source_effect.png" medium="image" />

		<media:content url="http://www.showwallpaper.com/wallpapercenter/3D_Graphic/3D_Object/3D_Object_1400008.jpg" medium="image" />

		<media:content url="http://www.cutegeek.com/wp-content/uploads/2011/12/Occupy-your-mind-288x300.jpg" medium="image" />
	</item>
		<item>
		<title>One, Two, Many Occupations &#8211; Occupy Silicone Valley &#8211; Apple (and our Deal) With The Devil</title>
		<link>http://dlr2008.wordpress.com/2012/01/24/one-two-many-occupations-occupy-silicone-valley-apple-and-our-deal-with-the-devil/</link>
		<comments>http://dlr2008.wordpress.com/2012/01/24/one-two-many-occupations-occupy-silicone-valley-apple-and-our-deal-with-the-devil/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 19:01:52 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Occupy Everything]]></category>
		<category><![CDATA[Occupy Silicon Vally]]></category>
		<category><![CDATA[Occupy Wall Street]]></category>
		<category><![CDATA[OWS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Foxconn]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[massive unemployment]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=1956</guid>
		<description><![CDATA[There is blood on that IPhone!  Foxconn, Apple and Our Lust For Gadgets.  Occupy Silicon Valley.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1956&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8220;<em>Hon Hai has a workforce of over one million worldwide and as human beings are also animals, to manage one million animals gives me a headache,&#8221;</em></p>
<p align="right"><a href="http://www.pcmag.com/article2/0,2817,2399109,00.asp" target="_blank">Terry Gou</a>, chairman of <a href="http://en.wikipedia.org/wiki/Foxconn" target="_blank">Foxconn</a> parent Hon Hai Precision Industry</p>
<p><em>“[Whatever it was Gou said there could have been] a lot lost in translation…[Besides, Biggs noted, it's important to remember priorities when criticizing such stuff] In the end, it&#8217;s companies like Foxconn that keep us in our gadgets,&#8221;  </em></p>
<p align="right">TechCrunch&#8217;s <a href="http://techcrunch.com/2012/01/19/foxconn-chief-equates-employees-to-animals/" target="_blank">John Biggs</a></p>
<p align="left">Priorities, indeed John.  We need to keep priorities in mind.  If the virtual enslavement of the Chinese workforce and massive unemployment in the United States are required to keep us supplied with our gadgets, so be it.  The New York Times reported extensively on the horrors of Foxconn and Apple Corporation&#8217;s culpability <a href="http://www.nytimes.com/2012/01/22/business/apple-america-and-a-squeezed-middle-class.html?scp=3&amp;sq=foxconn%20apple%20&amp;st=Search" target="_blank">here</a>,  <a href="http://www.nytimes.com/2012/01/26/business/ieconomy-apples-ipad-and-the-human-costs-for-workers-in-china.html?_r=1&amp;ref=todayspaper" target="_blank">here</a> and <a href="http://www.nytimes.com/interactive/2012/01/20/business/the-iphone-economy.html#" target="_blank">here</a>. According to <a href="http://www.digitaltrends.com/mobile/foxconn-chairman-equates-iphone-creating-workforce-to-animals/" target="_blank">Digital Trends</a>, here are some of the workforce issues at Foxconn as reported in a An American Life report from Mike Daisey (he of &#8220;<a href="http://www.slate.com/articles/arts/culturebox/2011/10/the_agony_and_the_ecstasy_of_steve_jobs_reviewed_.single.html" target="_blank">The Agony &amp; Ecstasy of Steve Jobs</a>&#8220;):</p>
<ul>
<li><em>Living within dormitories inside the factory walls, employees are packed into 144 square foot (12-by-12) cement rooms with 15 beds stacked up like bunk-beds. Employees are often placed into rooms where they do not know anyone as well. </em></li>
<li><em>Any attempt at forming a union is met with arrest and a prison sentence as unions are illegal within China. </em></li>
<li><em>Workers cleaning iPhone screens used a chemical called hexane, specifically because the chemical solution evaporates faster and allows the production line to speed up. However, </em><a href="http://www.digitaltrends.com/mobile/report-puts-apple-last-on-labor-environmental-issues-in-china/"><em>hexane is a neuro-toxin</em></a><em>. Inhalation of hexane causes mild euphoria, followed by nausea and headaches. Repeated exposure causes extensive peripheral nervous system failure, <img style="display:inline;margin:15px;" src="http://printerinkcartridgesblog.printcountry.com/wp-content/uploads/2010/05/foxconn.jpg" alt="" width="315" height="185" align="left" />a result that Daisey spotted as the hands of the workers on the line shook involuntarily.  </em></li>
<li><em>Five percent of the workers Daisey spoke to were underage, some as young as twelve. The children working at the factory mentioned that Foxconn doesn’t check ages and shifts older employees to the front line when inspections occur. </em></li>
<li><em>The standard working shift at the plant lasts 12 hours, but that’s pushed up to 16 hours when Apple is getting ready to launch a new gadget like the </em><a href="http://www.digitaltrends.com/mobile/ipad-3-production-already-underway-march-launch-likely/"><em>upcoming iPad 3</em></a><em>. However, a worker on a 34 hour shift dies while Daisey tours the facility. </em></li>
<li><em>On the factory floor, there’s no talking allowed among the 20,000 to 30,000 workers. There’s also little machinery on the floor since labor costs are far lower than machines. However, Gau has stated publicly that investing in advanced automation is a high priority. </em></li>
<li><em>Workers that have developed severe carpal-tunnel issues from repeating the same process over and over are simply fired. Foxconn could eliminate this issue by rotating jobs between employees, but they do not. </em></li>
<li><em>Workers that get severely injured on the job are fired without any severance and workers that complain about working conditions are fired as well as black-listed with all companies that operate within Shenzhen.</em></li>
</ul>
<p>An inside look at the Apple Facility at Foxconn that can be heard on This American Life <a href="http://www.thisamericanlife.org/radio-archives/episode/454/mr-daisey-and-the-apple-factory" target="_blank">here</a>.</p>
<p>When Foxconn workers threatened mass suicide Foxconn issued this <a href="http://www.forbes.com/sites/erikkain/2012/01/12/chinese-foxconn-workers-threaten-mass-suicide-over-xbox-pay-dispute/" target="_blank">statement:<img style="display:inline;margin-left:0;margin-right:0;" src="http://0.tqn.com/d/politicalhumor/1/7/v/V/3/iPhone-Sweatshop.jpg" alt="" width="266" height="182" align="right" /></a></p>
<p><em>The workers climbed to the top of the six-story dormitory on 3 January and threatened to jump before Wuhan city officials persuaded them to desist and return to work, according to the workers and accounts online. The workers gave varying estimates of the numbers involved in the strike, from 80 to 200, and photos posted online showed dozens of people crowding the roof of the boxy concrete building. </em>“<em>Actually none of them were going to jump. They were there for the compensation. But the government and the company officials were just as afraid, because if even one of them jumped, the consequences would be hard to imagine,” said Wang Jungang, an equipment engineer in the Xbox production line, who left the plant earlier this month.</em></p>
<p><em>Nothing like a mass suicide to ruin an executives day. Just think of the PR headache.  This is not the first time suicides and Foxconn have been <a href="http://www.ipadshouse.com/apple-2011-probe-reveals-unsafe-work-condition-and-child-labor-violations/" target="_blank">linked</a>.  Among the corporate responses has been to erect suicide netting at the workers dormitories. <img style="display:block;float:none;margin:15px auto;" src="http://www.wantchinatimes.com/newsphoto/2011-02-27/450/CFP409300769-123940_copy1.jpg" alt="" width="296" height="197" /></em></p>
<p>The basic wage of workers is $17 per <strong>Day</strong> and that’s for a twelve hour shift.  No wonder the jobs go to China.  There is a work for this type of worker, and that word is <strong>Slave</strong>.  Western corporations using Foxconn include:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Acer_Inc.">Acer Inc.</a> (Taiwan)</li>
<li><a href="http://en.wikipedia.org/wiki/Amazon.com">Amazon.com</a> (United States)</li>
</ul>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Apple_Inc.">Apple Inc.</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/ASRock">ASRock</a> (Taiwan) <img style="display:inline;margin:25px 100px 25px 0;" src="http://www.randomwire.com/wp-content/uploads/foxconn-terminator.png" alt="" width="395" height="296" align="right" /></li>
<li><a href="http://en.wikipedia.org/wiki/Asus">Asus</a> (Taiwan)</li>
<li><a href="http://en.wikipedia.org/wiki/Barnes_%26_Noble">Barnes &amp; Noble</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/Cisco_Systems">Cisco</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/Dell">Dell</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/EVGA_Corporation">EVGA Corporation</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/Hewlett-Packard">Hewlett-Packard</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/Intel">Intel</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/IBM">IBM</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/Lenovo">Lenovo</a> (China)</li>
<li><a href="http://en.wikipedia.org/wiki/Logitech">Logitech</a> (Switzerland)</li>
<li><a href="http://en.wikipedia.org/wiki/Microsoft">Microsoft</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/Micro-Star_International">MSI</a> (Taiwan)</li>
<li><a href="http://en.wikipedia.org/wiki/Motorola">Motorola</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/Netgear">Netgear</a> (United States)</li>
<li><a href="http://en.wikipedia.org/wiki/Nintendo">Nintendo</a> (Japan)</li>
<li><a href="http://en.wikipedia.org/wiki/Nokia">Nokia</a> (Finland)</li>
<li><a href="http://en.wikipedia.org/wiki/Panasonic">Panasonic</a> (Japan)</li>
<li><a href="http://en.wikipedia.org/wiki/Philips">Philips</a> (Netherlands)</li>
<li><a href="http://en.wikipedia.org/wiki/Sharp">Sharp</a> (Japan)</li>
<li><a href="http://en.wikipedia.org/wiki/Sony_Ericsson">Sony Ericsson</a> (Japan/Sweden)</li>
<li><a href="http://en.wikipedia.org/wiki/Toshiba">Toshiba</a> (Japan)</li>
<li><a href="http://en.wikipedia.org/wiki/Vizio">Vizio</a> (United States)</li>
</ul>
<p>The New York Times recently published a full report on Apple, Foxconn and American unemployment.  This is the most up to date  and comprehensive report I have seen It can be read <a href="http://www.nytimes.com/2012/01/22/business/apple-america-and-a-squeezed-middle-class.html?scp=4&amp;sq=apple%20foxconn&amp;st=cse" target="_blank">here</a>.  A full list of ‘the grey ladies’ reporting on Foxconn can be found <a href="http://topics.nytimes.com/top/news/business/companies/foxconn_technology/index.html?scp=1&amp;sq=apple%20foxconn&amp;st=cse" target="_blank">here</a>.  Being ‘balanced’ The Times reprints Apples defense of using the Foxconn facility.  It is basically our old friend, the cult of efficiency.  On this report, <a href="http://www.thedailybeast.com/articles/2012/01/23/apple-s-deal-with-the-devil.html" target="_blank">The Daily Beast</a> notes:</p>
<p>In 2007, when Apple made a last-minute change to the original iPhone, workers in China had to scramble to meet a tight deadline, according to an unnamed former Apple executive who spoke to the Times:  <em>A foreman immediately roused 8,000 workers inside the company’s dormitories, according to the executive. Each employee was given a biscuit and a cup of tea, guided to a workstation and within half an hour started a 12-hour shift fitting glass screens into beveled frames. Within 96 hours, the plant was producing 10,000 iPhones a day. “The speed and flexibility is breathtaking,” [the executive] said. “There’s no American plant that can match that.”</em></p>
<p>The Daily Beast’s Dan Lyons comments:</p>
<p><em>The question is: should there be? Would we accept the idea of a plant where people are packed into barracks and can be roused in the middle of the night, given a biscuit, and sent to work for 12 hours? Where workers have no right to complain?  </em><em>We would not accept this in the United States because, quite simply, it’s barbaric.  </em><em>Not “breathtaking.” Barbaric.</em></p>
<p><em>The Times article estimates that making the IPhone in the United States would add $65 dollars to the cost of each unit.  What is a human life worth?  </em></p>
<p><em><img style="display:inline;margin:15px;" src="http://troll.me/images/liberal-douche-garofalo/occupy-wall-street-posted-from-my-iphone-thumb.jpg" alt="" width="215" height="212" align="right" /> </em></p>
<p><em>Dan Lyons concludes:</em></p>
<p><em>Why are we doing business with this kind of regime? Why are we making this bargain?  </em><em>As the Times article points out, this isn’t just Apple. It’s every company. It’s every product we use. It’s our entire way of life, built on the backs of people who are being treated in ways that we would not allow ourselves or our countrymen to be treated.  </em><em>Ultimately the blame lies not with Apple and other electronics companies—but with us, the consumers.  </em><em>And ultimately we are the ones who must demand change.  </em><em>So what if building that smartphone in China means we save 65 bucks and get things done faster? Maybe we would be better off paying a little more and waiting a little bit longer.  </em><em>This week, Apple will report its financial results for the holiday quarter. It’s probably going to be another huge blowout, with Apple doing about $40 billion in revenues and keeping $10 billion of that as bottom-line profit—an incredible profit margin for a company that makes hardware.  </em><em>Wall Street will be ecstatic. The stock will soar. But it’s worth keeping in mind how Apple did it.</em></p>
<p>A nice thing about the New York Times article it is also looks at how this effects employment in the United States.  According to the Times:</p>
<p><em>Last year, it earned over $400,000 in profit per employee, more than Goldman Sachs, Exxon Mobil or Google.  Apple employs 43,000 people in the United States and 20,000 overseas… Many more people work for Apple’s contractors: an additional 700,000 people engineer, build and assemble iPads, iPhones and Apple’s other products. But almost none of them work in the United States. </em></p>
<p>As Jared Bernstein, <img style="display:inline;margin:15px;" src="http://rlv.zcache.com/occupy_wall_street_eat_the_rich_blackberry_curve_case-r0df0073e807d439897aaae8d37af64cb_a4600_210.jpg?bg=0x99ccff" alt="" width="152" height="152" align="left" />who until last year was an economic adviser to the White House said: “<em>If it’s the pinnacle of capitalism, we should be worried</em>.”</p>
<p>If the jobs are overseas so are the wages, thus while Apple (and Google and Microsoft and …) earn huge profits for the few, the many go unemployed. And the unemployed can’t afford IPhones.  In its own defense An Apple Executive told the Times:</p>
<p>“<em>We shouldn’t be criticized for using Chinese workers,” a current Apple executive said. “The U.S. has stopped producing people with the skills we need.”</em></p>
<p>Right the $17 per day worker and the slave drivers (opps, Middle Managers) to control them (oops again, to manage them).</p>
<p>Strangely, the dominate political culture in the United States, people are taught to blame the government for fixes to the economy.  It was the Occupy Wall Street movement that re-awakened us to the idea that its Capitalism and Capitalism inequality and Capitalisms pursuit of profits over people that drives this country into misery, not congress not the president and the Supreme Court.  It would be so nice if just a change of the resident of the Whitehouse would make an appreciative change in our economic crisis.  Say they say at OWS to the question of why they are on Wall Street and not in Washington: <strong>Why deal with middle management when you can talk directly to the boss!  </strong></p>
<h3 align="center">The economic and moral depravity of this system must end.</h3>
<h3 align="center">Occupy Silicon Valley Anyone?</h3>
<p align="center"><img style="margin:15px;" src="http://appotography.com/wp-content/uploads/andy_brooks_eddie_colla_ninetyninetoone.jpg" alt="" width="210" height="281" /></p>
<h6 class="zemanta-related-title" style="font-size:1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.businessinsider.com/apple-child-labor-2012-1">INCONVENIENT TRUTH: Your iPhone Was Built, In Part, By 13 Year-Olds Working 16 Hours A Day For 70 Cents An Hour</a> (businessinsider.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.dailyfinance.com/2012/01/12/what-hath-apple-wrought/?zemanta-tracking">What Hath Apple Wrought?</a> (dailyfinance.com)</li>
<li class="zemanta-article-ul-li"><a href="http://localpaper.wordpress.com/2012/01/18/the-people-that-make-our-stuff/">The People That Make Our Stuff</a> (localpaper.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.fool.com/investing/general/2012/01/12/what-hath-apple-wrought.aspx">What Hath Apple Wrought?</a> (fool.com)</li>
<li class="zemanta-article-ul-li"><a href="http://bigthink.com/ideas/41890">Foxconn, Revisited</a> (bigthink.com)</li>
<li class="zemanta-article-ul-li"><a href="http://seattle.cbslocal.com/2012/01/10/hundreds-threaten-suicide-at-microsoft-supplier-plant-in-china/">Hundreds Threaten Suicide At MICROSOFT Supplier Plant In&#8230;</a> (seattle.cbslocal.com)</li>
<li class="zemanta-article-ul-li"><a href="http://broadsideblog.wordpress.com/2012/01/09/theres-blood-on-your-ipad/">There&#8217;s Blood On Your Ipad</a> (broadsideblog.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.independent.co.uk/news/world/asia/workers-threaten-mass-suicide-at-company-that-supplies-apple-6288160.html">Workers threaten mass suicide at company that supplies Apple</a> (independent.co.uk)</li>
<li class="zemanta-article-ul-li"><a href="http://www.ajc.com/business/xbox-workers-threaten-suicide-1300169.html?cxtype=rss_news_61499">Xbox workers threaten suicide in China labor tiff</a> (ajc.com)</li>
<li class="zemanta-article-ul-li"><a href="http://ronscoffeeandchocolates.wordpress.com/2012/01/19/getting-an-apple/">Getting an Apple</a> (ronscoffeeandchocolates.wordpress.com)</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1956/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1956/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1956/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1956/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1956/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1956/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1956/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1956/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1956/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1956/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1956/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1956/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1956/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1956/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1956&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2012/01/24/one-two-many-occupations-occupy-silicone-valley-apple-and-our-deal-with-the-devil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://printerinkcartridgesblog.printcountry.com/wp-content/uploads/2010/05/foxconn.jpg" medium="image" />

		<media:content url="http://0.tqn.com/d/politicalhumor/1/7/v/V/3/iPhone-Sweatshop.jpg" medium="image" />

		<media:content url="http://www.wantchinatimes.com/newsphoto/2011-02-27/450/CFP409300769-123940_copy1.jpg" medium="image" />

		<media:content url="http://www.randomwire.com/wp-content/uploads/foxconn-terminator.png" medium="image" />

		<media:content url="http://troll.me/images/liberal-douche-garofalo/occupy-wall-street-posted-from-my-iphone-thumb.jpg" medium="image" />

		<media:content url="http://rlv.zcache.com/occupy_wall_street_eat_the_rich_blackberry_curve_case-r0df0073e807d439897aaae8d37af64cb_a4600_210.jpg?bg=0x99ccff" medium="image" />

		<media:content url="http://appotography.com/wp-content/uploads/andy_brooks_eddie_colla_ninetyninetoone.jpg" medium="image" />
	</item>
		<item>
		<title>Stop SOPA and PIPA</title>
		<link>http://dlr2008.wordpress.com/2012/01/18/stop-sopa-and-pipa/</link>
		<comments>http://dlr2008.wordpress.com/2012/01/18/stop-sopa-and-pipa/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 16:01:23 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[SOPA]]></category>
		<category><![CDATA[BLACK]]></category>
		<category><![CDATA[CENSORSHIP]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=1949</guid>
		<description><![CDATA[Stop SOPA - Go Black.  The worst part of Censorship is ....<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1949&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Wikipedia:<a href="http://en.wikipedia.org/wiki/Wikipedia:SOPA_initiative/Learn_more" target="_blank"><img style="display:inline;border-width:0;" title="Untitled picture" src="http://dlr2008.files.wordpress.com/2012/01/untitledpicture.png?w=1018&#038;h=706" alt="Untitled picture" width="1018" height="706" border="0" /></a></p>
<p>Google:</p>
<p><a title="https://www.google.com/landing/takeaction/" href="http://dlr2008.files.wordpress.com/2012/01/stop_sopa_4501.png" target="_blank"><img style="display:inline;border-width:0;" title="Untitled pictureii" src="http://dlr2008.files.wordpress.com/2012/01/untitledpictureii.png?w=1023&#038;h=492" alt="Untitled pictureii" width="1023" height="492" border="0" /> </a><a href="http://wikileaks.org/" target="_blank"><img style="display:inline;margin-left:0;margin-right:0;border:0;" title="thumb" src="http://dlr2008.files.wordpress.com/2012/01/thumb.jpg?w=244&#038;h=180" alt="thumb" width="244" height="180" align="left" border="0" /></a><a href="https://plus.google.com/115040231829422107651/posts" target="_blank"><img style="display:inline;margin-left:0;margin-right:0;border:0;" title="stop_sopa_450 (1)" src="http://dlr2008.files.wordpress.com/2012/01/stop_sopa_45011.png?w=180&#038;h=180" alt="stop_sopa_450 (1)" width="180" height="180" align="right" border="0" /></a><a href="http://americancensorship.org/" target="_blank"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border:0;" title="censorship" src="http://dlr2008.files.wordpress.com/2012/01/censorship.jpg?w=263&#038;h=182" alt="censorship" width="263" height="182" border="0" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1949/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1949&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2012/01/18/stop-sopa-and-pipa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/untitledpicture.png" medium="image">
			<media:title type="html">Untitled picture</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/untitledpictureii.png" medium="image">
			<media:title type="html">Untitled pictureii</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/thumb.jpg" medium="image">
			<media:title type="html">thumb</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/stop_sopa_45011.png" medium="image">
			<media:title type="html">stop_sopa_450 (1)</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2012/01/censorship.jpg" medium="image">
			<media:title type="html">censorship</media:title>
		</media:content>
	</item>
		<item>
		<title>Occupy Los Angeles &#8211; Why was Patrick Meighan Arrested and Not Charles Prince Of CitiGroup?</title>
		<link>http://dlr2008.wordpress.com/2011/12/09/occupy-los-angeles-why-was-patrick-meighan-arrested-and-not-charles-prince-of-citigroup/</link>
		<comments>http://dlr2008.wordpress.com/2011/12/09/occupy-los-angeles-why-was-patrick-meighan-arrested-and-not-charles-prince-of-citigroup/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 18:31:44 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[Occupy Los Angeles]]></category>
		<category><![CDATA[OWS]]></category>
		<category><![CDATA[Charles Prince]]></category>
		<category><![CDATA[citigroup]]></category>
		<category><![CDATA[Occupy]]></category>
		<category><![CDATA[Occupy LA]]></category>
		<category><![CDATA[Patrick Meighan]]></category>
		<category><![CDATA[Thich Nhat Hanh]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=1939</guid>
		<description><![CDATA[Occupy Los Angeles: Why was Patrick Meighan Arrested And Not Citigroup's Charles Prince?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1939&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h5><a href="http://www.occupylosangeles.org/" target="_blank"><img style="display:block;float:none;margin-left:auto;margin-right:auto;" src="http://www.jewishjournal.com/images/bloggers_auto/neonrainboy_OLA_image.jpg" alt="" /></a></h5>
<h5>Source: <a class="zem_slink" title="Patrick Meighan (writer)" href="http://www.imdb.com/name/nm0576761/" rel="imdb">Patrick Meighan</a>’s Occupy LA Blog</h5>
<h5><a href="http://myoccupylaarrest.blogspot.com/2011/12/my-occupy-la-arrest-by-patrick-meighan.html" target="_blank">My Occupy LA Arrest</a>, by Patrick Meighan (UPDATE: 12/9/11)<img style="display:inline;margin:15px;" src="http://www.mortgagecalculator.org/images/charles-prince.jpg" alt="" width="210" height="148" align="right" /></h5>
<p><a href="http://myoccupylaarrest.blogspot.com/2011/12/my-occupy-la-arrest-by-patrick-meighan.html" target="_blank"><img style="display:inline;margin:15px;" src="http://blogs.laweekly.com/informer/assets_c/2011/12/patrick meighan-thumb-200x133.jpg" alt="" align="left" /></a>My name is Patrick Meighan, and I’m a husband, a father, a writer on the Fox animated sitcom “<em>Family Guy</em>”, and a member of the Unitarian Universalist Community Church of Santa Monica.</p>
<p>I was arrested at about 1 a.m. Wednesday morning with 291 other people at Occupy LA. I was sitting in City Hall Park with a pillow, a blanket, and a copy of <a class="zem_slink" title="Thich Nhat Hanh" href="http://en.wikipedia.org/wiki/Thich_Nhat_Hanh" rel="wikipedia">Thich Nhat Hanh</a>’s “<em>Being Peace</em>” when 1,400 heavily-armed LAPD officers in paramilitary SWAT gear streamed in. I was in a group of about 50 peaceful protestors who sat Indian-style, arms interlocked, around a tent (the symbolic image of the Occupy movement). The LAPD officers encircled us, weapons drawn, while we chanted “We Are Peaceful” and “We Are Nonviolent” and “Join Us.”</p>
<p>As we sat there, encircled, a separate team of LAPD officers used knives to slice open every personal tent in the park. They forcibly removed anyone sleeping inside, and then yanked out and destroyed any personal property inside those tents, scattering the contents across the park. They then did the same with the communal property of the Occupy LA movement. For example, I watched as the LAPD destroyed a pop-up canopy tent that, until that moment, had been serving as Occupy LA’s First Aid and Wellness tent, in which volunteer health professionals gave free medical care to absolutely anyone who requested it. As it happens, my family had personally contributed that exact canopy tent to Occupy LA, at a cost of several hundred of my family’s dollars. As I watched, the LAPD sliced that canopy tent to shreds, broke the telescoping poles into pieces and scattered the detritus across the park. Note that these were the objects described in subsequent mainstream press reports as “30 tons of garbage” that was “abandoned” by Occupy LA: personal property forcibly stolen from us, destroyed in front of our eyes and then left for maintenance workers to dispose of while we were sent to prison.</p>
<p>When the LAPD finally began arresting those of us interlocked around the symbolic tent, we were all ordered by the LAPD to unlink from each other (in order to facilitate the arrests). Each seated, nonviolent protester beside me who refused to cooperate by unlinking his arms had the following done to him: an LAPD officer would forcibly extend the protestor’s legs, grab his left foot, twist it all the way around and then stomp his boot on the insole, pinning the protestor’s left foot to the pavement, twisted backwards. Then the LAPD officer would grab the protestor’s right foot and twist it all the way the other direction until the non-violent protestor, in incredible agony, would shriek in pain and unlink from his neighbor.</p>
<p>It was horrible to watch, and apparently designed to terrorize the rest of us. At least I was sufficiently terrorized. I unlinked my arms voluntarily and informed the LAPD officers that I would go peacefully and cooperatively. I stood as instructed, and then I had my arms wrenched behind my back, and an officer hyperextended my wrists into my inner arms. It was super violent, it hurt really really bad, and he was doing it on purpose. When I involuntarily recoiled from the pain, the LAPD officer threw me face-first to the pavement. He had my hands behind my back, so I landed right on my face. The officer dropped with his knee on my back and ground my face into the pavement. It really, really hurt and my face started bleeding and I was very scared. I begged for mercy and I promised that I was honestly not resisting and would not resist.</p>
<p>My hands were then zipcuffed very tightly behind my back, where they turned blue. I am now suffering nerve damage in my right thumb and palm.</p>
<p>I was put on a paddywagon with other nonviolent protestors and taken to a parking garage in Parker Center. They forced us to kneel (and sit&#8211;<a href="http://myoccupylaarrest.blogspot.com/2011/12/my-occupy-la-arrest-by-patrick-meighan.html" target="_blank">SEE UPDATE</a> ) on the hard pavement of that parking garage for seven straight hours with our hands still tightly zipcuffed behind our backs. Some began to pass out. One man rolled to the ground and vomited for a long, long time before falling unconscious. The LAPD officers watched and did nothing.</p>
<p>At 9 a.m. we were finally taken from the pavement into the station to be processed. The charge was sitting in the park after the police said not to. It’s a misdemeanor. Almost always, for a misdemeanor, the police just give you a ticket and let you go. It costs you a couple hundred dollars. Apparently, that’s what happened with most every other misdemeanor arrest in LA that day.</p>
<p>With us Occupy LA protestors, however, they set bail at $5,000 and booked us into jail. Almost none of the protesters could afford to bail themselves out. I’m lucky and I could afford it, except the LAPD spent all day refusing to actually *accept* the bail they set. If you were an accused murderer or a rapist in LAPD custody that day, you could bail yourself right out and be back on the street, no problem. But if you were a nonviolent Occupy LA protestor with bail money in hand, you were held long into the following morning, with absolutely no access to a lawyer.</p>
<p>I spent most of my day and night crammed into an eight-man jail cell, along with sixteen other Occupy LA protesters. My sleeping spot was on the floor next to the toilet.</p>
<p>Finally, at 2:30 the next morning, after twenty-five hours in custody, I was released on bail. But there were at least 200 Occupy LA protestors who couldn’t afford the bail. The LAPD chose to keep those peaceful, non-violent protesters in prison for two full days… the absolute legal maximum that the LAPD is allowed to detain someone on misdemeanor charges.</p>
<p>As a reminder, Antonio Villaraigosa has referred to all of this as “the LAPD’s finest hour.”</p>
<p>So that’s what happened to the 292 women and men were arrested last Wednesday. Now let’s talk about a man who was not arrested last Wednesday. He is former Citigroup CEO Charles Prince. Under Charles Prince, Citigroup was guilty of massive, coordinated securities fraud.</p>
<p>Citigroup spent years intentionally buying up every bad mortgage loan it could find, creating bad securities out of those bad loans and then selling shares in those bad securities to duped investors. And then they sometimes secretly bet *against* their *own* bad securities to make even more money. For one such bad Citigroup security, Citigroup executives were internally calling it, quote, “a collection of dogshit”. To investors, however, they called it, quote, “an attractive investment rigorously selected by an independent investment adviser”.</p>
<p>This is fraud, and it’s a felony, and the Charles Princes of the world spent several years doing it again and again: knowingly writing bad mortgages, and then packaging them into fraudulent securities which they then sold to suckers and then repeating the process. This is a big part of why your property values went up so fast. But then the bubble burst, and that’s why our economy is now shattered for a generation, and it’s also why your home is now underwater. Or at least mine is.</p>
<p>Anyway, if your retirement fund lost a decade’s-worth of gains overnight, this is why.</p>
<p>If your son’s middle school has added furlough days because the school district can’t afford to keep its doors open for a full school year, this is why.</p>
<p>If your daughter has come out of college with a degree only to discover that there are no jobs for her, this is why.</p>
<p>But back to Charles Prince. For his four years of in charge of massive, repeated fraud at Citigroup, he received fifty-three million dollars in salary and also received another ninety-four million dollars in stock holdings. What Charles Prince has *not* received is a pair of zipcuffs. The nerves in his thumb are fine. No cop has thrown Charles Prince into the pavement, face-first. Each and every peaceful, nonviolent Occupy LA protester arrested last week has has spent more time sleeping on a jail floor than every single Charles Prince on Wall Street, combined.</p>
<p>The more I think about that, the madder I get. What does it say about our country that nonviolent protesters are given the bottom of a police boot while those who steal hundreds of billions, do trillions worth of damage to our economy and shatter our social fabric for a generation are not only spared the zipcuffs but showered with rewards?</p>
<p>In any event, believe it or not, I’m really not angry that I got arrested. I chose to get arrested. And I’m not even angry that the mayor and the LAPD decided to give non-violent protestors like me a little extra shiv in jail (although I’m not especially grateful for it either).</p>
<p>I’m just really angry that every single Charles Prince wasn’t in jail with me.</p>
<p>Thank you for letting me share that anger with you today.</p>
<p>Patrick Meighan</p>
<p>Photojournalist <a href="http://blogs.laweekly.com/informer/2011/12/tyson_heder_lapd_occupy.php" target="_blank">Tyson Zoltan Header</a> beaten and detained BY LAPS at Occupy Los Angles</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:5ba4abb2-b5e2-478d-87ed-5e05154334cd" class="wlWriterEditableSmartContent" style="width:425px;display:block;float:none;margin:0 auto;padding:15px;">
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2011/12/09/occupy-los-angeles-why-was-patrick-meighan-arrested-and-not-charles-prince-of-citigroup/"><img src="http://img.youtube.com/vi/yInFCStepKE/2.jpg" alt="" /></a></span></div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1939/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1939&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2011/12/09/occupy-los-angeles-why-was-patrick-meighan-arrested-and-not-charles-prince-of-citigroup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://www.jewishjournal.com/images/bloggers_auto/neonrainboy_OLA_image.jpg" medium="image" />

		<media:content url="http://www.mortgagecalculator.org/images/charles-prince.jpg" medium="image" />

		<media:content url="http://blogs.laweekly.com/informer/assets_c/2011/12/patrickmeighan-thumb-200x133.jpg" medium="image" />
	</item>
		<item>
		<title>QCON 2011 San Francisco and Occupy California</title>
		<link>http://dlr2008.wordpress.com/2011/12/06/qcon-2011-san-francisco-and-occupy-california/</link>
		<comments>http://dlr2008.wordpress.com/2011/12/06/qcon-2011-san-francisco-and-occupy-california/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 15:00:11 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MIX 2011]]></category>
		<category><![CDATA[NOSQL]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[QCON 2011]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[QCon]]></category>
		<category><![CDATA[San Francisco]]></category>
		<category><![CDATA[Mobile Development]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=1924</guid>
		<description><![CDATA[QCON 2011 San Francisco.  New Software, mostly free.  Fresh Ideas. Mobile Development and HTML5<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1924&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Let me say write off that I do not pay for my own ticket to <a href="http://qconsf.com/sf2011/schedule/wednesday.jsp" target="_blank">QCON</a>, my boss picks up the tag.  I love QCON.  It is definitely not <a href="http://wp.me/pws6m-kh" target="_blank">MIX</a>. I go there to see what is happening in the world which <a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6439629043_9a7e84a2bd_z" src="http://dlr2008.files.wordpress.com/2011/12/6439629043_9a7e84a2bd_z.jpg?w=272&#038;h=406" alt="6439629043_9a7e84a2bd_z" width="272" height="406" align="left" border="0" /></a> is NOT Oracle and Not Microsoft.  That&#8217;s the same reason I read their online Zine: <a href="http://www.infoq.com/" target="_blank">InfoQ</a>.   QCon always provides a look at what is current and recent in the open stack world.  This year we looked closely at REST, Mobile development, Web API and NOSQL. As they did last  year QCON provides a nice look at what is open and emerging.  Big metal with always be with us but the desk top is looking<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628080558765/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6373613127_9780c7d60f" src="http://dlr2008.files.wordpress.com/2011/12/6373613127_9780c7d60f.jpg?w=394&#038;h=264" alt="6373613127_9780c7d60f" width="394" height="264" align="right" border="0" /></a> very weak during the next few years while Mobile devices of all kinds and makers are exploding.  The biggest fall out is that while HTML5 is only slowly emerging on desktops in place, all new Mobile devices (which is to say most new systems) will be fully HTML5 compliant.  Not only that but with the exception of Windows Phones, the rendering engine for all mobile devices is based on WebKit.  What this mean for those of us in the cubes is that worrying about how to bridge to pre-HTML5 browsers with HTML5 code is a non-issue.  Mobile development is HTML5 development.  The big metal end of the supply chain is being segmented into Web API servers (which service JSON XHR2 data calls) and the NOSQL engines which serve the WEB API farms.  Remember a native mobile app     ideally has pre-loaded all of its pages its interactions are solely over JSON XHR2 for data (be it documents, data or HTML fragments).  The traditional JSP or ASPX web server is not really in play with native mobile apps and has and increasingly small role to play in “native like” or browser based mobile apps.  Let’s move on.</p>
<h3></h3>
<p><em>“IPad Light by cloud2013”</em></p>
<h3><span style="color:#ff0000;"><strong>Speaking of moving on: There is an <a href="http://dlr2008.wordpress.com/" target="_blank">occupation</a> going on in this country.  I visited occupations sites in San Francisco, UCal Berkeley and  Berkeley “Tent City”.  These are all very active and inspiring occupy sites.  Now if we can only get to Occupy Silicon Valley!  </strong></span></h3>
<p>I attended the <strong>REST in Practice</strong> tutorial this year and it was a very nice.  The authors were well informed and the agenda comprehensive.  I personally like the Richardson maturity model but think that people are not facing up to the fact that level three is rarely achieved in practice and the rules of web semantics necessary to interoperate at level 3 are almost non-existent. Remember the original REST model is client/server.  The basic model is a finite state machine and the browser (and the user) are in this model required to be dumb as fish.  Whether Javascript is a strong enough model and late binding semantics can be made clear enough to pull off level three is really an open question which no one has an answer to.  If we forget about interoperability (except for OAuth) things start to fall into place but we thought OPENNESS was important to REST.</p>
<p align="center"><strong>Workshop: </strong><a href="http://www.amazon.com/gp/product/0596805829/ref=s9_simh_gw_p14_i1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-2&amp;pf_rd_r=1FJEX5ASH5KQ29FTW4J1&amp;pf_rd_t=101&amp;pf_rd_p=470938631&amp;pf_rd_i=507846"><strong>REST In Practice</strong></a><strong> by the Authors: Ian Robinson &amp; Jim Webber</strong></p>
<p>Why REST? The claims:</p>
<p>· Scalable</p>
<p>· Fault Tolerant</p>
<p>· Recoverable</p>
<p>· Secure</p>
<p>· Loosely coupled<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px 10px 10px 0;" title="6439625819_5705585c80" src="http://dlr2008.files.wordpress.com/2011/12/6439625819_5705585c80.jpg?w=227&#038;h=392" alt="6439625819_5705585c80" width="227" height="392" align="left" border="0" /></a></p>
<p>Questions / Comment:<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628080558765/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6380018433_9172323197" src="http://dlr2008.files.wordpress.com/2011/12/6380018433_9172323197.jpg?w=381&#038;h=255" alt="6380018433_9172323197" width="381" height="255" align="right" border="0" /></a></p>
<p>Do we agree with these goals?</p>
<p>Does REST achieve them?</p>
<p>Are there other ways to achieve the same goals?</p>
<p>REST design is important for serving AJAX requests and AJAX requests are becoming central to Mobile device development, as opposed to intra-corporate communication. See Web API section below.</p>
<p align="right"><strong><em>Occupy Market Street (San Francisco)             </em></strong></p>
<p align="center"><strong>The new basic Document for REST: </strong><a href="http://martinfowler.com/articles/richardsonMaturityModel.html"><strong>Richardson Maturity Model</strong></a><strong> (with DLR modifications)</strong></p>
<p><strong>Level 0:</strong></p>
<p>One URI endpoint</p>
<p>One HTTP method [Get]</p>
<p>SOAP, RPC</p>
<p><strong>Level 1:</strong></p>
<p>Multiple URI,</p>
<p>One HTTP Method [Get]</p>
<p>Century Level HTTP Codes (200,300,400,500)</p>
<p><strong>Level 2:</strong></p>
<p>Multiple URI,</p>
<p>Multiple HTTP Methods</p>
<p>Fine Grain HTTP Codes (“Any code below 500 is not an error, it’s an event”)</p>
<p>URI Templates</p>
<p>Media Format Negotiation (Accept request-header)</p>
<p>Headers become major players in the interaction between client and server</p>
<p><strong>Level 3:  The Semantic Web</strong></p>
<p>Level 2 plus</p>
<p>Links and <a href="http://www.adobe.com/devnet/dreamweaver/articles/html5-forms-pt1.html">Forms</a> Tags (Hypermedia as the engine of state)</p>
<p>Plus emergent semantics</p>
<p>&lt;shop xmlns=&#8221;http://schemas.restbucks.com/shop&#8221;</p>
<p>xmlns:rb=&#8221;http://relations.restbucks.com/&#8221;&gt;</p>
<p>&lt;items&gt;</p>
<p>&lt;item&gt;&#8230;&lt;/item&gt;</p>
<p>&lt;item&gt;&#8230;&lt;/item&gt;</p>
<p>&lt;/items&gt;</p>
<p>&lt;link rel=&#8221;self&#8221; href=<a href="http://restbucks.com/quotes/1234">http://restbucks.com/quotes/1234</a> type=&#8221;application/restbucks+xml&#8221;/&gt;</p>
<p>&lt;link rel=&#8221;rb:order-form&#8221; href=&#8221;http://restbucks.com/order-forms/1234&#8243; type=&#8221;application/restbucks+xml&#8221;/&gt;</p>
<p>&lt;/shop&gt;</p>
<p><a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6439622787_7b614f312c" src="http://dlr2008.files.wordpress.com/2011/12/6439622787_7b614f312c.jpg?w=251&#038;h=375" alt="6439622787_7b614f312c" width="251" height="375" align="left" border="0" /></a></p>
<p>Think of the browser (user) as a finite State Machine where the workflow is driven by link tags which direct the client as to which states it may transition to and the URI associated with each state transition.<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628080558765/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6380028389_e64c6a826f" src="http://dlr2008.files.wordpress.com/2011/12/6380028389_e64c6a826f.jpg?w=412&#038;h=276" alt="6380028389_e64c6a826f" width="412" height="276" align="right" border="0" /></a></p>
<p>The classic design paper on <strong>applied</strong> REST architecture is here: <a href="http://www.infoq.com/articles/webber-rest-workflow">How To GET a Cup Of Coffee</a>. Moving beyond level 1 requires fine grain usage of HTTP Status Codes, Link tags, the change headers and media type negotiation. Media formats beyond POX and JSON are required to use level 3 efficiently (OData and ATOM.PUB for example).</p>
<p>Dude, where’s my two phase commit? Not supported directly, use the change headers (if-modified, if-non-match, etag headers) or architectural redesign (redefine resources or workflow). Strategic choice is design of the finite state machine and defining resource granularity.</p>
<p align="left"><a href="http://dlr2008.files.wordpress.com/2011/12/clip_image002.jpg"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border:0;" title="clip_image002" src="http://dlr2008.files.wordpress.com/2011/12/clip_image002_thumb.jpg?w=519&#038;h=339" alt="clip_image002" width="519" height="339" border="0" /></a></p>
<p align="center">(Slide from Rest in Practice<a href="http://dlr2008.files.wordpress.com/2011/12/clip_image0021.jpg">)</a></p>
<p><strong>Architectural Choices: </strong></p>
<p>The Bad Old Days: One resource many, many ‘verbs’.</p>
<p>The Happy Future: Many, many resources, few verbs.</p>
<p>The Hand Cuff Era: Few Resources, Few verbs.</p>
<p><strong>The Greater Verbs: </strong></p>
<p>GET: Retrieve a representation of a resource</p>
<p>POST: Create a new resource (Server sets the key)</p>
<p>PUT: Create new resource (Client sets the key); ( or <em>Update an existing resource ?)</em></p>
<p>DELETE: Delete an existing resource</p>
<p>Comment: The proper use of PUT vs. POST is still subject to controversy and indicates (to me) that level 3 is still not well defined.</p>
<p>Typically they say POST to create a blog entry and PUT at append a comment to a blog. In Couchdb we POST to create a document and PUT to add a revision (not a delta) and get back a new version number. The difference here is how the resource is being defined, which is an architectural choice.</p>
<p><strong><a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6439621853_3275941633" src="http://dlr2008.files.wordpress.com/2011/12/6439621853_3275941633.jpg?w=342&#038;h=229" alt="6439621853_3275941633" width="342" height="229" align="left" border="0" /></a> </strong></p>
<p><strong>The Lesser Verbs:</strong></p>
<p>OPTIONS: See which verbs a resource understands</p>
<p>HEAD: Return only the header (no response body)</p>
<p>PATCH: Does not exist in HTML5. This would be a delta Verb but no one could agree on a specification for the content.  Microsoft did some early work on this with their XML Diffgram but no one else followed suit.</p>
<p><strong>Security</strong></p>
<p>Authentication (in order of increased security)</p>
<p>Basic Auth</p>
<p>Basic Auth + SSL</p>
<p>Digest</p>
<p>WSSE Authentication (ATOM uses this)</p>
<p>Message Security:</p>
<p>Message Level Encrypt (WS-SEC)</p>
<p><strong>For the Microsoft coders I highly recommend</strong></p>
<p><a href="http://www.amazon.com/RESTful-NET-Build-Consume-Services/dp/0596519206/ref=sr_1_1?ie=UTF8&amp;qid=1323178482&amp;sr=8-1" target="_blank"><strong>RESTful .Net</strong></a><strong> (WCF For REST (Framework 3.5) Jon Flanders</strong></p>
<p>There are significant advantages to building your RESTful services using .Net.  Here is a comparison table to get you oriented:</p>
<div><strong>DLR’s Cross Reference:</strong></div>
<div align="center">
<table border="1" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td valign="top" width="73"></td>
<td valign="top" width="131"></td>
<td valign="top" width="276"></td>
<td valign="top" width="254"></td>
</tr>
<tr>
<td valign="top" width="73"></td>
<td valign="top" width="131"><strong>Web Service Standard</strong></td>
<td valign="top" width="276"><strong>REST Service</strong></td>
<td valign="top" width="254"><strong>WCF For REST (Framework 3.5)</strong></td>
</tr>
<tr>
<td valign="top" width="73">1</td>
<td valign="top" width="131">TCP/IP + others</td>
<td valign="top" width="276">TCP/IP</td>
<td valign="top" width="254">TCP/IP</td>
</tr>
<tr>
<td valign="top" width="73">2</td>
<td valign="top" width="131">SOAP Wrapper</td>
<td valign="top" width="276">HTTP</td>
<td valign="top" width="254">HTTP</td>
</tr>
<tr>
<td valign="top" width="73">3</td>
<td valign="top" width="131">SOAP Headers</td>
<td valign="top" width="276">HTTP Headers</td>
<td valign="top" width="254">HTTP Headers</td>
</tr>
<tr>
<td valign="top" width="73">4</td>
<td valign="top" width="131">WS*Security</td>
<td valign="top" width="276">Basic Auth/SSL</td>
<td valign="top" width="254">Basic Auth/SSL or WS*Security</td>
</tr>
<tr>
<td valign="top" width="73">5</td>
<td valign="top" width="131">Early Binding</td>
<td valign="top" width="276">Late Binding</td>
<td valign="top" width="254">Late Binding</td>
</tr>
<tr>
<td valign="top" width="73">6</td>
<td valign="top" width="131">XSD</td>
<td valign="top" width="276">WADL</td>
<td valign="top" width="254">XSD, WADL</td>
</tr>
<tr>
<td valign="top" width="73">7</td>
<td valign="top" width="131">XML</td>
<td valign="top" width="276">Media Negotiation</td>
<td valign="top" width="254">Media Negotiation</td>
</tr>
<tr>
<td valign="top" width="73">8</td>
<td valign="top" width="131">SOAP FAULTS</td>
<td valign="top" width="276">HTTP Response Codes</td>
<td valign="top" width="254">HTTP Response Codes</td>
</tr>
<tr>
<td valign="top" width="73">9</td>
<td valign="top" width="131">Single Endpoint</td>
<td valign="top" width="276">Multiple Endpoints, URI Templates</td>
<td valign="top" width="254">Multiple Endpoints, URI Templates</td>
</tr>
<tr>
<td valign="top" width="73">10</td>
<td valign="top" width="131">Client Proxy</td>
<td valign="top" width="276">Custom</td>
<td valign="top" width="254">auto-generated Javascript proxy</td>
</tr>
</tbody>
</table>
</div>
<p><a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px 10px 10px 0;" title="6439623457_d2599a85eb_m" src="http://dlr2008.files.wordpress.com/2011/12/6439623457_d2599a85eb_m.jpg?w=206&#038;h=244" alt="6439623457_d2599a85eb_m" width="206" height="244" align="left" border="0" /></a></p>
<p align="center"><strong>The REST of the Week</strong></p>
<p>Wednesday is more or less vendor day at QCON and the sessions are a step down from the tutorials but the session quality<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628080558765/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6373577519_b3a8be078c" src="http://dlr2008.files.wordpress.com/2011/12/6373577519_b3a8be078c.jpg?w=385&#038;h=258" alt="6373577519_b3a8be078c" width="385" height="258" align="right" border="0" /></a> picked up again on Thursday and Friday.  XXX XXXX who gave an excellent tutorial last year gave an informative talk on ‘good code’.  The Mobile Development and HTML5 tracks were well attended and quite informative.  The fie   ld is wild open with many supporting systems being free to the developer (support will cost you extra) and the choices are broad: from browser ‘responsive design’ application to native appearing applications to native apps ( and someone threw in “hybrid app” into the mix).  The Mobile panel of IBM DOJO, JQuery.Mobil and Sencha was hot.  I am new (to say the least) to Mobile development but here are my (somewhat) random notes on these sessions:</p>
<p><strong>MOBILE Development is HTML5 Development</strong></p>
<p>HTML5 is the stack. Phone and Tablet applications use WebKit based rendering engines and HTML5 conformant browsers only (Windows Phone 7 is the exception here). HTML5 has its own new security concerns ( <a href="http://html5sec.org/">New Security Concerns</a>)</p>
<p>Three major application development approaches are:</p>
<p>· Browser Applications;</p>
<p>· Native like Applications;</p>
<p>· Hybrid Applications; and</p>
<p>· Native Applications.</p>
<p>Browser applications may emulate the screens seen on the parallel desk top browser versions on the front end but in practice the major players (Facebook, YouTube, Gmail) make substantial modifications to at least the non-visual parts of the Mobile experience making extensive use of local storage and the HTML5 manifest standard for performance and to allow for a reasonable off line experience. Browser applications fall under the guidelines of <a href="http://www.alistapart.com/articles/responsive-web-design/">Responsive Design</a> (aka adaptive Design) and tend to be used when content will appear similarly between desktop and Mobile devices.</p>
<p>“Native like” applications use:</p>
<p>· The Browser in full screen Mode with no browser ‘chrome’; and</p>
<p>· Widgets are created using CSS, JS and HTML5 which simulate the ‘look and feel’ of a native application;</p>
<p>· No Access to Native Functionality (GPS, Camera, etc)<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628080558765/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6380026599_db3ba709db" src="http://dlr2008.files.wordpress.com/2011/12/6380026599_db3ba709db.jpg?w=260&#038;h=327" alt="6380026599_db3ba709db" width="260" height="327" align="right" border="0" /></a></p>
<p>· Tend to use, but does not require use of HTML5 manifest or local storage but it is strongly encouraged. <a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6439624411_22b452613f" src="http://dlr2008.files.wordpress.com/2011/12/6439624411_22b452613f.jpg?w=341&#038;h=228" alt="6439624411_22b452613f" width="341" height="228" align="left" border="0" /></a></p>
<p>A Native application is still an HTML5 application with the following characteristics:</p>
<p>· All JS Libraries, CSS and HTML are packaged and pre-loaded using a vendor specific MSI/Setup package;</p>
<p>· AJAX type calls for data are allowed;</p>
<p>· Access to Native Widgets and/or Widgets are created using CSS, JS and HTML5</p>
<p>· Access to Native Functionality (GPS, Camera, etc)</p>
<p>· Standard HTTP GET or POST are NOT allowed</p>
<p>A Hybrid Application is a “Native Like” Application” placed within a wrapper which allows access to device hardware and software (like the camera) via a special JavaScript interface and, with additional special coding, can be packaged within a MSI/Setup and distributed as a pure Native application.</p>
<p>AJAX calls are made via XHR2 (aka XMLHttpRequest Level 2) which among other things <strong>relaxes the single domain requirement</strong> of XHR and processing Blob and File interfaces.</p>
<p>The following major vendors offer free libraries and IDE for development:</p>
<p>Native Apps: PhoneGap, <a href="http://www.appcelerator.com/">Appcelerator</a></p>
<p>Native App Like: <a href="http://www.sencha.com/products/touch/">Sencha</a>, <a href="http://phonegap.com/">PhoneGap</a>, <a href="http://dojotoolkit.org/features/mobile">IBM Dojo</a></p>
<p>Browser App: JQuery.<a href="http://jquerymobile.com/">Mobile</a></p>
<p>PhoneGap does NOT require replacement of Sencha, JQuery.Mobil, Dojo.Mobile JQuery libraries.</p>
<p>PhoneGap allows JavaScript to call PhoneGap JavaScript libraries which abstract access to device hardware (camera, GPS, etc).</p>
<p>Sencha does not require replacement of the JQuery.Mobil, Dojo.Mobile JQuery libraries.</p>
<p>Although it is theoretically possible to create “Native like” applications with only JQuery.Mobile this is NOT encouraged.<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6439625143_caa6996f39" src="http://dlr2008.files.wordpress.com/2011/12/6439625143_caa6996f39.jpg?w=429&#038;h=268" alt="6439625143_caa6996f39" width="429" height="268" align="left" border="0" /></a> <a href="http://www.flickr.com/photos/dennisredfield/sets/72157628080558765/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6337926187_91ca36793d" src="http://dlr2008.files.wordpress.com/2011/12/6337926187_91ca36793d.jpg?w=209&#038;h=311" alt="6337926187_91ca36793d" width="209" height="311" align="right" border="0" /></a></p>
<p align="center"><strong>Local Storage</strong></p>
<p>This is a major area of performance efforts and is still very much open in terms of how best to approach the problem:</p>
<p>The major elements are:</p>
<p><a href="http://www.html5rocks.com/en/tutorials/appcache/beginner/">App Cache</a> (for pre-fetch. and Native App Approach)</p>
<p><a href="http://en.wikipedia.org/wiki/DOM_storage">DOM Storage</a> (aka Web Storage)</p>
<p><a href="http://msdn.microsoft.com/en-us/scriptjunkie/gg679063">IndexedDB</a> (vs. Web SQL)</p>
<p>File API (this is really part of XHR2)</p>
<p><strong>Storing Large Amounts of Data Locally</strong></p>
<p>If you are looking to store many Megabytes &#8211; or more, beware that there are limits in place, which are handled in different ways depending on the browser and the particular API we&#8217;re talking about. In most cases, there is a magic number of 5MB. For Application Cache and the various offline stores, there will be no problem if your domain stores under 5MB. When you go above that, various things can happen: (a) it won&#8217;t work; (b) the browser will request the user for more space; (c) the browser will check for special configuration (as with the &#8220;unlimited_storage&#8221; permission in the Chrome extension manifest).</p>
<p>IndexedDB:</p>
<p><img style="display:block;float:none;border:0;margin:10px auto;" title="clip_image002" src="http://dlr2008.files.wordpress.com/2011/12/clip_image002.gif?w=484&#038;h=292" alt="clip_image002" width="484" height="292" border="0" /></p>
<p><a href="http://en.wikipedia.org/wiki/Web_SQL_Database">Web SQL Database</a> is a web page <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API</a> for storing data in <a href="http://en.wikipedia.org/wiki/Database">databases</a> that can be queried using a variant of SQL.</p>
<p>Storage Non-Support as of two weeks ago.</p>
<table border="1" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="98"></td>
<td valign="top" width="76">IE</td>
<td valign="top" width="70">Chrome</td>
<td valign="top" width="82">Safari</td>
<td valign="top" width="82">Firefox</td>
<td valign="top" width="94">iOS</td>
<td valign="top" width="94">BBX[RIM]</td>
<td valign="top" width="186">Android</td>
</tr>
<tr>
<td valign="top" width="98">IndexedDB</td>
<td valign="top" width="76">Supported</td>
<td valign="top" width="70">Supported</td>
<td valign="top" width="82">No Support</td>
<td valign="top" width="82">Supported</td>
<td valign="top" width="94">No Support</td>
<td valign="top" width="94">No Support</td>
<td valign="top" width="186">No Support</td>
</tr>
<tr>
<td valign="top" width="98">WEB SQL</td>
<td valign="top" width="76">No Support</td>
<td valign="top" width="70">Supported</td>
<td valign="top" width="82">Supported</td>
<td valign="top" width="82">No Support</td>
<td valign="top" width="94">Supported</td>
<td valign="top" width="94">Supported</td>
<td valign="top" width="186">Supported</td>
</tr>
</tbody>
</table>
<p><a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6439626605_ee7b664332" src="http://dlr2008.files.wordpress.com/2011/12/6439626605_ee7b664332.jpg?w=290&#038;h=337" alt="6439626605_ee7b664332" width="290" height="337" align="left" border="0" /></a></p>
<p>Doing HTML5 on non-HTML5 Browsers: If you are doing responsive design and need to work with Desktop and<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628080558765/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6380016957_4c6b5e7345_z" src="http://dlr2008.files.wordpress.com/2011/12/6380016957_4c6b5e7345_z.jpg?w=396&#038;h=265" alt="6380016957_4c6b5e7345_z" width="396" height="265" align="right" border="0" /></a> Mobil using the same code base: JQuery.Mobile, DOJO and , <a href="http://www.modernizr.com/">Modernizr</a>(strong Microsoft support for this JavaScript library).</p>
<p><strong>WEB API</strong></p>
<p>What is it? Just a name for breaking out the AJAX servers from the web server. This is an expansion of REST into just serving data for XHR. It is a helpful way to specialize our design discussions by separating serving pages (with MVC or whatever) from serving data calls from the web page. Except for security the two can be architecturally separated.</p>
<p>Web APIs Technology Stack</p>
<p><a href="\Documents%20and%20Settings\dredfield\Local%20Settings\Temp\WindowsLiveWriter-429641856\supfiles14B27BFC\clip_image001%5b7%5d.png"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border:0;" title="clip_image002[6]" src="http://dlr2008.files.wordpress.com/2011/12/clip_image0026.gif?w=498&#038;h=261" alt="clip_image002[6]" width="498" height="261" border="0" /></a></p>
<p>Look familiarr? Looks like our old web server stack to me.</p>
<p><strong>NOSQL</strong></p>
<p>The <a href="http://en.wikipedia.org/wiki/CAP_theorem">CAP Theorem</a>  (and <a href="http://lpd.epfl.ch/sgilbert/pubs/BrewersConjecture-SigAct.pdf">Here</a>)</p>
<ul>
<li>Consistency: (all nodes have the same data at the same time)</li>
<li>Availability: (every request receives a response – no timeouts, offline)</li>
<li>Partition tolerance: (the system continues to operate despite arbitrary message loss)</li>
</ul>
<p>Pick Any <strong>Two<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6439627917_7f88626477_z" src="http://dlr2008.files.wordpress.com/2011/12/6439627917_7f88626477_z.jpg?w=341&#038;h=229" alt="6439627917_7f88626477_z" width="341" height="229" align="left" border="0" /></a> </strong></p>
<p>If some of the data you are serving can tolerate<strong> </strong><a href="http://en.wikipedia.org/wiki/Eventual_consistency">Eventual Consistency</a> then NOSQL is much faster.<a href="http://www.flickr.com/photos/dennisredfield/sets/72157628080558765/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6380029445_0e0ecf7d53" src="http://dlr2008.files.wordpress.com/2011/12/6380029445_0e0ecf7d53.jpg?w=214&#038;h=319" alt="6380029445_0e0ecf7d53" width="214" height="319" align="right" border="0" /></a></p>
<p>If you need two phase commit, either use a SQL database <strong>OR</strong> redefine your resource to eliminate the need for the 2Phase Commit.</p>
<p>NoSQL databases come in two basic flavors:</p>
<p>Key/Value: This are popular with content management and where response time must be minimal. In general you define what btrees you want to use before the fact. There are no on the fly Joins or projects. <a href="http://www.mongodb.org/" target="_blank">MongoDB</a> and <a href="http://couchdb.apache.org/" target="_blank">CouchDB</a> are typical leaders in this area.</p>
<p>Column Map: This is what Google calls <a href="https://docs.google.com/viewer?url=http%3A%2F%2Flabs.google.com%2Fpapers%2Fbigtable-osdi06.pdf">Big Table</a>. This is better for delivering groups of records based on criteria which may be defined ‘on the fly’. <a href="http://cassandra.apache.org/" target="_blank">Cassandra</a> is the leader in this group.</p>
<p>Web Sockets:</p>
<p><a href="http://www.flickr.com/photos/dennisredfield/sets/72157628241884417/show/" target="_blank"><img style="display:inline;border:0;margin:10px;" title="6439628517_6c7955df1f_z" src="http://dlr2008.files.wordpress.com/2011/12/6439628517_6c7955df1f_z.jpg?w=420&#038;h=240" alt="6439628517_6c7955df1f_z" width="420" height="240" align="left" border="0" /></a>Sad to say this is still not standardized and preliminary support libraries are still a little rough.  Things do not seem to have moved along much since the Microsoft sessions I attended at MIX 11.</p>
<p>Photos: All Photos by <a href="http://www.flickr.com/photos/dennisredfield/6455273941/in/photostream/lightbox/" target="_blank">Cloud2013</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1924/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1924&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2011/12/06/qcon-2011-san-francisco-and-occupy-california/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439629043_9a7e84a2bd_z.jpg" medium="image">
			<media:title type="html">6439629043_9a7e84a2bd_z</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6373613127_9780c7d60f.jpg" medium="image">
			<media:title type="html">6373613127_9780c7d60f</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439625819_5705585c80.jpg" medium="image">
			<media:title type="html">6439625819_5705585c80</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6380018433_9172323197.jpg" medium="image">
			<media:title type="html">6380018433_9172323197</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439622787_7b614f312c.jpg" medium="image">
			<media:title type="html">6439622787_7b614f312c</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6380028389_e64c6a826f.jpg" medium="image">
			<media:title type="html">6380028389_e64c6a826f</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/clip_image002_thumb.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439621853_3275941633.jpg" medium="image">
			<media:title type="html">6439621853_3275941633</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439623457_d2599a85eb_m.jpg" medium="image">
			<media:title type="html">6439623457_d2599a85eb_m</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6373577519_b3a8be078c.jpg" medium="image">
			<media:title type="html">6373577519_b3a8be078c</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6380026599_db3ba709db.jpg" medium="image">
			<media:title type="html">6380026599_db3ba709db</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439624411_22b452613f.jpg" medium="image">
			<media:title type="html">6439624411_22b452613f</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439625143_caa6996f39.jpg" medium="image">
			<media:title type="html">6439625143_caa6996f39</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6337926187_91ca36793d.jpg" medium="image">
			<media:title type="html">6337926187_91ca36793d</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/clip_image002.gif" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439626605_ee7b664332.jpg" medium="image">
			<media:title type="html">6439626605_ee7b664332</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6380016957_4c6b5e7345_z.jpg" medium="image">
			<media:title type="html">6380016957_4c6b5e7345_z</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/clip_image0026.gif" medium="image">
			<media:title type="html">clip_image002[6]</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439627917_7f88626477_z.jpg" medium="image">
			<media:title type="html">6439627917_7f88626477_z</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6380029445_0e0ecf7d53.jpg" medium="image">
			<media:title type="html">6380029445_0e0ecf7d53</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/12/6439628517_6c7955df1f_z.jpg" medium="image">
			<media:title type="html">6439628517_6c7955df1f_z</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft MVC 3 and CouchDB &#8211; Low Level Get Calls</title>
		<link>http://dlr2008.wordpress.com/2011/11/07/microsoft-mvc-3-and-couchdb-low-level-get-calls/</link>
		<comments>http://dlr2008.wordpress.com/2011/11/07/microsoft-mvc-3-and-couchdb-low-level-get-calls/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 18:38:24 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[REST]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Occupy Everything]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Internet Archive]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Hypertext Transfer Protocol]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=1890</guid>
		<description><![CDATA[CouchDB on Windows Using Microsoft MVC 3<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1890&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>I have written elsewhere on couchdb on Windows and using <a class="zem_slink" title="Ruby on Rails" href="http://en.wikipedia.org/wiki/Ruby_on_Rails" rel="wikipedia">Ruby on Rails</a> to interface to this system.  These posts can be found here:<a href="http://dlr2008.files.wordpress.com/2011/11/couchdb.png"><img style="display:inline;border:0;margin:10px 0;" title="couchdb" src="http://dlr2008.files.wordpress.com/2011/11/couchdb_thumb.png?w=170&#038;h=197" alt="couchdb" width="170" height="197" align="right" border="0" /></a></p>
<p><a href="http://wp.me/pws6m-iH">Part 0 – REST, Ruby On Rails, CouchDB and Me</a></p>
<p><a href="http://wp.me/pws6m-jc">Part 1 – Ruby, The Command Line Version</a></p>
<p><a href="http://wp.me/pws6m-jz">Part 2 – Aptana IDE For Ruby</a></p>
<p><a href="http://wp.me/pws6m-mO">Part 3 CouchDB Up and Running on Windows</a></p>
<p><a href="http://wp.me/pws6m-q4">Part 4 – CouchDB, Curl and RUBY</a></p>
<p><a href="http://wp.me/pws6m-qC">Part 5 – Getting The Data Ready for CouchDB</a></p>
<p><a href="http://wp.me/pws6m-rx">Part 6 – Getting The Data Into And Out Of CouchDB</a></p>
<p><a href="http://wp.me/pws6m-sU">Part 7 – JQUERY,JPlayer and HTML5</a></p></blockquote>
<p>In my work life I work in a Microsoft shop which for us means Microsoft servers for the back end and (mostly) pure HTML/AJAX frontends.  We are transitioning towards using Microsoft MVC 3 to provide <a class="zem_slink" title="Hypertext Transfer Protocol" href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol" rel="wikipedia">HTTP</a> end points for our AJAX calls.  Here are some notes from my POC work in this area.  My couch data consists of documents describing Grateful Dead concerts stored on the great site <a href="http://www.archive.org/index.php" target="_blank">Internet Archive</a>, if you have never visited the Internet Archive, please do so.  I back engineered the meta data of IA’s extensive collection of Dead concerts (over 2,000 concert recordings).  Visit the Grateful Dead Archive Home at the Internet Archive <a href="http://www.archive.org/details/GratefulDead" target="_blank">here</a>.</p>
<h3 align="center">CouchDB Documents and Views</h3>
<p>I stored the meta data into a local couchdb (running on Windows XP).  The basic document I am storing is a master detail set for the ‘best’ recording for each Dead concert.  The Master part of the document contains the date, venue and other data of the concert and the detail set is an array of meta data on each song preformed during the concert.  As is traditional with couchdb, the documents are represented as <a class="zem_slink" title="JSON" href="http://en.wikipedia.org/wiki/JSON" rel="wikipedia">JSON</a> strings.  Here is what the document for the UR recording (1965-11-01) found on the IA:</p>
<blockquote>
<p align="left"><span style="font-family:'Courier New';font-size:small;">{</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">&#8220;_id&#8221;: &#8220;1965-11-01&#8243;,<a href="http://dlr2008.files.wordpress.com/2011/11/tumblr_ld4jfonw7f1qai6ym.png"><img style="display:inline;border:0;margin:10px 0;" title="tumblr_ld4jfoNw7F1qai6ym" src="http://dlr2008.files.wordpress.com/2011/11/tumblr_ld4jfonw7f1qai6ym_thumb.png?w=363&#038;h=296" alt="tumblr_ld4jfoNw7F1qai6ym" width="363" height="296" align="right" border="0" /></a></span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">&#8220;_rev&#8221;: &#8220;1-6ea272d20d7fc80e51c1ba53a5101ac1&#8243;,</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">&#8220;mx&#8221;: false,</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">&#8220;pubdate&#8221;: &#8220;2009-03-14&#8243;,</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">&#8220;sb&#8221;: true,</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">&#8220;venue&#8221;: &#8220;various&#8221;,</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">&#8220;tracks&#8221;: [</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">{</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">"uri": "http://www.archive.org/download/gd1965-11- 01.sbd.bershaw.5417.sbeok.shnf/Acid4_01_vbr.mp3",</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">"track": "01",</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">"title": "Speed Limit",</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">"time": "09:48"</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">},</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">{</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">"uri": "http://www.archive.org/download/gd1965-11-01.sbd.bershaw.5417.sbeok.shnf/Acid4_02_vbr.mp3",</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">"track": "02",</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">"title": "Neil Cassidy Raps",</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">"time": "02:19"</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">}</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">]</span></p>
<p align="left"><span style="font-family:'Courier New';font-size:small;">}</span></p>
</blockquote>
<p>Couchdb allow the creation of views which are binary trees with user defined Keys and user defined sub sets of the document data.  If one wanted to return the venue and the tracks for each concert for a given Month and Day (across all years) the view created in couchdb would look like:</p>
<blockquote><p><span style="font-family:'Courier New';font-size:small;">&#8220;MonthDay&#8221;: {</span></p>
<p><span style="font-family:'Courier New';font-size:small;">&#8220;map&#8221;: &#8220;function(doc){emit(doc._id.substr(5,2)+doc._id.substr(8,2),[doc.venue , doc.IAKey, doc.tracks ])}&#8221;</span></p>
<p><span style="font-family:'Courier New';font-size:small;">}</span></p></blockquote>
<p>This view allows us to use and HTTP GET to pass in a monthday key (e.g. “1101”) and get back (as a JSON array)</p>
<p>the date (MMDDYY: doc._id.substr(5,2)+doc._id.substr(8,2))</p>
<p>the venue (doc.venue);</p>
<p>the AI URI of the concert (doc.IAKey); and</p>
<p>an array of track data (doc.tracks)</p>
<h2 align="center">MVC URL Routing Maps</h2>
<p align="left">Although we could call couchdb directly from the browser, we normally work through a gateway system for security, so we will build a shim to sit between the browser and couchdb.  This allows us to flow the authentication / authorization stack separately from couchdb’s security system.  In MS MVC we can create a new HTTP endpoint for AJAX calls (our shim) is a very simple manner. Let’s create an endpoint which will look like:</p>
<p align="left">http:\\{our server path}\DeadBase\MonthDay\{month}\{day}</p>
<p align="left">where <a href="http://dlr2008.files.wordpress.com/2011/11/vacuum_routing.gif"><img style="display:inline;border:0;margin:10px 0;" title="vacuum_routing" src="http://dlr2008.files.wordpress.com/2011/11/vacuum_routing_thumb.gif?w=285&#038;h=258" alt="vacuum_routing" width="285" height="258" align="right" border="0" /></a></p>
<p align="left">http:\\{our server path}\DeadBase\MonthDay\111</p>
<p align="left">would request month:11 and day:01 concerts.  In MVC we can declare this routing as:</p>
<p><span style="font-family:'Courier New';font-size:small;">routes.MapRoute(</span></p>
<p><span style="font-family:'Courier New';font-size:small;">&#8220;MyMonthDay&#8221;, </span></p>
<p><span style="font-family:'Courier New';font-size:small;">&#8220;{controller}/{action}/{month}/{day}&#8221;,  </span></p>
<p><span style="font-family:'Courier New';font-size:small;">new { controller = &#8220;DeadBase&#8221;, action = &#8220;RestMonthDay&#8221;,null} );</span></p>
<p>Done.  Interestingly in MVC 3 this route definition will accept either the form:</p>
<p><span style="font-family:'Courier New';font-size:small;">http:\\{our server path}\DeadBase\MonthDay\{month}\{day} ; or</span></p>
<p><span style="font-family:'Courier New';font-size:small;">http:\\{our server path}\DeadBase\MonthDay?month=”??”&amp;day=”??”</span></p>
<p><span style="font-size:small;">In the second form,  parameter order does not matter, but case does; quotation marks are optional and need to be dealt with internally by the action method.</span></p>
<p><span style="font-size:small;">either of these call will resolve to the same controller and method.</span></p>
<h2 align="center">MVC Controller and Method Handler<a href="http://dlr2008.files.wordpress.com/2011/11/mvc.png"><img style="display:inline;border:0;margin:10px 0;" title="MVC" src="http://dlr2008.files.wordpress.com/2011/11/mvc_thumb.png?w=232&#038;h=240" alt="MVC" width="232" height="240" align="right" border="0" /></a></h2>
<p><span style="font-size:small;">We now need to create the shim which will be the target for the Http Endpoint.  In C# this looks like:</span></p>
<p><span style="font-family:'Courier New';font-size:small;">public class DeadBaseController : Controller<br />
{  </span></p>
<blockquote><p><span style="font-family:'Courier New';font-size:small;">public string RestMonthDay( string month, string day )<br />
{<br />
//our shim code goes here</span></p>
<p><span style="font-family:'Courier New';font-size:small;">      }</span></p></blockquote>
<p><span style="font-family:'Courier New';font-size:small;">    }</span></p>
<p><span style="font-size:small;">We able to use string as our return type because we will be calling couchdb which returns a string from of JSON by default.  As a side note if we wanted to use MVC 3 to return JSON from a native C# object our controller method takes a different form:</span></p>
<p><span style="font-family:'Courier New';font-size:small;">public JsonResult GetStateList() </span></p>
<p><span style="font-family:'Courier New';font-size:small;">{ </span></p>
<blockquote><p><span style="font-family:'Courier New';font-size:small;">List&lt;ListItem&gt; list = new List&lt;ListItem&gt;() { </span></p>
<p><span style="font-family:'Courier New';font-size:small;">new ListItem() { Value = &#8220;1&#8243;, Text = &#8220;VA&#8221; }, </span></p>
<p><span style="font-family:'Courier New';font-size:small;">new ListItem() { Value = &#8220;2&#8243;, Text = &#8220;MD&#8221; }, </span></p>
<p><span style="font-family:'Courier New';font-size:small;">new ListItem() { Value = &#8220;3&#8243;, Text = &#8220;DC&#8221; } }; </span></p>
<p><span style="font-family:'Courier New';font-size:small;">return this.Json(list); </span></p></blockquote>
<p><span style="font-family:'Courier New';font-size:small;">}</span></p>
<p><span style="font-size:small;">Our AJAX call from the browser does not need to know any of these details.  Here is one way to code the call in JavaScript using JQuery:</span></p>
<blockquote><p><span style="font-family:'Courier New';font-size:small;">var url = urlBase + &#8220;?&#8221; + args;<a href="http://dlr2008.files.wordpress.com/2011/11/ajax.jpg"><img style="display:inline;border:0;margin:10px 0;" title="ajax" src="http://dlr2008.files.wordpress.com/2011/11/ajax_thumb.jpg?w=307&#038;h=242" alt="ajax" width="307" height="242" align="right" border="0" /></a></span></p>
<p><span style="font-family:'Courier New';font-size:small;">$.ajax({</span></p>
<p><span style="font-family:'Courier New';font-size:small;">url: url,</span></p>
<p><span style="font-family:'Courier New';font-size:small;">dataType: &#8216;json&#8217;,</span></p>
<p><span style="font-family:'Courier New';font-size:small;">success: okCallBack,</span></p>
<p><span style="font-family:'Courier New';font-size:small;">error: nookCallBack</span></p>
<p><span style="font-family:'Courier New';font-size:small;">}); </span></p>
<p><span style="font-family:'Courier New';font-size:small;">function okCallBack(data) {</span></p>
<p><span style="font-family:'Courier New';font-size:small;">gdData = data;</span></p>
<p><span style="font-family:'Courier New';font-size:small;">//do something useful</span> here</p>
<p><span style="font-family:'Courier New';font-size:small;">}</span></p>
<p><span style="font-family:'Courier New';font-size:small;">function nookCallBack(xhr, ajaxOptions, errorThrown) {</span></p>
<p><span style="font-family:'Courier New';font-size:small;">alert(&#8220;ErrorText:&#8221; + errorThrown + &#8221; &#8221; + &#8220;Error Code:&#8221; + xhr.status);</span></p>
<p><span style="font-family:'Courier New';font-size:small;">}</span></p>
<p><span style="font-family:'Courier New';font-size:small;">}</span></p></blockquote>
<h2 align="center">From Handler to CouchDB in C#</h2>
<p align="left">Here is the rest of the generic C# code to go from the Handler to CouchDB and back.</p>
<p align="left">Clean the parameters and pass the call to a generic couchDB GET caller:<a href="http://dlr2008.files.wordpress.com/2011/11/mvc.jpg"><img style="display:inline;border:0;margin:10px 0;" title="mvc" src="http://dlr2008.files.wordpress.com/2011/11/mvc_thumb.jpg?w=397&#038;h=230" alt="mvc" width="397" height="230" align="right" border="0" /></a></p>
<p><a href="http://dlr2008.files.wordpress.com/2011/11/image.png"><img style="display:inline;border:0;" title="image" src="http://dlr2008.files.wordpress.com/2011/11/image_thumb.png?w=462&#038;h=120" alt="image" width="462" height="120" border="0" /></a></p>
<p>Format the view name and parameter into couchdb format  and pass to the low level couchDB caller:</p>
<p><a href="http://dlr2008.files.wordpress.com/2011/11/image1.png"><img style="display:inline;border:0;" title="image" src="http://dlr2008.files.wordpress.com/2011/11/image_thumb1.png?w=488&#038;h=228" alt="image" width="488" height="228" border="0" /></a></p>
<p>Classic Framework HTTP code to make the HTTP GET and return the results as a string back up the call stack:</p>
<p><a href="http://dlr2008.files.wordpress.com/2011/11/image2.png"><img style="display:inline;border:0;" title="image" src="http://dlr2008.files.wordpress.com/2011/11/image_thumb2.png?w=783&#038;h=183" alt="image" width="783" height="183" border="0" /></a></p>
<p>We could (and did) take our Browser code from the Ruby on Rails project above and with minimum changes call our MVC shim.</p>
<p><strong>Simple clean and fun.</strong></p>
<p><a href="http://dlr2008.files.wordpress.com/2011/11/occupyyourmind2.jpg"><img style="display:block;float:none;border:0;margin:10px auto;" title="Occupy your mind2" src="http://dlr2008.files.wordpress.com/2011/11/occupyyourmind2_thumb.jpg?w=285&#038;h=296" alt="Occupy your mind2" width="285" height="296" border="0" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1890/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1890/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1890/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1890/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1890/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1890/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1890/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1890/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1890/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1890/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1890/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1890/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1890/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1890/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1890&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2011/11/07/microsoft-mvc-3-and-couchdb-low-level-get-calls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.archive.org/download/gd1965-11-01.sbd.bershaw.5417.sbeok.shnf/Acid4_02_vbr.mp3" length="3234234" type="audio/mpeg" />
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/couchdb_thumb.png" medium="image">
			<media:title type="html">couchdb</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/tumblr_ld4jfonw7f1qai6ym_thumb.png" medium="image">
			<media:title type="html">tumblr_ld4jfoNw7F1qai6ym</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/vacuum_routing_thumb.gif" medium="image">
			<media:title type="html">vacuum_routing</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/mvc_thumb.png" medium="image">
			<media:title type="html">MVC</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/ajax_thumb.jpg" medium="image">
			<media:title type="html">ajax</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/mvc_thumb.jpg" medium="image">
			<media:title type="html">mvc</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/occupyyourmind2_thumb.jpg" medium="image">
			<media:title type="html">Occupy your mind2</media:title>
		</media:content>
	</item>
		<item>
		<title>Occupy Everywhere: Resources On The World Wide Web</title>
		<link>http://dlr2008.wordpress.com/2011/11/04/occupy-everywhere-resources-on-the-world-wide-web/</link>
		<comments>http://dlr2008.wordpress.com/2011/11/04/occupy-everywhere-resources-on-the-world-wide-web/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 15:07:57 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[OWS]]></category>
		<category><![CDATA[Occupy Wall Street]]></category>
		<category><![CDATA[Occupy Everything]]></category>
		<category><![CDATA[Occupy Maine]]></category>
		<category><![CDATA[Naomi Klein]]></category>
		<category><![CDATA[Zuccotti Park]]></category>
		<category><![CDATA[Noam Chomsky]]></category>
		<category><![CDATA[Amy Goodman]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/2011/11/04/occupy-everywhere-resources-on-the-world-wide-web/</guid>
		<description><![CDATA[Internet Resources For The Occupy Wall Street Movement.  A Collection of Web Sites, Images, analysis blogs and videos. Find a Occupy Group Near You.  Speeches by Naomi Klein and Noam Chomsky. Chris Hedges and Amy Goodman Video.  Occupy The Future.  Occupy Your Mind.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1863&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It been a while since I have been able to post so here a large group of links related to speeches, analysis and social media related to Occupy Wall Street.</p>
<p align="center"><strong><span style="font-size:x-large;">Occupy the Future!<img style="display:block;float:none;border:0;margin:10px auto;" title="506294834" src="http://dlr2008.files.wordpress.com/2011/11/occupy_wallstreet_201_thumb.jpg?w=246&#038;h=186" alt="506294834" width="246" height="186" border="0" /></span></strong></p>
<p align="center"><span style="color:#0000ff;font-size:x-large;"><strong>Online Resources:</strong></span></p>
<p align="left"><span style="color:#ff0000;font-size:medium;">Occupation Groups:</span></p>
<p align="left"><strong><span style="font-size:small;">Occupy Wall Street –&gt; <a href="http://occupywallst.org/" target="_blank">Click Me!</a></span></strong></p>
<p align="left"><strong><span style="font-size:small;">Occupy Boston –&gt; <a href="http://www.occupyboston.org/">Click Me!</a></span></strong></p>
<p align="left"><strong><span style="font-size:small;">Occupy Together (Clearing House for smaller occupations) –&gt; <span style="color:#ff0000;"><a href="http://www.occupytogether.org/" target="_blank"><span style="color:#ff0000;">Click Me!</span></a> </span></span><span style="font-size:x-small;">(This is a great way to locate web sites for occupations in other than NYC)</span></strong></p>
<p><strong><a href="http://dlr2008.files.wordpress.com/2011/11/image_1320003275.jpg"><img style="display:block;float:none;border:0;margin:30px auto 10px;" title="image_1320003275" src="http://dlr2008.files.wordpress.com/2011/11/image_1320003275_thumb.jpg?w=467&#038;h=61" alt="image_1320003275" width="467" height="61" border="0" /></a> </strong></p>
<p><strong><span style="color:#ff0000;font-size:medium;">Alternative News and Analysis:</span></strong></p>
<p><strong><span style="font-size:small;">AlertNet  -&gt;</span></strong> <a href="http://www.alternet.org/" target="_blank">Click Me!</a></p>
<p><span style="font-size:small;"><strong>N+1 (New York Based Literary Journal)</strong></span> –&gt; <a href="http://nplusonemag.com/search?cx=008133491346725150156%3A1l07fejmhgo&amp;q=occupy&amp;cof=FORID%3A11" target="_blank"><span style="font-size:small;">Click Me!</span></a></p>
<p><span style="font-size:small;"><strong>TruthDig –&gt; </strong></span><a href="http://www.truthdig.com/" target="_blank"><span style="font-size:small;"><strong>Click Me!</strong></span></a></p>
<p><span style="color:#ff0000;font-size:medium;"><strong><a href="http://dlr2008.files.wordpress.com/2011/11/owslogo.jpg"><img style="display:block;float:none;border:0;margin:10px auto;" title="NYxx,2011-10-09,Bs,,SR,4-BW" src="http://dlr2008.files.wordpress.com/2011/11/owslogo_thumb.jpg?w=240&#038;h=107" alt="NYxx,2011-10-09,Bs,,SR,4-BW" width="240" height="107" border="0" /></a> </strong></span></p>
<p><span style="color:#ff0000;font-size:medium;"><strong>Social Media And Images:</strong></span></p>
<p><strong><span style="font-size:small;">Tumblr Sites: <a href="http://alternetows.tumblr.com/" target="_blank">Here</a> and <a href="http://wearethe99percent.tumblr.com/" target="_blank">Here</a></span></strong></p>
<p><strong><span style="color:#ff0000;"><span style="font-size:small;"><span style="color:#404040;">Pictures And Logos</span>:    </span><a href="http://www.flickr.com/groups/occupywallstreet/" target="_blank"><span style="font-size:small;">Here</span></a><span style="font-size:small;">;  </span><a href="http://www.flickr.com/search/?q=ows" target="_blank"><span style="font-size:small;">Here</span></a>; <a href="http://www.bing.com/images/search?q=occupy+wall+street&amp;FORM=BIFD" target="_blank">Here</a>; and  <a href="https://www.google.com/search?q=occupy+wall+street&amp;hl=en&amp;biw=1280&amp;bih=895&amp;prmd=imvnsu&amp;source=lnms&amp;tbm=isch&amp;ei=JfizTv-6IqT00gGukKmpBA&amp;sa=X&amp;oi=mode_link&amp;ct=mode&amp;cd=2&amp;sqi=2&amp;ved=0CDQQ_AUoAQ" target="_blank">Here</a>.</span></strong></p>
<p><strong><span style="color:#ff0000;"><a href="http://dlr2008.files.wordpress.com/2011/11/transgenderyinyang.jpg"><img style="display:block;float:none;border:0;margin:10px auto;" title="TransgenderYinYang" src="http://dlr2008.files.wordpress.com/2011/11/transgenderyinyang_thumb.jpg?w=240&#038;h=196" alt="TransgenderYinYang" width="240" height="196" border="0" /></a> </span></strong><strong><span style="color:#ff0000;font-size:medium;">Yoga Teachers For The Occupation:</span></strong></p>
<p><a href="http://www.itsallyogababy.com/michael-stone-awakening-from-a-dream-a-buddhist-perspective-on-occupy-wall-street/#more-2649">Here</a>; <a href="http://www.thinkbodyelectric.com/2011/10/occupy-wall-street-then-now.html">Here</a>; <a href="http://yogadragonden.blogspot.com/2011/10/some-random-musings-about-occupy-wall.html">Here</a>; <a href="http://earthyogi.blogspot.com/2011/10/my-3-suggestions-occupy-wall-street.html">Here</a><em><a href="http://dlr2008.files.wordpress.com/2011/11/occupypumpkinpatch1.jpg"><img style="display:block;float:none;border:0;margin:10px auto;" title="occupy pumpkin patch" src="http://dlr2008.files.wordpress.com/2011/11/occupypumpkinpatch_thumb.jpg?w=209&#038;h=153" alt="occupy pumpkin patch" width="209" height="153" border="0" /></a></em></p>
<p><span style="color:#ff0000;font-size:medium;"><strong>Occupy Comedy:</strong></span></p>
<p><strong><span style="color:#ff0000;font-size:medium;"><a href="http://vodpod.com/watch/15583735-video-daily-shows-john-oliver-visits-occupy-wall-street-lets-jokes-write-themselves-gothamist">Daily Show</a></span></strong></p>
<p><strong><span style="color:#ff0000;font-size:medium;"><a href="http://occupywallst.org/article/ketchup-and-justin-foil-colbert-optation/">Colbert</a></span></strong></p>
<p><strong><span style="color:#ff0000;font-size:medium;">Analysis And Speeches:</span></strong></p>
<p><strong>Naomi Klein</strong> (The Shock Doctrine) has been an early and consistent support of the Occupy movement.  Her speech at the park began:</p>
<p align="justify"><em>I love you.</em></p>
<p align="justify"><em>And I didn’t just say that so that hundreds of you would shout “I love you” back, though that is obviously a bonus feature of the human microphone. Say unto others what you wo<a href="http://dlr2008.files.wordpress.com/2011/11/occupystreet300x300.jpg"><img style="display:inline;border:0;margin:5px 20px 5px 10px;" title="Occupy-Street-300x300" src="http://dlr2008.files.wordpress.com/2011/11/occupystreet300x300_thumb.jpg?w=147&#038;h=147" alt="Occupy-Street-300x300" width="147" height="147" align="left" border="0" /></a>uld have them say unto you, only way louder.</em></p>
<p align="justify"><em>Yesterday, one of the speakers at the labor rally said: “We found each other.” That sentiment captures the beauty of what is being created here. A wide-open space (as well as an idea so big it can’t be contained by any space) for all the people who want a better world to find each other. We are so grateful.</em></p>
<p align="justify"><em>If there is one thing I know, it is that the 1 percent loves a crisis. When people are panicked and desperate and no one seems to know what to do, that is the ideal time to push through their wish list of pro-corporate policies: privatizing education and social security, slashing public services, getting rid of the last constraints on corporate power. Amidst the economic crisis, this is happening the world over.</em></p>
<p align="justify"><em>And there is only one thing that can block this tactic, and fortunately, it’s a very big thing: the 99 percent. And that 99 percent is taking to the streets from Madison to Madrid to say “No. We will not pay for your crisis.” <a href="http://www.thenation.com/article/163844/occupy-wall-street-most-important-thing-world-now" target="_blank">Read More…</a></em></p>
<p><em>Listen to her <a href="http://www.youtube.com/watch?v=Ka3Pb_StJn4" target="_blank">here</a> </em><em> discussing her theory of the the shock doctrine.</em></p>
<p><a href="http://www.flickr.com/photos/62191978@N03/6288110323/sizes/m/in/photostream/" target="_blank"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border:0;" title="6290733751_90dc74b1bc_z" src="http://dlr2008.files.wordpress.com/2011/11/6290733751_90dc74b1bc_z.jpg?w=364&#038;h=245" alt="6290733751_90dc74b1bc_z" width="364" height="245" border="0" /></a></p>
<p align="center">All rights reserved by DianeSweet</p>
<p> <a href="http://www.thiscantbehappening.net/node/847" target="_blank">Hail The Unknown Organizer</a> (By Charles M. Young):</p>
<p><em>Liberated Autonomous Manhattan</em> &#8212; In a century, community organizers will still be debating what to call Zuccotti Park/Liberty Plaza/Liberty Square. The surrounding skyscrapers will be covered with luxuriant tomato vines hanging from rooftop organic gardens. Electricity will be generated by solar panels and fermenting compost. Inside, the skyscrapers will be humming with intense conversation at the Occupy Education Graduate School of Revolutionary Studies, open to anyone willing to teach everyone wanting to learn.</p>
<p>Visitors to the park will meander through meticulously maintained sidewalks that wind in fractals through authentic tarps and wet sleeping bags from the early 21st century. Scent generators will alternately waft herbal cigarettes, sandalwood incense and mildew into the breeze.</p>
<p>In the center of the park will stand a 100-foot statue, cast from the bronze of the long forgotten Wall Street bull that was melted down in 2014 and recast as a 5’1” woman in a windbreaker, waving a big red flag. On the marble pedestal, it shall be carved: THE UNKNOWN ORGANIZER. And below it there shall be some beautiful words, maybe a sonnet, written about October 15, 2011, when The Unknown Organizer, who looked at a distance to be in her 30s, led a contingent of 500 brave revolutionaries from the 10,000 massed in Washington Square Park to defend 20-odd people who were being arrested for the crime of withdrawing their own money and closing their accounts at Citibank, one of the most corrupt, heartless and stupid institutions in all of corrupt, heartless and stupid Wall Street.</p>
<p>It will be written that the 500 volunteers followed The Unknown Organizer from the center of Washington Square Park to the sidewalk at the southern entrance where she waved her red flag in a “Halt!” gesture and asked, “Hey, does anyone know where LaGuardia Place is?”</p>
<p>Somebody did know, and we marched for a few minutes east and south to a Citibank branch where a couple dozen cops, decked out in their body armor and black uniforms and riot helmets, were standing in the middle of LaGuardia Place nervously tapping their extra-long batons.</p>
<p>Suddenly the riot squad didn’t know whether to shit or go blind. “Are we supposed to face the bank where we’re arresting people for withdrawing their own money?” they seemed to be asking as they turned around and around. “Or are we supposed to face these lunatics on the other side of the street who are shouting that they want to save our pensions while Mayor Bloomberg wants to cut them? <a href="http://www.thiscantbehappening.net/node/847">Read More…</a></p>
<p><em><strong><a href="http://www.flickr.com/photos/62191978@N03/6288110323/sizes/m/in/photostream/"><img style="display:block;float:none;border:0;margin:10px auto;" title="6288110323_022671b892" src="http://dlr2008.files.wordpress.com/2011/11/6288110323_022671b892.jpg?w=303&#038;h=239" alt="6288110323_022671b892" width="303" height="239" border="0" /></a> </strong></em></p>
<p align="center">All rights reserved by DianeSweet</p>
<p><em><strong>Noam Chomsky</strong> has addressed the Boston Occupation:</em></p>
<p align="justify"><em>I&#8217;ve never seen anything quite like the Occupy movement in scale and character, here and worldwide. The Occupy outposts are trying to create cooperative communities that just might be the basis for the kinds of lasting organizations necessary to overcome the barriers ahead and the backlash that&#8217;s </em><em>already coming.</em></p>
<p align="justify"><em>In 2005, Citigroup, which, by the way, has repeatedly been saved by government bailouts, saw the wealthy as a growth opportunity. The bank released a brochure for investors that urged them to put their money into something called the Plutonomy Index, which identified stocks in companies that cater to the luxury market. &#8220;The world is dividing into two blocs, the plutonomy and the rest,&#8221; Citigroup summarized. &#8220;The U.S., U.K. and Canada are the key plutonomies, economies powered by the wealthy.&#8221; As for the non-rich, they&#8217;re sometimes called the precariat, people who live a precarious existence at the periphery of society. The &#8220;periphery&#8221; however, has become a substantial proportion of the population in the U.S. and elsewhere. So we have the plutonomy and the precariat: the 1 percent and the 99 percent, as Occupy sees it, not literal numbers, but the right picture.</em></p>
<p align="justify"><em>Karl Marx said, “The task is not just to understand the world but to change it.” A variant to keep in mind is that if you want to change the world you&#8217;d better try to understand it. That doesn&#8217;t mean listening to a talk or reading a book, though that&#8217;s helpful sometimes. You learn from participating. You learn from others. You learn from the people you&#8217;re trying to organize <a href="http://www.truth-out.org/occupy-future/1320154096" target="_blank">Read More….</a></em></p>
<p><a href="http://dlr2008.files.wordpress.com/2011/11/wallstreetposter1.jpg"><img style="display:block;float:none;border:0;margin:10px auto;" title="wall-street-poster-1" src="http://dlr2008.files.wordpress.com/2011/11/wallstreetposter1_thumb.jpg?w=154&#038;h=229" alt="wall-street-poster-1" width="154" height="229" border="0" /></a></p>
<p><span style="font-size:medium;"><strong>An Essay on The Politics Of Poverty and The Occupy Wall Street Movement In N+1:</strong></span></p>
<p align="justify"><em>The celebrated social movements <a href="http://dlr2008.files.wordpress.com/2011/11/notcamping.jpg"><img style="display:inline;border:0;margin:10px 25px 10px 20px;" title="not camping" src="http://dlr2008.files.wordpress.com/2011/11/notcamping_thumb.jpg?w=178&#038;h=232" alt="not camping" width="178" height="232" align="left" border="0" /></a>of the past half century achieved their successes—however achingly partial they remain—by demanding full citizenship for Americans whose racial or sexual identity barred them from equality under the law and equal economic opportunity. The different challenge facing Occupy Wall Street can be seen, ironically, in the movement’s most distinctive slogan: We are the 99 percent. Pretty funny when a Canadian-launched agitation, started by a few hundred people, claims to represent 310 million Americans! The problem here isn’t the more ordinary one of gathering a disenfranchised group into We, the people . . . That particular story of freedom, with a deep moral and legal basis in American life, extends from the elimination of property qualifications for white male voters starting in 1811 to the gay marriage victories of 2011. It’s another thing entirely to redefine the American populace at large as an excluded group, cast out from the democracy and prosperity that supposedly form the national birthright. To imagine that something like this could possibly succeed is about as outlandish as supposing that a harassed Tunisian street vendor could topple governments throughout the Arab world by setting himself on fire.For now <em>We are the 99 percent</em> doesn’t come close to being true. And yet the scope of the claim—99 percent!—indicates the immense promise of the movement: nothing less than to build a left populism capable of rescuing the country in the name of the people of, by, and for whom it’s allegedly governed. Given the demoralization of the working class, the corporate domination of politics and the media, the Republican control of the House (and blockade in the Senate), this is undeniably a quixotic effort. No one but our grandparents has a living memory of the last attempt at left populism during a prolonged economic crisis. Can Occupy Wall Street eventually lead to a <em>re-occupation</em> of the fifty states by a citizenry with a new idea of itself? For the moment, it looks like the country’s last best hope. <a href="http://nplusonemag.com/the-politics-of-the-poor">Read More…</a></em></p>
<h2>No single journalist has been as insightful as<strong> Chris Hedges</strong>.  Chris is a regular contributor to <a href="http://www.truthdig.com/" target="_blank">truthdig</a>.  His essay <a href="http://www.truthdig.com/report/item/why_the_elites_are_in_trouble_20111009/" target="_blank">Why The Elites Are In Trouble</a> contains a seminal analysis.</h2>
<p><em>Ketchup, a petite 22-year-old from Chicago with wavy red hair and glasses with bright red frames, arrived in Zuccotti Park in New York on Sept. 17. She<a href="http://dlr2008.files.wordpress.com/2011/11/occupyyourmind.jpg"><img style="display:inline;border:0;margin:10px;" title="Occupy your mind" src="http://dlr2008.files.wordpress.com/2011/11/occupyyourmind_thumb.jpg?w=127&#038;h=132" alt="Occupy your mind" width="127" height="132" align="right" border="0" /></a> had a tent, a rolling suitcase, 40 dollars’ worth of food, the graphic version of Howard Zinn’s “A People’s History of the United States” and a sleeping bag. She had no return ticket, no idea what she was undertaking, and no acquaintances among the stragglers who joined her that afternoon to begin the Wall Street occupation. </em></p>
<p align="justify"><em>The lords of finance in the looming towers surrounding the park, who toy with money and lives, who make the political class, the press and the judiciary jump at their demands, who destroy the ecosystem for profit and drain the U.S. Treasury to gamble and speculate, took little notice of Ketchup or any of the other scruffy activists on the street below them. The elites consider everyone outside their sphere marginal or invisible. And what significance could an artist who paid her bills by working as a waitress have for the powerful? What could she and the others in Zuccotti Park do to them? What threat can the weak pose to the strong? </em><em>Even now, three weeks later, elites, and their mouthpieces in the press, continue to puzzle over what people like Ketchup want. Where is the list of demands? Why don’t they present us with specific goals? Why can’t they articulate an agenda? </em></p>
<p align="justify"><em><a href="http://dlr2008.files.wordpress.com/2011/11/jesussaysmemegeneratorjesussaysoccupyeverywhere54e817.jpg"><img style="display:inline;border:0;margin:10px;" title="jesus-says-meme-generator-jesus-says-occupy-everywhere-54e817" src="http://dlr2008.files.wordpress.com/2011/11/jesussaysmemegeneratorjesussaysoccupyeverywhere54e817_thumb.jpg?w=122&#038;h=122" alt="jesus-says-meme-generator-jesus-says-occupy-everywhere-54e817" width="122" height="122" align="left" border="0" /></a>The goal to people like Ketchup is very, very clear. It can be articulated in one word—REBELLION. These protesters have not come to work within the system. They are not pleading with Congress for electoral reform. They know electoral politics is a farce and have found another way to be heard and exercise power. They know the economy serves the oligarchs, so they formed their own communal system. This movement is an effort to take our country back.</em></p>
<p align="justify"><em>This is a goal the power elite cannot comprehend. The elites believe, and seek to make us believe, that globalization and unfettered capitalism are natural law, some kind of permanent and eternal dynamic that can never be altered. What the elites fail to realize is that rebellion will not stop until the corporate state is extinguished. It will not stop until there is an end to the corporate abuse of the poor, the working class, the elderly, the sick, children, those being slaughtered in our imperial wars and tortured in our black sites. And that is why the elites, and the rotted and degenerate system of corporate power they sustain, are in trouble. That is why they keep asking what the demands are. They don’t understand what is happening. They are deaf, dumb and blind.  </em><em><a href="http://www.truthdig.com/report/item/why_the_elites_are_in_trouble_20111009/">Read More…</a> </em></p>
<p align="center"><span style="font-size:medium;"><strong>Here is a video of Chris with Amy Goodman discussing the Occupy Wall Street Movement</strong></span></p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:81bf4e7a-0b50-444b-85d3-1d49453de6e5" class="wlWriterEditableSmartContent" style="width:425px;display:block;float:none;margin:0 auto;padding:0 10px 10px;">
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2011/11/04/occupy-everywhere-resources-on-the-world-wide-web/"><img src="http://img.youtube.com/vi/DeJOUqcZSZI/2.jpg" alt="" /></a></span></div>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><em><span style="color:#ff0080;">They tell you we are dreamers. The true dreamers are those who think things can go on indefinitely the way they are. We are not dreamers. We are awakening from a dream which is tuning into a nightmare. We are not destroying anything. We are only witnessing how the system is destroying itself. </span></em></p>
<p align="right"><span style="font-size:small;">Naomi Klein</span></p>
<p><a href="http://wearethe99percent.tumblr.com/"><span style="color:#000000;"> </span></a></p>
<h6 class="zemanta-related-title" style="font-size:1em;"></h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1863/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1863/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1863/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1863/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1863/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1863/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1863/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1863/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1863/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1863/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1863/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1863/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1863/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1863/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1863&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2011/11/04/occupy-everywhere-resources-on-the-world-wide-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/occupy_wallstreet_201_thumb.jpg" medium="image">
			<media:title type="html">506294834</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/image_1320003275_thumb.jpg" medium="image">
			<media:title type="html">image_1320003275</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/owslogo_thumb.jpg" medium="image">
			<media:title type="html">NYxx,2011-10-09,Bs,,SR,4-BW</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/transgenderyinyang_thumb.jpg" medium="image">
			<media:title type="html">TransgenderYinYang</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/occupypumpkinpatch_thumb.jpg" medium="image">
			<media:title type="html">occupy pumpkin patch</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/occupystreet300x300_thumb.jpg" medium="image">
			<media:title type="html">Occupy-Street-300x300</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/6290733751_90dc74b1bc_z.jpg" medium="image">
			<media:title type="html">6290733751_90dc74b1bc_z</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/6288110323_022671b892.jpg" medium="image">
			<media:title type="html">6288110323_022671b892</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/wallstreetposter1_thumb.jpg" medium="image">
			<media:title type="html">wall-street-poster-1</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/notcamping_thumb.jpg" medium="image">
			<media:title type="html">not camping</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/occupyyourmind_thumb.jpg" medium="image">
			<media:title type="html">Occupy your mind</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/11/jesussaysmemegeneratorjesussaysoccupyeverywhere54e817_thumb.jpg" medium="image">
			<media:title type="html">jesus-says-meme-generator-jesus-says-occupy-everywhere-54e817</media:title>
		</media:content>
	</item>
		<item>
		<title>Occupy Wall Street: Noam Chomsky In Boston 2011-09-30</title>
		<link>http://dlr2008.wordpress.com/2011/10/25/occupy-wall-street-noam-chomsky-in-boston-2011-09-30/</link>
		<comments>http://dlr2008.wordpress.com/2011/10/25/occupy-wall-street-noam-chomsky-in-boston-2011-09-30/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 14:53:06 +0000</pubDate>
		<dc:creator>Cloud2013</dc:creator>
				<category><![CDATA[Occupy Everything]]></category>
		<category><![CDATA[Occupy Maine]]></category>
		<category><![CDATA[Occupy Wall Street]]></category>
		<category><![CDATA[OWS]]></category>
		<category><![CDATA[Noam Chomsky]]></category>
		<category><![CDATA[occupy maine]]></category>
		<category><![CDATA[Too big to fail]]></category>

		<guid isPermaLink="false">https://dlr2008.wordpress.com/?p=1834</guid>
		<description><![CDATA[Occupy Wall Street: Noam Chomsky In Boston 2011-09-30
Bomb Attack On Occupy Maine
Occupy George!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1834&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:655886b1-5b0e-4f5d-aa8a-7e0c9dbd4235" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;">
<div>
<div id="attachment_1837" class="wp-caption aligncenter" style="width: 1010px"><a href="occupygeorge.com"><img class="size-full wp-image-1837" title="Occupy George " src="http://dlr2008.files.wordpress.com/2011/10/6238901721_31a3629f08_b.jpg?w=1000&#038;h=449" alt="" width="1000" height="449" /></a><p class="wp-caption-text">Occupy George</p></div>
</div>
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2011/10/25/occupy-wall-street-noam-chomsky-in-boston-2011-09-30/"><img src="http://img.youtube.com/vi/s-d0dhNxu1k/2.jpg" alt="" /></a></span></div>
</div>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:76477fba-1fbe-4927-93be-fb79348853d8" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;">
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2011/10/25/occupy-wall-street-noam-chomsky-in-boston-2011-09-30/"><img src="http://img.youtube.com/vi/olxp34z_Mns/2.jpg" alt="" /></a></span></div>
</div>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:6e97f02e-8ab3-4e76-9746-c889ab6dc570" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;">
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2011/10/25/occupy-wall-street-noam-chomsky-in-boston-2011-09-30/"><img src="http://img.youtube.com/vi/mHse0oaddr8/2.jpg" alt="" /></a></span></div>
</div>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:19e6a63b-abbf-4e18-862a-361207a99e0f" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;">
<div><span style="text-align:center; display: block;"><a href="http://dlr2008.wordpress.com/2011/10/25/occupy-wall-street-noam-chomsky-in-boston-2011-09-30/"><img src="http://img.youtube.com/vi/CTrpFEjx8vg/2.jpg" alt="" /></a></span></div>
</div>
<h6 class="zemanta-related-title" style="font-size:1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://dandelionsalad.wordpress.com/2011/10/24/noam-chomsky-addresses-occupy-boston-protesters/">Noam Chomsky Addresses Occupy Boston Protesters</a> (dandelionsalad.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://dandelionsalad.wordpress.com/2011/10/03/noam-chomsky-on-occupywallstreet-protest-obama-the-killer-and-israel/">Noam Chomsky on #OccupyWallStreet Protest, Obama: the Killer, and Israel</a> (dandelionsalad.wordpress.com)</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dlr2008.wordpress.com/1834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dlr2008.wordpress.com/1834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dlr2008.wordpress.com/1834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dlr2008.wordpress.com/1834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dlr2008.wordpress.com/1834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dlr2008.wordpress.com/1834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dlr2008.wordpress.com/1834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dlr2008.wordpress.com/1834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dlr2008.wordpress.com/1834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dlr2008.wordpress.com/1834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dlr2008.wordpress.com/1834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dlr2008.wordpress.com/1834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dlr2008.wordpress.com/1834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dlr2008.wordpress.com/1834/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dlr2008.wordpress.com&amp;blog=7734522&amp;post=1834&amp;subd=dlr2008&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dlr2008.wordpress.com/2011/10/25/occupy-wall-street-noam-chomsky-in-boston-2011-09-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/311ae673e5ea558a4fde6e58812c1b35?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dlr2008</media:title>
		</media:content>

		<media:content url="http://dlr2008.files.wordpress.com/2011/10/6238901721_31a3629f08_b.jpg" medium="image">
			<media:title type="html">Occupy George </media:title>
		</media:content>
	</item>
	</channel>
</rss>
