<?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>Monocle Globe Society</title>
	<atom:link href="http://monocleglobe.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://monocleglobe.wordpress.com</link>
	<description>Armagnac, Ascots and Software</description>
	<lastBuildDate>Mon, 17 Dec 2012 15:07:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='monocleglobe.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Monocle Globe Society</title>
		<link>http://monocleglobe.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://monocleglobe.wordpress.com/osd.xml" title="Monocle Globe Society" />
	<atom:link rel='hub' href='http://monocleglobe.wordpress.com/?pushpress=hub'/>
		<item>
		<title>A &#8220;bridge&#8221; crypto API</title>
		<link>http://monocleglobe.wordpress.com/2012/11/09/a-bridge-crypto-api/</link>
		<comments>http://monocleglobe.wordpress.com/2012/11/09/a-bridge-crypto-api/#comments</comments>
		<pubDate>Fri, 09 Nov 2012 19:34:39 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[api]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[DOMCrypt]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[w3]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=196</guid>
		<description><![CDATA[In working on the Web Crypto API specification, the valuable feedback and criticism keeps going back to the main pitfall: DOM malleability. The many attack surfaces in each web page makes handing over crypto keys and crypto primitives quite dangerous. As the W3 working group approaches this API we have this issue in mind, but, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=196&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In working on the <a title="Web Crypto Draft Spec" href="http://www.w3.org/2012/webcrypto/WebCryptoAPI/" target="_blank">Web Crypto API specification</a>, the valuable feedback and criticism keeps going back to the main pitfall: DOM malleability. The many attack surfaces in each web page makes handing over crypto keys and crypto primitives quite dangerous. As the W3 working group approaches this API we have this issue in mind, but, the API(s) we want to deliver are not going to solve the DOM-is-dangerous problem. Luckily, browser vendors are working on this &#8211; and have been &#8211; for years, and the work continues.</p>
<p><a title="FirefoxOS" href="https://www.mozilla.org/en-US/firefoxos/" target="_blank">Firefox OS </a>will introduce signed &#8220;privileged&#8221; and &#8220;certified&#8221; web apps that by default have very strict <a title="Content Security Policy" href="http://www.w3.org/TR/CSP/" target="_blank">CSP</a> applied to them. No eval(), no remote scripts or styles &#8211; the app is pretty well sandboxed against the most common attacks. These apps are signed and verified before installation and update. Let&#8217;s hope these kinds of approaches will help make web apps more &#8220;trustworthy&#8221;:)</p>
<p>So, how can we use crypto in web pages and not expose anything like keys or actual crypto functions or properties to the DOM? What does that look like? After thinking about the use case for this: web-based messaging, digital signatures for code and document verification &#8211; among others, I came up with what I am calling a &#8216;bridge&#8217; API, I have named it &#8220;nulltxt&#8221;.</p>
<p>It has one method: window.navigator.bridge.getCipherObject()</p>
<p>This function creates a DOMRequest object, which you can attach event handlers to: &#8220;success&#8221; and &#8220;error&#8221;.</p>
<p>To generate a keypair, you pass a config object:</p>
<pre><code>{type: "keygen", format: "DER_BASE64"}</code></pre>
<p>into &#8220;getCipherObject&#8221;:</p>
<pre><code>var request = window.navigator.bridge.getCipherObject({type: "keygen",format: "DER_BASE64"});
request.onsuccess = function (){ */ this.result.publicKey is our key /* };
request.onerror = function (error){};</code></pre>
<p>Once your keypair is generated, the success callback is executed, handing you a public key and an ID you&#8217;ll need to decrypt or sign with that particular key. Multiple keys can be generated per origin.</p>
<p>To encrypt data, you call the same function with a different config object:</p>
<pre><code>{ type: "write",
  format: "DER_BASE64",
  recipientName: "drzhivago",
  publicKey: A_PUBLIC_KEY,
  keyID: 7635263572 
}</code></pre>
<p>This operation opens a special writing widget in the browser chrome where you can safely write plain text outside of the DOM:</p>
<p><a href="http://monocleglobe.files.wordpress.com/2012/11/write-plain-text-widget.png"><img class="aligncenter size-full wp-image-200" title="write-plain-text-widget" alt="" src="http://monocleglobe.files.wordpress.com/2012/11/write-plain-text-widget.png?w=580"   /></a></p>
<p>Write some plain text, then click the encrypt button. The browser encrypts the data and returns it to your success event handler. The encrypted JSON blob is now available to send to the server where it can be received by Alice.</p>
<p>The result object looks like:</p>
<pre id="raw-object">{
  "<span style="color:#ff9900;">content</span>": "yeGwdhLSs8qKDywerhs7pchNzxIpmtRGuBf59zMHegR/+urU20RbGxmHEvrx5yxmcEk8j9yPYHJLRKH6SJlEcDR4TKFzWNYLsMdoAxFi7AecN74MP2s0udvmg4vU944hYFo/F3fh2E9hnBF6xsdoRtCdkiNBLTRINCdDv3dgxLEe1UgdeXpbsIljgHc8svaD/lYik2rV+UojHk0yk9NFzv2tCu8wb58kzZluuo10qyqrX1X/rLpu2ZVlk/Ik+MbM7HxK1cSBL5kqUdNU/tx9qqVZVLzcAZz2ZDr2l0wRGKwoJ3f41QrwN8SGCRvMtpPEl1PdcYtdpTg4atAbNZ7T3cJhybtrYW64Yu7d9coguFQg2TQFU8hyIiWdFhY7XqOwR71KNgkHQr+ET/dRpV6TmBlN5IiUMgKq7achpOjkyJEBCfEURRpV71ViEo+37dT1SqIzxhlNY8yDn2gPhcC/DHk4eXi5axFkg4OyhxD9Q7hW7oW+1K/pzjYm2M+yCTtguQ9xikYouiiYbC3oFKMO9F6unfmDHJKc/XwWI9nsuYwSVSqPPZ8tj91pI/SB/ng8UyCojPrUO/jJ3cHjsWccY2XDg5ryVYVAmNWQQ9UEsTT8WrwyJ04i9/FEEYvVznyHlYB3z9diKDW35j7EZKPJQi7uYQVcdB3e2NMve2JPrxxwmebBLrHv4hpfaKmS8NcWpvJYp5r5U1iVLnwIpH98wEsHSrhyBKwBq1bf7s+Lvz9Hx8XuME4zbC6SN4j00QIx4eU3yuKnsa2LGj7b8UQ0GrtNwiRWKwF+qaH15f5rUEUN/9bwdljUVkXNbRg0s1Jde8z/OWevnS/B/AX760fPRxVz6QtEcKCSKZd5AqiVnqSTSzJmvY2izmweHb0uUde7PMsY3aYhNU9eNpA7p2Wmvd+YbSQjMNgnaqB9I+XwNwVZymjhQzar91FZtFSvw4YERA/zUIPFVgrEwdnOnp0t0ORyVOo1QZnvyPMwVddfWpN68aJCVK5dYGyI1uL8CzcBjZqgRjuKSQgt9JfhZJakvdXXPyCq3y5N8cbZZeQvpK8VcRCFHk6fRGrt4vAVSU6dgNewEoj51j+RsH0OOgcuCyJJ7BZgP4mHrrQWfLelnMU=",
  "<span style="color:#ff6600;">pubKey</span>": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8p4gH/RlmICUyCJop4AfvHvIkQjMWhUI4keK22MDVyNrDWSektxxX+VN5hLQzmNU/4jTCBBx2gICYcw0DGiw5HGBHp3e0KCmhcc48s3tLwf1TUuhdCEj1v+Oq+Z0FhVEEUF+GYpMBLQvy2HGlPUHbOZsYamKUspMnuiLgqNdsEmjQtO3L8tfrfGcksb7K3siPDomcya1NPkIsmInHy3KB4yv8ATcVQS1rIQ/6I8/vb5OBoVKa9dLm42C5lVcBd9SFqCIxy49Z52DU7y48LmDayUvtrHZx5gI61mV2/CWDhwWSnAD9l/f/s8IjHxuuWzYfaRaO+6ROY380TNIigjTswIDAQAB",
  "<span style="color:#ff9900;">wrappedKey</span>": "DWscCbnT63FJuU7dQueXverB31cU0A49omSHw98aqlkW/8qiKuyQgWss9QNp/8qB97xjheJxQcozKrkbulF1ExCfSFuGXR++psel8LFiXoreDRwxJPO/Fqbqf9bIBLpOHx6GLjbUze4fWEGHs1Dt22GHHLvkaHgFPc+sBZcHvHnKF1+iKFonFXSDfUODozNV/poyi1UJ6RrXX/HIgbUlkUos02FcTn9qQqATRUj4lAY0tgFJlqJdpiQJDOWcWV3DJtaPIU2qPo9i95xFDzXBZbb6j/zp6518urFh8hSQKJUG4JPI0yeeW3iTEgN6EUTl0gYXgGvYDQIbeCM+oRZj+A==",
  "<span style="color:#ff9900;">iv</span>": "dITA6JK5SUBeP/Hgn6xf1w==",
  "<span style="color:#ff9900;">type</span>": "encryptedData",
  "<span style="color:#ff9900;">format</span>": "DER_BASE64",
  "<span style="color:#ff9900;">signature</span>": "wkkhQVZW3MdQtZha/AKf6hdIntKQI74vvYwKG+VtxUN+XXup2GkeNXWzJJY51YQC2/3EPwn6n+lUXm2xCRjV4ICY3+A0nbZrZnNrG0t6QpDWIQz1g9YYLe8pysjym95CsKy7AlXgo43BX811fv+aShQQTRkLwur5/geHF8idIeYORqt0B/9pwOnjfZnshT4Cj5ILwoe2VKZ3eWnIxND1a3Z8rE0s6WTFojFbshGQU6pf8dOj8w0cD6EDuOnEQ7Y40GbdwR9G3PhDY/JhMUjODhP+5X9nXesW2VlMPXE0byNhtzbnzg5Yi0pP9eBr7t5fTjwBTg5XjR4qDZKeyF0pqQ=="
}</pre>
<p>Reading plain text is the reverse process, your app will need to change some of the properties of the received object:</p>
<pre><code>var readCipherObject = receivedCipherObj; // an object received via the app 
readCipherObject.type = "read"; 
readCipherObject.authorName = "Alice"; 
readCipherObject.keyID = myKeyID; 

var request = window.navigator.bridge.getCipherObject(readCipherObject); 
request.onsuccess = function (){ */ this.result.verification contains the 'verification' boolean /* }; 
request.onerror = function (error){};</code></pre>
<p>The reading UI looks like:</p>
<p><a href="http://monocleglobe.files.wordpress.com/2012/11/read-widget-1.png"><img class="aligncenter size-full wp-image-201" title="read-widget" alt="" src="http://monocleglobe.files.wordpress.com/2012/11/read-widget-1.png?w=580"   /></a></p>
<p>Upon clicking &#8220;Decrypt&#8221;, the content changes to plaintext:</p>
<p><a href="http://monocleglobe.files.wordpress.com/2012/11/read-widget-2.png"><img class="aligncenter size-full wp-image-206" title="read-widget-2" alt="" src="http://monocleglobe.files.wordpress.com/2012/11/read-widget-2.png?w=580&#038;h=296" height="296" width="580" /></a></p>
<p>The plain text is read inside the reading widget and is keep out of the content DOM. A validation boolean property is returned in the success event handler, none of the text.</p>
<p>This UI in this addon is only a part of the point of it. I have long wondered how crypto can be used more safely in web apps &#8211; where we don&#8217;t have to worry about keys being stolen and primitives being &#8216;monkeypatched&#8217;. I am fairly certain the UX can be made much better. The main idea I want to get across is the internal API. It is quite simple. Once you have a keypair, you can do &#8220;hide()&#8221; and &#8220;show()&#8221; &#8211; similar to the simplicity of Dan Bernstein&#8217;s NaCL (box/unbox).</p>
<p>Sign() and Verify() are also in the works. I would also like for this API to support <a title="IETF JOSE" href="http://datatracker.ietf.org/wg/jose/charter/" target="_blank">IETF&#8217;s JOSE formats</a>.</p>
<p>If you would like to give &#8220;nulltxt&#8221; a try, (remember, nulltxt is EXPERIMENTAL ONLY), the addon is hosted here: <a title="nulltxt at AMO" href="https://addons.mozilla.org/en-US/firefox/addon/nulltxt/" target="_blank">https://addons.mozilla.org/en-US/firefox/addon/nulltxt/</a></p>
<p>A demo page is hosted here: <a title="nulltxt demo page" href="https://nulltxt.se/nulltxt/demo-code/demo.html" target="_blank">https://nulltxt.se/nulltxt/demo-code/demo.html</a></p>
<p>And, of course, the source code is here: <a title="github" href="https://github.com/daviddahl/nulltxt-extension/" target="_blank">https://github.com/daviddahl/nulltxt-extension/ </a></p>
<p>Let me know what you think of this approach. I can imagine a web application where the web site only ever handles ciphered data and provides no crypto in the DOM &#8211; offloading all of it to the browser chrome. Of course, there are still attack surfaces here, mainly around spoofing the browser chrome UI. With a severe CSP in place, I think this approach might work well.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/196/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=196&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2012/11/09/a-bridge-crypto-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>

		<media:content url="http://monocleglobe.files.wordpress.com/2012/11/write-plain-text-widget.png" medium="image">
			<media:title type="html">write-plain-text-widget</media:title>
		</media:content>

		<media:content url="http://monocleglobe.files.wordpress.com/2012/11/read-widget-1.png" medium="image">
			<media:title type="html">read-widget</media:title>
		</media:content>

		<media:content url="http://monocleglobe.files.wordpress.com/2012/11/read-widget-2.png" medium="image">
			<media:title type="html">read-widget-2</media:title>
		</media:content>
	</item>
		<item>
		<title>W3C Web Crypto API &#8211; First Public Working Draft published</title>
		<link>http://monocleglobe.wordpress.com/2012/09/17/w3c-web-crypto-api-first-public-working-draft-published/</link>
		<comments>http://monocleglobe.wordpress.com/2012/09/17/w3c-web-crypto-api-first-public-working-draft-published/#comments</comments>
		<pubDate>Mon, 17 Sep 2012 19:17:15 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[api]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[w3]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=181</guid>
		<description><![CDATA[Good news! With a lot of hard work &#8211; I want to tip my hat to Ryan Sleevi at Google  &#8211; the W3C Web Crypto API First Public Working Draft has been published: http://www.w3.org/TR/WebCryptoAPI/ If you have an interest in cryptography or DOM APIs and especially an interest in crypto-in-the-DOM, please read the draft and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=181&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Good news! With a lot of hard work &#8211; I want to tip my hat to Ryan Sleevi at Google  &#8211; the W3C Web Crypto API First Public Working Draft has been published:<a title="Web Crypto API FPWD" href="http://www.w3.org/TR/WebCryptoAPI/" target="_blank"> http://www.w3.org/TR/WebCryptoAPI/</a><br />
If you have an interest in cryptography or DOM APIs and especially an interest in crypto-in-the-DOM, please read the draft and forward any commentary to the comments mailing list: <a href="mailto:public-webcrypto-comments@w3.org" target="_blank">public-webcrypto-comments@w3.org</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/181/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=181&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2012/09/17/w3c-web-crypto-api-first-public-working-draft-published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Cryptography Working Group public call coming up</title>
		<link>http://monocleglobe.wordpress.com/2012/05/04/web-cryptography-working-group-public-call-coming-up/</link>
		<comments>http://monocleglobe.wordpress.com/2012/05/04/web-cryptography-working-group-public-call-coming-up/#comments</comments>
		<pubDate>Fri, 04 May 2012 19:31:42 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[crypto]]></category>
		<category><![CDATA[DOMCrypt]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[w3]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=176</guid>
		<description><![CDATA[On Monday, May 7th, 2012, there will be a public call to discuss the Web Cryptography API. Via the W3C public-webcrypto mailing list: Join us next Monday 7th of May, from 19:00-20:30 UTC (3:00pm-4:30pm Boston local) *         Zakim Bridge +1.617.761.6200, conference 27978 (&#8220;CRYPT&#8221;) *         IRC irc.w3.org:6665  #crypto [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=176&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>On Monday, May 7th, 2012, there will be a public call to discuss the <a href="http://www.w3.org/2012/webcrypto/">Web Cryptography API</a>. Via the W3C public-webcrypto mailing list:</p>
<p>Join us next Monday 7th of May, from 19:00-20:30 UTC (3:00pm-4:30pm Boston local)</p>
<p>*         Zakim Bridge +<a href="1.617.761.6200">1.617.761.6200</a>, conference 27978 (&#8220;CRYPT&#8221;)</p>
<p>*         IRC irc.w3.org:6665  #crypto</p>
<p>Please dial in if you would like to discuss or find out the plans for this important specification.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/176/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=176&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2012/05/04/web-cryptography-working-group-public-call-coming-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>
	</item>
		<item>
		<title>Degooglefication experiment</title>
		<link>http://monocleglobe.wordpress.com/2012/01/25/degooglefication-experiment/</link>
		<comments>http://monocleglobe.wordpress.com/2012/01/25/degooglefication-experiment/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 18:18:18 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[antisocial networking]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=170</guid>
		<description><![CDATA[In a previous episode of &#8220;Privacy Claw-back&#8221;, I deleted the contents of and removed my Facebook account. That was kind of hard to do at the time as I wasted a whole lot of time on Facebook &#8211; it was really fun reconnecting with old friends. However, I began to think critically about Facebook. This [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=170&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In a <a title="Anti-social networking" href="http://monocleglobe.wordpress.com/2009/04/10/antisocial-networking/" target="_blank">previous episode of &#8220;Privacy Claw-back&#8221;</a>, I deleted the contents of and removed my Facebook account. That was kind of hard to do at the time as I wasted a whole lot of time on Facebook &#8211; it was really fun reconnecting with old friends.</p>
<p>However, I began to think critically about Facebook. This is where all of the problems come in. Facebook&#8217;s creation is a tale of amazing scale, ingenuity and engineering prowess. The dark side of the equation is the unprecedented knowledge that can be gleaned from our data about us. The impulse to use this data improperly is probably impossible to resist.</p>
<p>Google is another can of worms. They did not become the biggest search engine for nothing. The amount of information Google has about you, your spouse, your friends, kids, your preferences, likes, dislikes, where you go, who you talk to, what might ail you, political views &#8211; it goes on and on and on.</p>
<p>It is time for me to disconnect from Google. Can I do this and still have a positive internet experience? I hope so. I began this process over a year ago when I switched to a PAID email service, pobox.com. It works pretty good. I am fairly confident my email is not datamined, and the web UI is OK &#8211; not the best. (That is what Thunderbird is for). However, I kept my GMail accounts and Google-hosted mail service intact (but idle), just in case.</p>
<p>For search, I switched to <a title="DuckDuckGo" href="http://duckduckgo.com/" target="_blank">DuckDuckGo.com</a> well over a year ago. It has gotten really, really good. I have found myself using Google less and less. I even <a title="Change UrlBar search" href="https://twitter.com/#!/deezthugs/status/162178025394421760" target="_blank">changed my &#8220;urlbar keyword&#8221; search</a> in Firefox to use DuckDuckGo. (I occasionally use Bing and Yahoo as well).</p>
<p>Twitter is the only hold-out as I feel like Twitter is &#8220;not evil yet&#8221;. Perhaps someday Twitter will become a protocol. That, I hope, will be inevitable.</p>
<p>Today, as I read about Google&#8217;s new non-opt-out privacy policies, it occurred to me that I really don&#8217;t rely on Google anymore, I have slowly freed myself from that dependency. I may yet have issues using certain apps on my Android device and I need to figure that out next. (Yay, <a title="Boot2Gecko: The webpage as mobile phone environment" href="https://twitter.com/#!/Boot2Gecko" target="_blank">Boot2Gecko</a>!).</p>
<p>In the meantime, I have taken this experiment up one notch by adding google.com and <a href="http://www.google.com" rel="nofollow">http://www.google.com</a> to resolve to my local webserver in /etc/hosts &#8211; my machine can no longer reach Google or Facebook. (or Google analytics servers for that matter).</p>
<p>The point is, there are many great internet services out there that you can rely on to handle search, email and social that don&#8217;t infringe on your privacy, try them out!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/170/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=170&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2012/01/25/degooglefication-experiment/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>
	</item>
		<item>
		<title>Countermeasures needed now</title>
		<link>http://monocleglobe.wordpress.com/2011/12/12/countermeasures-needed-now/</link>
		<comments>http://monocleglobe.wordpress.com/2011/12/12/countermeasures-needed-now/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 17:03:23 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[antisocial networking]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[DOMCrypt]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[w3]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=153</guid>
		<description><![CDATA[When I found out I could choose my own title at Mozilla I was ecstatic. Of course coming up with a good one is another matter, I thought about it for days and days&#8230; I thought about my &#8220;newbie&#8221; place at Mozilla and dredged my unconscious memory of all of the movies I had ever [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=153&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>When I found out I could choose my own title at Mozilla I was ecstatic.</p>
<p>Of course coming up with a good one is another matter, I thought about it for days and days&#8230;</p>
<p>I thought about my &#8220;newbie&#8221; place at Mozilla and dredged my unconscious memory of all of the movies I had ever seen and chose the title: &#8220;<strong>Civilian Observer</strong>&#8220;.</p>
<p>Folks who have seen my business card are aghast &#8211; &#8220;What the hell does that mean?&#8221;</p>
<p>Surely you remember the 1980 movie &#8220;<a title="The Final Countdown" href="https://en.wikipedia.org/wiki/The_Final_Countdown_%28film%29" target="_blank">The Final Countdown</a>&#8221; starring none other than Martin Sheen? (For my millennial readers, that is Charlie Sheen&#8217;s old man). His role was that of &#8220;Civilian Observer&#8221; on board the USS Nimitz.</p>
<p>From Wikipedia:</p>
<blockquote><p>In 1980, the <a title="Supercarrier" href="https://en.wikipedia.org/wiki/Supercarrier">supercarrier</a> <a title="USS Nimitz" href="https://en.wikipedia.org/wiki/USS_Nimitz">USS Nimitz</a> (CVN 68) takes on a civilian observer, Warren Lasky (Martin Sheen), at the orders of his reclusive and mysterious employer, Mr. Tideman (who helped design much of the ship), just before it departs <a title="Pearl Harbor" href="https://en.wikipedia.org/wiki/Pearl_Harbor">Pearl Harbor</a> for a training mission in the Pacific Ocean. Out in the Pacific, the ship encounters a strange storm-like vortex which disappears after the ship passes through it.</p></blockquote>
<p>Naturally, I am not going to spoil it for you, but the Civilian Observer helps try and figure out alternative ideas for the strange place the ship finds itself in.</p>
<p>In working on open source or free software, you know there is a lot at stake. I feel like all of us are observing the growth of the internet and with it the growth of attempts at curtailing the power that this computer network gives us. We are seeing more and more of the growth of surveillance technology, some of which is created in Silicon Valley &#8211; technology that is used to prevent and record private communication, help identify and  round up and torture or kill dissidents all over the world.</p>
<p>The battle for the Web and the Internet is a full on war. It will always be that way. The issues of privacy vs. surveillance, open or closed software stacks and walled gardens are here to stay. We must be vigilant and we must create tools that fight and overturn the impulse to control or subordinate and use people and networks of people.</p>
<p>I have felt like the &#8220;Civilian Observer&#8221; since before I started at Mozilla, its just become more pronounced in the past few years. Take for instance, a smattering of my Twitter feed &#8211; tweets and links selected in the past day, mere hours:</p>
<blockquote><p><a title="Indonesian Government Threatens BlackBerry Services Over 'Security Reasons'" href="http://techcrunch.com/2011/12/09/indonesian-government-threatens-blackberry-services-over-security-reasons/" target="_blank"><img src="http://img600.imageshack.us/img600/2460/selection088.png" alt="" border="0" /></a></p>
<p><a title="Twitter Bots Drown Out Anti-Kremlin Tweets" href="http://politics.slashdot.org/story/11/12/08/2147258/twitter-bots-drown-out-anti-kremlin-tweets?utm_source=headlines&amp;utm_medium=email" target="_blank"><img class="alignnone" title="Twitter Bots Drown Out Anti-Kremlin Tweets" src="http://img196.imageshack.us/img196/3158/selection086.png" alt="a tweet" width="534" height="101" /></a></p>
<p><a title="Visualizing Everything Facebook Knows about You" href="http://infosthetics.com/archives/2011/12/all_the_information_facebook_knows_about_you.html" target="_blank"><img class="alignnone" title="Visualizing Everything Facebook Knows about You" src="http://img11.imageshack.us/img11/9324/selection084.png" alt="a tweet" width="536" height="70" /></a></p>
<p><a title="Hillary Clinton and Internet Freedom " href="http://www.salon.com/2011/12/09/hillary_clinton_and_internet_freedom/singleton/" target="_blank"><img class="alignnone" title="Hillary Clinton and Internet Freedom " src="http://img806.imageshack.us/img806/295/selection083.png" alt="a tweet" width="537" height="81" /></a></p>
<p><a title="Chinese Internet Users Relish Irony Of SOPA's Great Firewall Of America" href="http://www.techdirt.com/articles/20111208/07411217009/chinese-internet-users-relish-irony-sopas-great-firewall-america.shtml" target="_blank"><img class="alignnone" title="Chinese Internet Users Relish Irony Of SOPA's Great Firewall Of America" src="http://img21.imageshack.us/img21/8876/selection082.png" alt="a tweet" width="539" height="87" /></a></p>
<p><img class="alignnone" title="Governments love them some surveillance gear - no link" src="http://img502.imageshack.us/img502/6587/selection081.png" alt="a tweet - no link" width="536" height="87" /></p>
<p><a title="Indefinite military detention for U.S. citizens now in the hands of a secretive conference committee " href="http://www.opencongress.org/articles/view/2447-Indefinite-military-detention-for-U-S-citizens-now-in-the-hands-of-a-secretive-conference-committee-" target="_blank"><img class="alignnone" title="Indefinite military detention for U.S. citizens now in the hands of a secretive conference committee " src="http://img24.imageshack.us/img24/2448/selection080.png" alt="a tweet" width="535" height="89" /></a></p>
<p><a title="Facebook Flaw Exposes Myth of Online Privacy" href="http://www.cio.com/article/696178/Facebook_Flaw_Exposes_Myth_of_Online_Privacy?taxonomyId=3119" target="_blank"><img class="alignnone" title="Facebook Flaw Exposes Myth of Online Privacy" src="http://img825.imageshack.us/img825/9531/selection079.png" alt="a tweet" width="537" height="88" /></a></p>
<p><a title="Could the U.S. Government Start Reading Your Emails?" href="http://www.foxnews.com/scitech/2011/12/03/could-us-government-start-reading-your-emails/#ixzz1fz3NBenU" target="_blank"><img class="alignnone" title="Could the U.S. Government Start Reading Your Emails?" src="http://img853.imageshack.us/img853/1939/selection078.png" alt="a tweet" width="536" height="107" /></a></p>
<p><a title="American sentenced to prison for Thai royal insult" href="http://m.yahoo.com/w/news_america/american-sentenced-prison-thai-royal-insult-025403549.html?orig_host_hdr=news.yahoo.com&amp;.intl=us&amp;.lang=en-us" target="_blank"><img class="alignnone" title="American sentenced to prison for Thai royal insult" src="http://img546.imageshack.us/img546/5186/selection077.png" alt="a tweet" width="532" height="91" /></a></p>
<p><a title="Interior Ministry suggests controversial ban on internet anonymity" href="http://rt.com/politics/controversial-internet-ban-suggestion-341/" target="_blank"><img class="alignnone" title="Interior Ministry suggests controversial ban on internet anonymity" src="http://img703.imageshack.us/img703/6601/selection076.png" alt="a tweet" width="536" height="104" /></a></p>
<p><a title="Breaking News: Feds Falsely Censor Popular Blog For Over A Year, Deny All Due Process, Hide All Details..." href="http://www.techdirt.com/articles/20111208/08225217010/breaking-news-feds-falsely-censor-popular-blog-over-year-deny-all-due-process-hide-all-details.shtml" target="_blank"><img class="alignnone" title="Breaking News: Feds Falsely Censor Popular Blog For Over A Year, Deny All Due Process, Hide All Details..." src="http://img833.imageshack.us/img833/9854/selection075.png" alt="a tweet" width="534" height="86" /></a></p>
<p><a title="Russian government tried to close opposition social media accounts" href="http://www.washingtonpost.com/blogs/blogpost/post/russian-government-tries-to-close-opposition-social-media-accounts/2011/12/08/gIQA22fgfO_blog.html" target="_blank"><img class="alignnone" title="Russian government tried to close opposition social media accounts" src="http://img440.imageshack.us/img440/3085/selection074.png" alt="a tweet" width="540" height="103" /></a></p>
<p><a title="Facebook refuses to attend congressional privacy briefing" href="http://thehill.com/blogs/hillicon-valley/technology/198305-facebook-refuses-to-attend-congressional-privacy-briefing?utm_source=twitterfeed&amp;utm_medium=twitter" target="_blank"><img class="alignnone" title="Keeping DNS running used to mean writing code now it means fighting a law #SOPA" src="http://img805.imageshack.us/img805/5846/selection071.png" alt="a tweet" width="541" height="118" /></a></p>
<p><a title="Facebook refuses to attend congressional privacy briefing" href="http://thehill.com/blogs/hillicon-valley/technology/198305-facebook-refuses-to-attend-congressional-privacy-briefing?utm_source=twitterfeed&amp;utm_medium=twitter" target="_blank"><img class="alignnone" title="Facebook refuses to attend congressional privacy briefing" src="http://img534.imageshack.us/img534/686/selection073.png" alt="a tweet" width="537" height="108" /></a><a title="Web Surveillance Software and Jobs " href="http://online.wsj.com/article/SB10001424052970204770404577082623956166242.html" target="_blank"><img class="alignnone" title="Web Surveillance Software and Jobs" src="http://img859.imageshack.us/img859/1701/selection070.png" alt="a tweet" width="537" height="109" /></a></p>
<p>Sometimes these tweets pop up right after one another:</p>
<p><a title="Military wants more control over the civilian Internet" href="http://j.mp/u9G1kv" target="_blank"><img class="alignnone" title="Two tweets about less freedom online" src="http://img189.imageshack.us/img189/4840/selection069.png" alt="2 tweets" width="539" height="210" /></a></p>
<p><a title="Rupert Murdoch Lobbies Congress To Restrict Internet " href="http://www.huffingtonpost.com/2011/12/07/rupert-murdoch-stop-online-piracy-act_n_1135452.html" target="_blank"><img class="alignnone" title="Rupert Murdoch Lobbies Congress To Restrict Internet " src="http://img861.imageshack.us/img861/197/selection085.png" alt="a tweet" width="534" height="103" /></a></p>
<p><a href="http://lewrockwell.com/orig12/gonzales-k1.1.1.html" target="_new"><img src="http://img824.imageshack.us/img824/7989/selection089k.png" alt="" border="0" /></a></p></blockquote>
<p>Wow!, right?</p>
<p>Recently, WikiLeaks published a database of surveillance companies that produce tools that provide &#8220;<a title="WikiLeaks Spy Files" href="http://wikileaks.org/spyfiles/" target="_blank">Mass interception of entire populations&#8230;</a>&#8220;.</p>
<p>These tools deployed on a mass scale essentially turn the Internet into a surveillance system.</p>
<p>We need more <strong>Countermeasures</strong> for this.</p>
<p><strong>Firefox</strong> is one of these countermeasures, without it we would really be in a world of pain. I cannot even imagine how craptastic the net would be without Firefox.</p>
<p>Mozilla&#8217;s <strong><a title="B2G github" href="https://github.com/andreasgal/B2G" target="_blank">Boot2Gecko</a></strong> project is also a countermeasure. If we pull this off, it will truly be a Coup d&#8217;état in the mobile device space. The goal: building mobile phone apps from HTML, JavaScript and CSS! That is the way it should be.</p>
<p><strong><a title="Deuxdrop" href="https://wiki.mozilla.org/Labs/Deuxdrop" target="_blank">Deuxdrop</a></strong> is another project in Mozilla labs trying to create a secure messaging system &#8211; I have high hopes for it. Again, these are the kinds of tools that need more focus.</p>
<p>I have been working on <strong><a title="DOMCrypt Draft Spec" href="https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest" target="_blank">DOMCrypt</a></strong> for a few years now. DOMCrypt provides a Cryptography API in web pages, making it trivial and fast to encrypt data that may be part of a message to another web user or data that should stay private while stored in LocalStorage (amoung many other use cases). I am proud to say we have <a title="DOMCrypt bug" href="https://bugzilla.mozilla.org/show_bug.cgi?id=649154" target="_blank">implementation</a> <a title="Webkit DOMCrypt bug" href="https://bugs.webkit.org/show_bug.cgi?id=62010" target="_blank">bugs</a> and plans lined up for both Gecko and WebKit. The W3C is using the API as the strawman proposal for the <a title="W3C Web Crypto WG" href="http://www.w3.org/2011/11/webcryptography-charter.html" target="_blank">Web Cryptography Working Group</a>. Web developers will be able to use strong and fast crypto via a DOM API. Exciting stuff.</p>
<p>Web developers are way out in front on this issue &#8211; there are several <a title="Crypto JS" href="https://code.google.com/p/crypto-js/" target="_blank">crypto</a> <a title="SJCL" href="http://bitwiseshiftleft.github.com/sjcl/" target="_blank">libraries</a> for JavaScript out in the wild, and developers are using them to push the envelop in web apps.</p>
<p>This is great stuff, but we need safer, built-in crypto APIs for browsers to provide a foolproof way to use crypto in the browser, not to mention the speed boost you get when calling native code APIs vs. native JavaScript functions. The other thing we need are new ways to communicate. The Web has won as the default communication channel and developers need to be able to write apps that allow people to communicate without sharing the conversation with a 3rd party.</p>
<p>Not sharing data with a 3rd party is the key issue. This concept destroys a lot of business models, well, one business model &#8211; the one everyone seems to think will work long term. I doubt that. Here&#8217;s a business model you can try: make a cool product and charge people a small fee to use it while simultaneously preserving their privacy. Novel, isn&#8217;t it?</p>
<p>What can you do to help? You can demand privacy and security be a feature of the products you use, not an afterthought. You can help test or help develop &#8220;countermeasure&#8221; applications.</p>
<p>Wikipedia lists several applications that enhance communications with more security:</p>
<p><a title="Security enhanced applicaitons" href="https://en.wikipedia.org/wiki/Secure_communication#Programs_offering_more_security" target="_blank">https://en.wikipedia.org/wiki/Secure_communication#Programs_offering_more_security </a></p>
<p>(The link above does not mention  <a title="taho-lafs" href="https://tahoe-lafs.org/trac/tahoe-lafs" target="_blank">Tahoe-LAFS</a> &#8211; please comment if you know of any more notable applications or toolkits)</p>
<p>I hope the future will bring a slew applications and startups that trumpet privacy and security enhanced applications. I hope web developers begin to think about more creative uses of their talents than online coupons and advertising-funded social media. The future of online privacy and security is both bright and bleak. Bright in that we have the CPU power, talent and base algorithms sitting right in front of us. It may seem bleak if you think no one cares about privacy or there is no &#8216;free lunch/free beer&#8217; business model.</p>
<p>Another thing you can do is support organizations that are &#8220;watching the watchers&#8221;, the EFF, Privacy International and others. A great resource for this is <a title="Privacy.org Resources page" href="http://privacy.org/resources/" target="_blank">privacy.org</a>.</p>
<div class="wp-caption alignnone" style="width: 310px"><a href="https://en.wikipedia.org/wiki/The_Final_Countdown_%28film%29"><img title="The Final Countdown Poster" src="https://upload.wikimedia.org/wikipedia/en/2/28/Final_countdown_1980.jpg" alt="The Final Countdown Poster" width="300" height="468" /></a><p class="wp-caption-text">The Final Countdown Poster</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/153/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=153&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2011/12/12/countermeasures-needed-now/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>

		<media:content url="http://img600.imageshack.us/img600/2460/selection088.png" medium="image" />

		<media:content url="http://img196.imageshack.us/img196/3158/selection086.png" medium="image">
			<media:title type="html">Twitter Bots Drown Out Anti-Kremlin Tweets</media:title>
		</media:content>

		<media:content url="http://img11.imageshack.us/img11/9324/selection084.png" medium="image">
			<media:title type="html">Visualizing Everything Facebook Knows about You</media:title>
		</media:content>

		<media:content url="http://img806.imageshack.us/img806/295/selection083.png" medium="image">
			<media:title type="html">Hillary Clinton and Internet Freedom </media:title>
		</media:content>

		<media:content url="http://img21.imageshack.us/img21/8876/selection082.png" medium="image">
			<media:title type="html">Chinese Internet Users Relish Irony Of SOPA&#039;s Great Firewall Of America</media:title>
		</media:content>

		<media:content url="http://img502.imageshack.us/img502/6587/selection081.png" medium="image">
			<media:title type="html">Governments love them some surveillance gear - no link</media:title>
		</media:content>

		<media:content url="http://img24.imageshack.us/img24/2448/selection080.png" medium="image">
			<media:title type="html">Indefinite military detention for U.S. citizens now in the hands of a secretive conference committee </media:title>
		</media:content>

		<media:content url="http://img825.imageshack.us/img825/9531/selection079.png" medium="image">
			<media:title type="html">Facebook Flaw Exposes Myth of Online Privacy</media:title>
		</media:content>

		<media:content url="http://img853.imageshack.us/img853/1939/selection078.png" medium="image">
			<media:title type="html">Could the U.S. Government Start Reading Your Emails?</media:title>
		</media:content>

		<media:content url="http://img546.imageshack.us/img546/5186/selection077.png" medium="image">
			<media:title type="html">American sentenced to prison for Thai royal insult</media:title>
		</media:content>

		<media:content url="http://img703.imageshack.us/img703/6601/selection076.png" medium="image">
			<media:title type="html">Interior Ministry suggests controversial ban on internet anonymity</media:title>
		</media:content>

		<media:content url="http://img833.imageshack.us/img833/9854/selection075.png" medium="image">
			<media:title type="html">Breaking News: Feds Falsely Censor Popular Blog For Over A Year, Deny All Due Process, Hide All Details...</media:title>
		</media:content>

		<media:content url="http://img440.imageshack.us/img440/3085/selection074.png" medium="image">
			<media:title type="html">Russian government tried to close opposition social media accounts</media:title>
		</media:content>

		<media:content url="http://img805.imageshack.us/img805/5846/selection071.png" medium="image">
			<media:title type="html">Keeping DNS running used to mean writing code now it means fighting a law #SOPA</media:title>
		</media:content>

		<media:content url="http://img534.imageshack.us/img534/686/selection073.png" medium="image">
			<media:title type="html">Facebook refuses to attend congressional privacy briefing</media:title>
		</media:content>

		<media:content url="http://img859.imageshack.us/img859/1701/selection070.png" medium="image">
			<media:title type="html">Web Surveillance Software and Jobs</media:title>
		</media:content>

		<media:content url="http://img189.imageshack.us/img189/4840/selection069.png" medium="image">
			<media:title type="html">Two tweets about less freedom online</media:title>
		</media:content>

		<media:content url="http://img861.imageshack.us/img861/197/selection085.png" medium="image">
			<media:title type="html">Rupert Murdoch Lobbies Congress To Restrict Internet </media:title>
		</media:content>

		<media:content url="http://img824.imageshack.us/img824/7989/selection089k.png" medium="image" />

		<media:content url="https://upload.wikimedia.org/wikipedia/en/2/28/Final_countdown_1980.jpg" medium="image">
			<media:title type="html">The Final Countdown Poster</media:title>
		</media:content>
	</item>
		<item>
		<title>MozCamp Asia Report</title>
		<link>http://monocleglobe.wordpress.com/2011/11/28/mozcamp-asia-report/</link>
		<comments>http://monocleglobe.wordpress.com/2011/11/28/mozcamp-asia-report/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 19:00:11 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=145</guid>
		<description><![CDATA[I recently attended MozCamp Asia in Kuala Lumpur, Malaysia. It was a pretty fun and amazing experience. Meeting Mozilla contributors from all over Asia was of course, the highlight of the trip. I did a talk at the conference called &#8220;From Web Developer to Firefox Hacker&#8220;.  There were a number of web developers at the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=145&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I recently attended <a title="MozCamp Asia 2011" href="https://wiki.mozilla.org/AsiaCamp2011">MozCamp Asia</a> in Kuala Lumpur, Malaysia. It was a pretty fun and amazing experience. Meeting Mozilla contributors from all over Asia was of course, the highlight of the trip.</p>
<p><a href="http://monocleglobe.files.wordpress.com/2011/11/img_6594.jpg"><img class="size-medium wp-image-149 alignleft" title="A restauranteur in Kuala Lumpur" src="http://monocleglobe.files.wordpress.com/2011/11/img_6594-e1322506464342.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a>I did a talk at the conference called &#8220;<a title="'Firefox Hacker' slides" href="http://people.mozilla.com/~ddahl/pages/HackingFirefox/template.html" target="_blank">From Web Developer to Firefox Hacker</a>&#8220;.  There were a number of web developers at the conference and I wanted to convey to them that their skills are relevant to hacking on Firefox itself. Lowering the bar to hacking on Firefox is hard to do &#8211; and technical, patch-creating contributors are very important to the project. Someone who comes into the community as a newbie from a talk or workshop like this, this year, may become a rockstar next year, you never know.</p>
<p>The questions I kept asking myself in putting together this presentation were &#8220;How to start?&#8221;,  &#8220;Am I covering X or Y in sufficient detail?&#8221;,  &#8220;Am I scaring potential contributors with too much detail about the Mozilla process?&#8221;, and &#8220;Did I forget anything important?&#8221; There is just so much detail to cover.</p>
<p>A realization dawned on me while putting together these slides: our documentation is very well done at this point. I was impressed with a lot of new <a title="Mozilla Developer Network" href="https://developer.mozilla.org/en-US/" target="_blank">MDN</a> content I linked to that did not exist when I started 3 years ago. Slowly we are chipping away at making technical contribution easier. Perhaps what we need are a few more &#8220;starting point&#8221; type documents, presentations and workshops to kick off a slew of new patches, no matter how small.</p>
<p><a href="http://monocleglobe.files.wordpress.com/2011/11/img_6583.jpg"><img class="size-medium wp-image-150 alignleft" title="The Petronas Towers, KL" src="http://monocleglobe.files.wordpress.com/2011/11/img_6583-e1322506695879.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a>The talk went well.  A few new folks pinged me on irc in the days after, and I was invited to Taipei to give the talk as an in-depth workshop. A Chinese translation was also discussed.</p>
<p>Now is as good a time as ever for technical contributors to learn our process and contribute to Firefox. It may not be easy, but it is easier than ever:)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/145/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=145&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2011/11/28/mozcamp-asia-report/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>

		<media:content url="http://monocleglobe.files.wordpress.com/2011/11/img_6594-e1322506464342.jpg?w=300" medium="image">
			<media:title type="html">A restauranteur in Kuala Lumpur</media:title>
		</media:content>

		<media:content url="http://monocleglobe.files.wordpress.com/2011/11/img_6583-e1322506695879.jpg?w=300" medium="image">
			<media:title type="html">The Petronas Towers, KL</media:title>
		</media:content>
	</item>
		<item>
		<title>A Working Group</title>
		<link>http://monocleglobe.wordpress.com/2011/11/04/working-group/</link>
		<comments>http://monocleglobe.wordpress.com/2011/11/04/working-group/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 15:46:10 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[api]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[DOMCrypt]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[w3]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=139</guid>
		<description><![CDATA[This week I attended the W3C annual meeting known as &#8220;TPAC&#8221; in Santa Clara. I went to discuss the possible formation of a &#8220;Web Identity Working Group&#8221; to begin the process of possibly standardizing Identity APIs and protocols, of which DOMCrypt was acting as a straw man proposal for a DOM/JS Crypto API. The short [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=139&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>This week I attended the W3C annual meeting known as &#8220;TPAC&#8221; in Santa Clara. I went to discuss the possible formation of a &#8220;Web Identity Working Group&#8221; to begin the process of possibly standardizing Identity APIs and protocols, of which DOMCrypt was acting as a straw man proposal for a DOM/JS Crypto API.</p>
<p>The short story is that &#8220;Web Identity&#8221; APIs and protocols are still very much in an R&amp;D phase and while incredibly important, there was not much agreement between interested parties on what to begin working on.</p>
<p>A high-level, hard-to-muck-up, asynchronous crypto API, on the other hand, had massive support from almost all of the interested parties involved. In the end, a &#8220;Web Cryptography Working Group&#8221; is being established, and I have thrown my hat into the ring as an &#8220;editor candidate&#8221;.</p>
<p>One of the first tasks is to clearly define what is &#8220;in scope&#8221;, &#8220;out of scope&#8221; and what features can be considered part of a potential &#8220;road map&#8221;. The starting point for this API will have to be a bit narrow, with no UI-based features so we can establish core functionality without too much complexity.</p>
<p>The current charter is here: <a title="Web Cryptography Working Group" href="http://www.w3.org/wiki/IdentityCharter#Web_Cryptography_Working_Group_Charter" target="_blank">http://www.w3.org/wiki/IdentityCharter#Web_Cryptography_Working_Group_Charter</a> (I have a feeling this url will change soon)</p>
<p>This is pretty exciting stuff. I met with a whole lot of folks from Microsoft, Google, Apple, Netflix and other companies that have many potential use cases. We need to collect as many use cases as possible in order to understand the most common uses so the first iteration will provide the best capabilities. If you have a use case in mind, do not hesitate to send it to me (ddahl + at + mozilla dot com) or the w3 mailing list, public-webcrypto@w3.org (which is yet to be set up).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=139&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2011/11/04/working-group/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>
	</item>
		<item>
		<title>JavaScript and crypto</title>
		<link>http://monocleglobe.wordpress.com/2011/08/30/javascript-and-crypto/</link>
		<comments>http://monocleglobe.wordpress.com/2011/08/30/javascript-and-crypto/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 15:47:19 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[api]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[DOMCrypt]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=136</guid>
		<description><![CDATA[After reading this thought-provoking post: http://www.matasano.com/articles/javascript-cryptography/ I thought I would enumerate some of the concerns raised and try to explain how DOMCrypt handles at least some of problems that are inherent in JavaScript cryptography. DOMCrypt is not a low-level crypto API. DOMCrypt is very high-level, making it much harder to &#8216;do it wrong&#8217;. The only [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=136&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>After reading this thought-provoking post: <a title="JavaScript Cryptography" href="http://www.matasano.com/articles/javascript-cryptography/" target="_blank">http://www.matasano.com/articles/javascript-cryptography/</a> I thought I would enumerate some of the concerns raised and try to explain how DOMCrypt handles at least some of problems that are inherent in JavaScript cryptography.</p>
<ul>
<li>DOMCrypt is not a low-level crypto API. DOMCrypt is very high-level, making it much harder to &#8216;do it wrong&#8217;. The only configuration is telling DOMCrypt what algorithm to use. See: <a title="DOMCrypt API Spec" href="https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest" target="_blank">https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest</a></li>
<li>Private key material is never exposed to content JS. Each keypair is represented by an ID. This keeps the key material in a secure key store outside of content. (In the case of Firefox, the key material will be stored in NSS&#8217; key database)</li>
<li>Each domain/origin will have its own keypair. You will have to know the &#8216;KeyID&#8217; to use the domain&#8217;s keypair to encrypt data. Being able to handle secret key material in content is &#8216;doing it wrong&#8217;. The original DOMCrypt prototype code as well as all of the crypto libraries do this. Not good.</li>
<li>All algorithms are well designed, well tested and maintained crypto functions created by tried and true cryptographers (In the case of Firefox&#8217;s implementation we have NSS under the covers). Millions of users have depended on this underlying crypto for a decade plus. Part of the motivation for DOMCrypt is that each site might roll their own crypto implementation, or use an implementation that is out in the wild, which are likely to be subtly wrong.  By providing DOMCrypt, we can leverage all the careful scrutiny that has already gone into browser crypto implementations. We are not re-building the wheel. (Random numbers are truly random as we are calling into NSS or other system crypto depending on the browser implementation)</li>
<li>Fast. This is not a concern in the Matasano article, but I think it is a valid point. DOMCrypt calls crypto functions written in C, so all of the crypto operations are quite fast.</li>
</ul>
<p>There are, of course, still many concerns even with a built in crypto API, but I think it is a step in the right direction. Moving all of the heavy crypto operations into the browser itself and exposing only a high-level API to consumers is the beginning. Making encryption as trustworthy as possible in a malleable content JavaScript environment will take some additional work.</p>
<p>&nbsp;</p>
<p>*thanks to Adam Barth for input</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=136&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2011/08/30/javascript-and-crypto/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>
	</item>
		<item>
		<title>7 things about your host, ddahl</title>
		<link>http://monocleglobe.wordpress.com/2011/08/07/7-things-about-your-host-ddahl/</link>
		<comments>http://monocleglobe.wordpress.com/2011/08/07/7-things-about-your-host-ddahl/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 02:44:32 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=129</guid>
		<description><![CDATA[Apparently, I have been summoned by the &#8220;7 things&#8221; internet meme&#8230; This is where you divulge 7 things that people may not know about you and tag 7 more people. I am wondering how I get paid for this. It is a ponzi scheme, right? The details of my life are quite inconsequential. 1. My [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=129&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Apparently, I have been <a title="@robcee" href="http://antennasoft.net/robcee/2011/08/06/tagged-7-things-redux/" target="_blank">summoned</a> by the &#8220;7 things&#8221; internet meme&#8230; This is where you divulge 7 things that people may not know about you and tag 7 more people. I am wondering how I get paid for this. It is a ponzi scheme, right?</p>
<p>The details of my life are quite inconsequential.</p>
<p>1. My father was a relentlessly self-improving boulangerie owner from Belgium with low grade narcolepsy and a penchant for buggery. My father would womanize, he would drink, he would make outrageous claims like he invented the question mark. Some times he would accuse chestnuts of being lazy, the sort of general malaise that only the genius possess and the insane lament.</p>
<p>2. My mother was a fifteen year old French prostitute named Chloe with webbed feet.</p>
<p>3. My childhood was typical, summers in Rangoon, luge lessons. In the spring we&#8217;d make meat helmets. When I was insolent I was placed in a burlap bag and beaten with reeds, pretty standard really.</p>
<p>4. At the age of 12 I received my first scribe. At the age of fourteen, a Zoroastrian named Vilma ritualistically shaved my testicles. There really is nothing like a shorn scrotum, it&#8217;s breathtaking, I suggest you try it.</p>
<p>Uh, just kidding&#8230; Of Course, the previous points are a <a title="Dr. Evil" href="http://www.whysanity.net/monos/evil.html" target="_blank">joke.</a></p>
<p><strong>Here we go:</strong></p>
<p>When I was five, my family moved to Germany so my dad could help with the post World War II occupation, you know. This was in 1977. (Wow, I am  old.) We lived in Augsburg for 3 years. I was quite aware of the Cold War at the age of 5.</p>
<p>I enrolled in my Junior year of college and never paid the tuition and never showed up to class, instead, I played guitar in a band that was nearly signed to a major record label. of course, these things just never turn out the way you want them to. My band played some pretty big shows opening for Blur once, and other indie bands such as Medicine, The Leaving Trains and Catherine. We recorded at the same studio as Smashing Pumpkins and occasionally hung out with some of them. Ahhh, hanging with Rock Stars at 20 years old&#8230; those Were the Days.</p>
<p>I saw the Orb in 1993 and renounced rock music for techno, starting a fledgling techno music group in Chicago. I DJ&#8217;d at some pretty huge Raves back in the day. Some of my music is on <a title="Biggest Gang of Thugs" href="http://soundcloud.com/deezthugs" target="_blank">SoundCloud</a>.</p>
<p>Back in 1995, Netscape went public, I finally set up a PPP account at Suba.net in Chicago. My boss at the time told me the &#8220;internet is a fad, the future is in the CD-ROM&#8221;. I quit my job and went to work at Northwestern University where they have had an internet connection since 1981. I taught myself HTML. I was into the web.</p>
<p>My wife and I eloped to Italy for a wedding in Florence. We spent a month in Italy, Croatia and Germany and probably spent as much money as the average bride spends on a dress. I HIGHLY recommend it.</p>
<p>I worked at Industrial Light and Magic for 18 months and that is all I can tell you about it, except that it felt more like working at IBM than a tech company on Tatooine (it WAS also a lot of fun).</p>
<p>My wife and I have 2 children, Cecilia &#8211; 5 and Henry &#8211; 1. Last year we moved back to the Chicago area, bought a place in the woods and are adjusting well to country living.</p>
<p>That about sums it up. I am supposed to tag 7 people now: @shorlander, @dao (is he on twitter?), @limi, @faaborg, @pastith, @ratcliffe_mike and @neonux</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=129&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2011/08/07/7-things-about-your-host-ddahl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>
	</item>
		<item>
		<title>DOMCrypt update: Symmetric API first iteration</title>
		<link>http://monocleglobe.wordpress.com/2011/07/07/domcrypt-update-symmetric-api-first-iteration/</link>
		<comments>http://monocleglobe.wordpress.com/2011/07/07/domcrypt-update-symmetric-api-first-iteration/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 16:28:07 +0000</pubDate>
		<dc:creator>ddahl</dc:creator>
				<category><![CDATA[api]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[DOMCrypt]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://monocleglobe.wordpress.com/?p=107</guid>
		<description><![CDATA[I have uploaded the latest DOMCrypt addon, which is version 0.4. It is not reviewed by the Addons team yet. https://addons.mozilla.org/en-US/firefox/addon/domcrypt/versions/?page=1#version-0.4 I have updated it here as well: http://mozilla.ddahl.com/domcrypt/extension/built/domcrypt.xpi (note: The DOMCrypt extension, which is the bleeding edge code still uses &#8216;window.mozCipher&#8217; as the window property name. The Firefox patch uses &#8216;window.mozCrypto&#8217;, the plan is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=107&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I have uploaded the latest DOMCrypt addon, which is version 0.4. It is not reviewed by the Addons team yet.<br />
<a title="DOMCrypt 0.4 on a.m.o" href="http://https://addons.mozilla.org/en-US/firefox/addon/domcrypt/versions/?page=1#version-0.4" target="_blank">https://addons.mozilla.org/en-US/firefox/addon/domcrypt/versions/?page=1#version-0.4</a><br />
I have updated it here as well:<br />
<a title="DOMCrypt 0.4 on domcrypt.org" href="http://mozilla.ddahl.com/domcrypt/extension/built/domcrypt.xpi" target="_blank">http://mozilla.ddahl.com/domcrypt/extension/built/domcrypt.xpi</a></p>
<p>(note: The DOMCrypt extension, which is the bleeding edge code still uses &#8216;window.mozCipher&#8217; as the window property name. The Firefox patch uses &#8216;window.mozCrypto&#8217;, the <a title="DOMCrypt Spec" href="https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest" target="_blank">plan</a> is to eventually merge this API into window.crypto )</p>
<p>I tried to make this API as simple as possible:</p>
<p>Encryption:</p>
<pre>window.mozCipher.sym.encrypt(plainText, function callback(aCryptoObject){})</pre>
<p>The resulting &#8216;CryptoObject&#8217; has the following properties:</p>
<pre>{
  cipherText: "...ENCRYPTED TEXT...",
  wrappedKey: "...A WRAPPED SYMMETRIC KEY...",
  iv:         "...KEY INITIALIZATION VECTOR...",
  pubKey:     "...A PUBLIC KEY..." // By default this pubKey
                                   // is the current user's public key,
                                   // which is used to wrap the symmetric key
                                   // so the actual key is never exposed to content.
}</pre>
<p>Decryption:</p>
<pre>window.mozCipher.sym.decrypt(aCryptoObject);</pre>
<p>You can also pass in a public key to each method to wrap the key with another user&#8217;s key</p>
<p>Internally, a symmetric key is generated each time you run encrypt, it is wrapped with a public key to keep it safe and that cryptoObject is returned.</p>
<p>This is a first pass on an implementation &#8211; I tried to make it as simple as possible, with key safety the top priority.</p>
<p>A common use case for this API is localStorage encryption:</p>
<pre>// web-based password manager app:)

var myWebPasswords = {gmail: "password", facebook: "password", twitter: "password"};

var jsonPasswords = JSON.stringify(myWebPasswords);

window.mozCipher.sym.encrypt(jsonPasswords, function callback(aCryptoObject){
  var jsonCryptPasswords = JSON.stringify(aCryptoObject);
  localStorage.setItem("jsonCryptPasswords", );
  delete myWebPasswords
});

// decrypt

var myWebPasswords;

var cryptoObj = JSON.parse(localStorage.getItem("jsonCryptPasswords"));

window.mozCipher.sym.decrypt(cryptoObj, function callback (aPlainText){
  myWebPasswords = JSON.parse(aPlainText);
});</pre>
<p>This API is simple to use, and gives you a more secure way of using localStorage &#8211; or IndexDB, etc.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/monocleglobe.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/monocleglobe.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=monocleglobe.wordpress.com&#038;blog=23683663&#038;post=107&#038;subd=monocleglobe&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://monocleglobe.wordpress.com/2011/07/07/domcrypt-update-symmetric-api-first-iteration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dc1340eac16f491c03f11cd7ee06d0a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidldahl</media:title>
		</media:content>
	</item>
	</channel>
</rss>
