<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Cloudy Times</title>
	<atom:link href="http://markusklems.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://markusklems.wordpress.com</link>
	<description>Random Thoughts of Markus Klems</description>
	<lastBuildDate>Mon, 08 Aug 2011 22:18:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='markusklems.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Cloudy Times</title>
		<link>http://markusklems.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://markusklems.wordpress.com/osd.xml" title="Cloudy Times" />
	<atom:link rel='hub' href='http://markusklems.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Do Cloudfoundry and OpenShift have a Future?</title>
		<link>http://markusklems.wordpress.com/2011/08/03/cloudfoundry-openshift/</link>
		<comments>http://markusklems.wordpress.com/2011/08/03/cloudfoundry-openshift/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 18:36:39 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=521</guid>
		<description><![CDATA[I am wondering if Cloudfoundry and OpenShift will become success stories (like Amazon Web Services). The idea of an open source application serving platform sounds intriguing, however, the community pages are somewhat deserted and documentation is poor&#8230; After downloading the Cloudfoundry source code, it looks more like a prototype. What do you think? &#160;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=521&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am wondering if Cloudfoundry and OpenShift will become success stories (like Amazon Web Services). The idea of an open source application serving platform sounds intriguing, however, the community pages are somewhat deserted and documentation is poor&#8230; After downloading the Cloudfoundry source code, it looks more like a prototype. What do you think?</p>
<p><a href="http://www.quora.com/Do-Cloudfoundry-and-OpenShift-have-a-future"><img class="alignleft size-full wp-image-522" title="quora-cloudfoundry-openshift" src="http://markusklems.files.wordpress.com/2011/08/quora-cloudfoundry-openshift.png?w=450&#038;h=160" alt="" width="450" height="160" /></a></p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/521/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/521/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/521/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=521&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2011/08/03/cloudfoundry-openshift/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>

		<media:content url="http://markusklems.files.wordpress.com/2011/08/quora-cloudfoundry-openshift.png" medium="image">
			<media:title type="html">quora-cloudfoundry-openshift</media:title>
		</media:content>
	</item>
		<item>
		<title>Notes from geekSessions &#8211; Network and Infrastructure Scalability</title>
		<link>http://markusklems.wordpress.com/2011/07/27/geeksessions-network-infrastructure-scalability/</link>
		<comments>http://markusklems.wordpress.com/2011/07/27/geeksessions-network-infrastructure-scalability/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 04:57:46 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[data center]]></category>
		<category><![CDATA[infrastructure]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=519</guid>
		<description><![CDATA[Here are my notes from today&#8217;s geekSessions 2.2 in San Francisco: Allan Leinwand, CTO Zynga Allan gave a short talk on Zynga&#8217;s infrastructure, in particular Z Cloud, and Amazon EC2-compatible private cloud. Seems like another proof that AWS is the de-facto standard, at least for compute cloud and storage cloud solutions. If you want to build a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=519&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here are my notes from today&#8217;s <a href="http://www.geeksessions.com/2011/07/12/geeksessions-2-2-network-and-infrastructure-scalability/">geekSessions 2.2</a> in San Francisco:</p>
<h3>Allan Leinwand, CTO Zynga</h3>
<p>Allan gave a short talk on Zynga&#8217;s infrastructure, in particular <a href="http://gigaom.com/cloud/the-final-piece-of-zyngas-z-cloud-revealed/">Z Cloud</a>, and Amazon EC2-compatible private cloud. Seems like another proof that AWS is the de-facto standard, at least for compute cloud and storage cloud solutions. If you want to build a hybrid cloud solution, better make sure that it integrates with EC2&#8230;</p>
<h3>Big Switch</h3>
<p>Next up was a tech guy from BigSwitch who promoted an open source network virtualization software, named <a href="http://www.openflow.org/">OpenFlow</a>.</p>
<h3>Mike Christian, Business Continuity Planning Yahoo!</h3>
<p>Mike reminded us that data centers sometimes go down. When you manage 45 of them, probability is high that one of them disconnects once a week or so, due to a multitude of potential failures: network instability, HVAC failures, UPS failures (apparently a big problem), generator failures &#8211; and more mundane issues, such as a leeky roof or a hungry squirrel.</p>
<p>The advice: focus on <em>impact duration</em>, not incident duration, i.e. being able to fail over traffic from one DC to another within minutes, use DNS-based Global Server Load Balancing, degrade service gracefully.</p>
<h3>Gleb Budman, CEO Backblaze</h3>
<p>Gleb showed how to build an Internet-connected backup server for $5/month. <a href="http://www.backblaze.com">Backblaze</a> targets consumers and small businesses, and does not enforce a storage space limit. Average users store a bit more than 50 GB. Backblaze certainly is cheaper than Amazon S3, on the other hand does not offer (geo-)replication but only RAID redundancy and other nice things like a Web service API, et cetera. Well, you get what you pay for. Not everybody needs a cloud.</p>
<h3>Cliff Moon, Co-Founder Boundary</h3>
<p>Cliff gave a very entertaining talk, complaining about old-fashioned (client, app, OS, and network) monitoring tools and evangelized the next generation of monitoring tools, like <a href="http://opentsdb.net">OpenTSDB</a>, and &#8211; you guessed it &#8211; <a href="https://boundary.com">Boundary</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/519/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=519&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2011/07/27/geeksessions-network-infrastructure-scalability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>
	</item>
		<item>
		<title>Open Source PaaS &#8211; Solving the Hold-up Problem in Cloud Computing</title>
		<link>http://markusklems.wordpress.com/2011/06/08/open-source-paas/</link>
		<comments>http://markusklems.wordpress.com/2011/06/08/open-source-paas/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 07:54:24 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[economy]]></category>
		<category><![CDATA[PaaS]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=511</guid>
		<description><![CDATA[CloudAve contributor Krishnan Subramanian discusses the recent trends in the enterprise PaaS space. He distinguishes three models of service delivery: the Heroku Model, the Amazon Model, and the Federated PaaS Model. The Heroku Model is a closed monolithic platform, the Amazon Model is a closed modular platform, and the Federated PaaS Model is a platform that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=511&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>CloudAve contributor <a href="http://www.cloudave.com/author/krishnan/">Krishnan Subramanian</a> discusses the recent trends in the enterprise PaaS space. He distinguishes three models of service delivery: <a href="http://www.cloudave.com/13383/paas-is-the-future-of-cloud-services-battle-lines-are-clearly-drawn/">the Heroku Model, the Amazon Model, and the Federated PaaS Model</a>. The Heroku Model is a closed monolithic platform, the Amazon Model is a closed modular platform, and the Federated PaaS Model is a platform that can be set up across multiple infrastructure providers.</p>
<h3>Open Source PaaS and the Hold-up Problem</h3>
<p>We all have experiences with the first two models (e.g. App Engine and AWS) and I guess that most people would agree with me that building scalable and robust Web applications has never been easier and more fun. However, both models have a significant disadvantage as they are (must be?) based on proprietary software. <a href="http://www.nber.org/papers/w14946">Michael Schwarz and Yuri Takhteyev</a> argue that proprietary software creates economic inefficiencies and that open source is a solution to these inefficiencies in some sectors. I strongly believe that the enterprise cloud computing marketplace is one of these sectors.</p>
<p>Schwarz and Takhteyev explain that proprietary software is a source of economic inefficiency because it can lead to the <strong><a href="http://en.wikipedia.org/wiki/Hold-up_problem">hold-up problem</a></strong> and thus cause underinvestment in complementary technologies. Let me give you an example. You build an application (complementary technology) and deploy it to a closed PaaS. A few months later, the platform service provider sends you a letter to inform that unfortunately the prices of the service offering will rise. If you anticipate this situation, you might not wish to build the application in the first place (underinvestment). The main problem is that when you build the application, the bargaining power of the platform service provider increases and he can negotiate higher prices or support fees ex post.</p>
<p><strong>Why is the hold-up problem a particularly significant problem in cloud computing?</strong> Because off-the-shelf software does not work for large-scale applications. This is the reason why every major Internet company built their own (usually proprietary) distributed data stores (GFS, BigTable, Dynamo, Cassandra, &#8230;). These software systems are highly customized for specific types of applications. Now back to Schwarz and Takhteyev: proprietary software (binary) is an <a href="http://en.wikipedia.org/wiki/Excludability">excludable good</a>; source code is de facto non-excludable (you can copy it). This means that you can only get access to the proprietary software and execute modifications through the software vendor (same argument for services by replacing &#8220;software&#8221; with &#8220;service&#8221;). With open source software, you do not depend on the software vendor to implement the features that you need for your specific application. You can go ahead and build it yourself.</p>
<p>By the way, Salesforce explores a different path to solve the hold-up problem: vertical integration of Heroku. I guess this makes sense for Salesforce, considering the closed nature of their platform.</p>
<h3>Conclusion</h3>
<p>The closed PaaS model creates economic inefficiency, not only because of monopoly pricing but also because of the hold-up problem. The hold-up problem increases the bargaining power of the platform provider when the platform user makes complementary investments. This problem can become particularly unpleasant for enterprises who want to innovate and cannot depend on the platform provider to implement the technologies they need. It can also be a problem for enterprises that compete in a similar sector of the IT industry.</p>
<p>Open Source PaaS (<a href="http://cloudfoundry.org">Cloudfoundry</a>, <a href="http://openshift.redhat.com/app/flex">OpenShift</a>) is a solution to this problem. You can set up the platform in a federated environment and migrate to a different infrastructure provider (data center, compute cloud) if the cost structure changes. Moreover, you can modify the software and adjust it to the particular requirements of your applications.</p>
<p>Nevertheless, the Open Source PaaS model can only be a success if the community provides the necessary input to make these platforms as stable as App Engine and Heroku.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/511/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=511&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2011/06/08/open-source-paas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>
	</item>
		<item>
		<title>CAP Revisited</title>
		<link>http://markusklems.wordpress.com/2011/01/11/cap-revisited/</link>
		<comments>http://markusklems.wordpress.com/2011/01/11/cap-revisited/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 08:50:33 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[architecture]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=508</guid>
		<description><![CDATA[PACELC I just found out about an excellent blog post on the CAP theorem by Daniel Abadi. I agree with his assertions that the CAP theorem is somewhat confusion and like the concept of PACELC. In my opinion, the main problem is an unclear understanding of what C, A, and P actually mean. My 3 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=508&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>PACELC</h2>
<p>I just found out about an <a href="http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html">excellent blog post on the CAP theorem by Daniel Abadi</a>. I agree with his assertions that the CAP theorem is somewhat confusion and like the concept of PACELC. In my opinion, the main problem is an unclear understanding of what C, A, and P actually mean.</p>
<p>My 3 cents on consistency, availability, and partition-tolerance:</p>
<h2>Consistency</h2>
<p>Imho, it does not make much sense to talk about consistency without a specific application or system architecture in mind. For example, in the case of a relational database, consistency usually equals integrity constraints &amp; atomic transactions; in the case of Dynamo/Cassandra it is specified by the N-R-W configuration of the quorum protocol (or hard-wired consistency level); et cetera.</p>
<h2>Availability</h2>
<p>In a similar sense, when defining availability, there should be a time constraint (e.g. if the ping does not return after 2 secs, the app is down). Everything in between [0, 2] is the &#8220;availability spectrum&#8221;, aka latency. Apparently, it is again application-specific what the upper bound should be and when we talk about latency as opposed to availability.</p>
<h2>Partition-tolerance</h2>
<p>I agree that from a client perspective there is no difference between unavailability due to server failure and unavailability due to network partition. However, different repair mechanisms will be used in either case so it might make sense to differentiate when looking from a system perspective (?)</p>
<p>What do you think?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/508/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/508/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/508/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/508/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/508/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/508/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/508/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/508/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/508/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/508/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/508/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/508/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/508/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/508/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=508&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2011/01/11/cap-revisited/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>
	</item>
		<item>
		<title>Is Facebook worth $50Bn?</title>
		<link>http://markusklems.wordpress.com/2011/01/05/facebook-valuation/</link>
		<comments>http://markusklems.wordpress.com/2011/01/05/facebook-valuation/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 14:54:57 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[valuation]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=497</guid>
		<description><![CDATA[Is the Goldman Sachs valuation of $50Bn for Facebook reasonable? Here is what we know about Facebook: &#62; 500 Mio active users 50% of active users log on to Facebook in any given day The average user has 130 friends People spend 700 billion minutes per month on Facebook Sanity check: According to the Goldman [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=497&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Is the Goldman Sachs <a href="http://www.bbc.co.uk/news/business-12106652">valuation of $50Bn for Facebook</a> reasonable? <a href="http://www.facebook.com/press/info.php?statistics">Here is what we know about Facebook</a>:</p>
<ul>
<li>&gt; 500 Mio active users</li>
<li>50% of active users log on to Facebook in any given day</li>
<li>The average user has 130 friends</li>
<li>People spend 700 billion minutes per month on Facebook</li>
</ul>
<h2>Sanity check:</h2>
<p>According to the Goldman Sachs valuation</p>
<ul>
<li><strong>each active user is worth $100</strong></li>
<li>Considering a lifetime of Facebook of T years*
<ul>
<li>for T=1: one useryear is worth $100</li>
<li>for T=5: one useryear is worth $20</li>
<li>for T=10: one useryear is worth $10</li>
</ul>
</li>
</ul>
<ul>
<li><strong>each minute/month spent on Facebook is worth 50/700 = $0.0714</strong></li>
<li>Considering a lifetime of Facebook of T years*
<ul>
<li>for T=1: each minute is worth $0.0059</li>
<li>for T=5: each minute is worth $0.0012</li>
<li>for T=10: each minute is worth $0.0006</li>
</ul>
</li>
</ul>
<p>Let&#8217;s say, Facebook will be around for another 10 years with a stable user base. Is it reasonable to spend $10 per useryear, or 0.06 cents per userminute, respectively?</p>
<h2><a href="http://mashable.com/2010/12/16/facebook-2-billion-revenue">What are major sources of Facebook&#8217;s revenue?</a></h2>
<ul>
<li>Facebook made $2Bn revenue in 2010</li>
<li>1 trillion display ads/year</li>
<li>Facebook gets 30% of third party revenues via <a href="http://www.facebook.com/credits/">Facebook Credits</a></li>
<li><a href="http://news.softpedia.com/news/Zynga-Revenue-Estimates-for-2010-Anywhere-from-500M-to-800M-149083.shtml">Facebook game giant Zynga made $500-$800M revenue in 2010</a></li>
</ul>
<h2>Crunching numbers:</h2>
<ul>
<li>8 minutes spent on Facebook equals 1 ad impression</li>
<li>Every year, the average user consumes 2000 ad impressions via Facebook</li>
<li>The current CPM for Facebook ads is max $2 (1tr * $2/1000 = $2Bn)</li>
<li>Considering a <a href="http://techcrunch.com/2010/01/04/jpmorgan-advertising-2010/">reasonable average CPM</a> of $3, this makes a potential future revenue of $6 per user per year</li>
<li>Every year, the average user spends $1-$1.6 on Zynga&#8217;s virtual goods and ads, out of which Facebook gets $0.3-$0.5</li>
</ul>
<p>This rough calculation shows that Goldman might actually be right with their Facebook valuation. Time will show.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/497/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=497&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2011/01/05/facebook-valuation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>
	</item>
		<item>
		<title>Scala &#8211; Getting Started (2)</title>
		<link>http://markusklems.wordpress.com/2010/12/31/scala-2/</link>
		<comments>http://markusklems.wordpress.com/2010/12/31/scala-2/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 15:56:03 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=471</guid>
		<description><![CDATA[Scala by Example Methods Output: Hello, Markus Whazzup, Markus In Scala methods, you can define default values, such as greeting: String = "Hello" in the example shown above. This is a nifty alternative to overloading methods.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=471&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Scala by Example</h2>
<h3>Methods</h3>
<pre class="brush: scala;">
object HelloWorld {
	def greet(name: String, greeting: String = &quot;Hello&quot;) =
		greeting + &quot;, &quot; + name
}

import HelloWorld._

println(greet(&quot;Markus&quot;))
println(greet(&quot;Markus&quot;, &quot;Whazzup&quot;))
</pre>
<p>Output:<br />
<code>Hello, Markus<br />
Whazzup, Markus</code></p>
<p>In Scala methods, you can define default values, such as <code>greeting: String = "Hello"</code> in the example shown above. This is a nifty alternative to overloading methods.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/471/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=471&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2010/12/31/scala-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>
	</item>
		<item>
		<title>Scala &#8211; Getting Started (1)</title>
		<link>http://markusklems.wordpress.com/2010/12/29/scala/</link>
		<comments>http://markusklems.wordpress.com/2010/12/29/scala/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 19:38:20 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=434</guid>
		<description><![CDATA[There are many operating systems and IDEs. I will cover my favorites briefly. Installing Scala on Ubuntu (10.04 LTS) Now re-start your shell. Reference: http://tipstank.com/2010/11/26/install-scala-on-ubuntu/ Installing Scala on Mac (10.6.5) First of all: Install MacPorts. and then Reference: http://www.feastforeyes.com/2010/08/installing-scala-on-mac/ Installing the Eclipse Plug-in Go to http://www.scala-ide.org/ and get the &#8220;Update Site&#8221; URL. Open your Eclipse IDE, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=434&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are many operating systems and IDEs. I will cover my favorites briefly.</p>
<h2>Installing Scala on Ubuntu (10.04 LTS)</h2>
<pre class="brush: bash;">
sudo apt-get install scala
wget http://www.scala-lang.org/downloads/distrib/files/scala-2.8.1.final.tgz
sudo tar -C /opt/ -xvzf scala-2.8.1.final.tgz
PATH=&quot;$PATH:/opt/scala-2.8.1.final/bin&quot;
</pre>
<p>Now re-start your shell.</p>
<pre class="brush: bash;">
scala -version
</pre>
<p>Reference:<br />
<a href="http://tipstank.com/2010/11/26/install-scala-on-ubuntu/">http://tipstank.com/2010/11/26/install-scala-on-ubuntu/</a></p>
<h2>Installing Scala on Mac (10.6.5)</h2>
<p>First of all: Install <a href="http://www.macports.org/install.php">MacPorts</a>.</p>
<pre class="brush: bash;">
sudo port install scala28
</pre>
<p>and then</p>
<pre class="brush: bash;">
for n in $(ls /opt/local/bin/scala*); do sudo ln -s $n /usr/local/bin/$(echo $n | sed -n -e 's/.*\/\(.*\)-.*/\1/p'); done
</pre>
<p>Reference:</p>
<p><a href="http://www.feastforeyes.com/2010/08/installing-scala-on-mac/">http://www.feastforeyes.com/2010/08/installing-scala-on-mac/</a></p>
<h2>Installing the Eclipse Plug-in</h2>
<p>Go to <a href="http://www.scala-ide.org/">http://www.scala-ide.org/</a> and get the &#8220;Update Site&#8221; URL. Open your Eclipse IDE, click on the &#8220;Help&#8221; menu, select the &#8220;Install new Software&#8221; item and paste the URL. Then select the plug-in and install. (this process can look a bit different depending on the Eclipse IDE version that you use &#8211; I tried it with Eclipse for Java EE Helios). The Eclipse plug-in seems to be somewhat buggy, though&#8230;</p>
<h2>Installing the TextMate Bundle and Plug-in</h2>
<p>1. Download the Scala bundle and install it:</p>
<pre class="brush: bash;">
git clone git://github.com/mads379/scala.tmbundle.git
open scala.tmbundle
</pre>
<p>Add the <code>SCALA_HOME</code> variable in TextMate (Preferences &gt; Advanced &gt; Shell Variables).</p>
<p>Paste the following code into your ~/.ctags file</p>
<pre class="brush: bash;">
--langdef=scala
--langmap=scala:.scala
--regex-scala=/^[ \t]&lt;em&gt;class[ \t]+([a-zA-Z0-9_]+)/\1/c,classes/
--regex-scala=/^[ \t]&lt;/em&gt;trait[ \t]+([a-zA-Z0-9&lt;em&gt;]+)/\1/t,traits/
--regex-scala=/^[ \t]*type[ \t]+([a-zA-Z0-9&lt;/em&gt;]+)/\1/T,types/
--regex-scala=/^[ \t]&lt;em&gt;def[ \t]+([a-zA-Z0-9_\?]+)/\1/m,methods/
--regex-scala=/^[ \t]&lt;/em&gt;val[ \t]+([a-zA-Z0-9&lt;em&gt;]+)/\1/C,constants/
--regex-scala=/^[ \t]*var[ \t]+([a-zA-Z0-9&lt;/em&gt;]+)/\1/l,local variables/
--regex-scala=/^[ \t]&lt;em&gt;package[ \t]+([a-zA-Z0-9_.]+)/\1/p,packages/
--regex-scala=/^[ \t]&lt;/em&gt;case class[ \t]+([a-zA-Z0-9&lt;em&gt;]+)/\1/c,case classes/
--regex-scala=/^[ \t]*final case class[ \t]+([a-zA-Z0-9&lt;/em&gt;]+)/\1/c,case classes/
--regex-scala=/^[ \t]&lt;em&gt;object[ \t]+([a-zA-Z0-9_]+)/\1/o,objects/
--regex-scala=/^[ \t]&lt;/em&gt;private def[ \t]+([a-zA-Z0-9_]+)/\1/pd,defs/
</pre>
<p>2. Download the <a href="https://github.com/mads379/SBT-Console-Textmate-Plugin/downloads">SBT plugin</a> and install it (apparenty assumes that you use <a href="http://code.google.com/p/simple-build-tool/wiki/Setup">SBT</a>)</p>
<p>Create a shell script with the code posted below next to your <a href="http://code.google.com/p/simple-build-tool/downloads/list">sbt-launch-*.jar</a> and create a shell variable SBT_PATH in TextMate (see part 1) that points to the script.</p>
<pre class="brush: bash;">
java -Xmx1512M -XX:+CMSClassUnloadingEnabled -Dsbt.log.noformat=true  -XX:MaxPermSize=256m -jar dirname $0/sbt-launch-0.7.4.jar “$@”
</pre>
<p><a href="http://markusklems.files.wordpress.com/2010/12/screen-shot-2010-12-29-at-8-33-09-pm.png">&nbsp;</p>
<p></a></p>
<pre><a href="http://markusklems.files.wordpress.com/2010/12/screen-shot-2010-12-29-at-8-33-09-pm.png"><img title="TextMate Shell Variables" src="http://markusklems.files.wordpress.com/2010/12/screen-shot-2010-12-29-at-8-33-09-pm.png?w=450&#038;h=395" alt="" width="450" height="395" /></a></pre>
<p>&nbsp;</p>
<p>Reference:</p>
<p><a href="http://www.sidewayscoding.com/2010/08/using-textmate-for-scala-development.html">http://www.sidewayscoding.com/2010/08/using-textmate-for-scala-development.html</a></p>
<h2>Playing with the Interactive Scala Interpreter</h2>
<p>Open your shell, then type <code>scala</code>. Now you can do awesome things like this:<br />
<code><br />
scala&gt; val foo = "bar"<br />
foo: java.lang.String = bar</code><br />
<code> </code><br />
<code>scala&gt; println(foo)<br />
bar</code></p>
<h2>Running a Toy Program</h2>
<pre class="brush: scala;">
object Greeting {
	def main(args: Array[String]) = println(&quot;Hello World&quot;)
}
</pre>
<p>That&#8217;s it for now. Stay tuned&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/434/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=434&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2010/12/29/scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>

		<media:content url="http://markusklems.files.wordpress.com/2010/12/screen-shot-2010-12-29-at-8-33-09-pm.png" medium="image">
			<media:title type="html">TextMate Shell Variables</media:title>
		</media:content>
	</item>
		<item>
		<title>WipeCoin Startup</title>
		<link>http://markusklems.wordpress.com/2010/11/24/wipecoin-startup/</link>
		<comments>http://markusklems.wordpress.com/2010/11/24/wipecoin-startup/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 12:30:00 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[invention]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=430</guid>
		<description><![CDATA[As a serial entrepreneur, my goal is to start one company per year. This year, two friends and I invented WipeCoin, a revolutionary cleaning mechanism for smartphones: the combination of a case with a microfiber-coated “coin”. The coin can be clipped off the case for wiping the screen clean. After cleaning the screen, the coin [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=430&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://markusklems.files.wordpress.com/2010/11/web_640px_wipecoin_revolution.jpg"><img src="http://markusklems.files.wordpress.com/2010/11/web_640px_wipecoin_revolution.jpg?w=450&#038;h=415" alt="" title="web_640px_wipecoin_revolution" width="450" height="415" class="alignleft size-full wp-image-432" /></a></p>
<p>As a serial entrepreneur, my goal is to start one company per year. This year, two friends and I invented <a href="http://www.wipecoin.com/" target="_blank">WipeCoin</a>, a revolutionary cleaning mechanism for smartphones: the combination of a case with a microfiber-coated “coin”. The coin can be clipped off the case for wiping the screen clean. After cleaning the screen, the coin can be clipped back into the case.</p>
<p>Our first product line of WipeCoin coins, plus exclusive cases for iPhone 4, is in the making. You can support us by joining our <a href="http://www.facebook.com/pages/WipeCoin/156757847673222?v=wall" target="_blank">WipeCoin facebook fan page</a>, <a href="http://twitter.com/WipeCoin" target="_blank">follow us on Twitter</a>, and <a href="http://www.facebook.com/pages/WipeCoin/156757847673222?v=app_126231547426086" target="_blank">vote for you favorite WipeCoin colors</a>.</p>
<p>Stay tuned&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/430/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=430&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2010/11/24/wipecoin-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>

		<media:content url="http://markusklems.files.wordpress.com/2010/11/web_640px_wipecoin_revolution.jpg" medium="image">
			<media:title type="html">web_640px_wipecoin_revolution</media:title>
		</media:content>
	</item>
		<item>
		<title>Gwtissandra: GWT + Hector + Cassandra</title>
		<link>http://markusklems.wordpress.com/2010/11/23/gwt-hector-cassandra/</link>
		<comments>http://markusklems.wordpress.com/2010/11/23/gwt-hector-cassandra/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 15:51:02 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[cloud storage]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=425</guid>
		<description><![CDATA[A Twitter Clone Clone I built a toy application (Gwtissandra) to better understand Cassandra&#8217;s data model and new features of Cassandra 0.7, such as secondary indices and flexible schema updates. Gwtissandra is basically a GWT/Java port of Twissandra, a Twitter clone clone, so to say. The main parts that Gwtissandra is based on: a Google [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=425&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>A Twitter Clone Clone</h2>
<p>I built a <a href="https://github.com/markusklems/gwtissandra" target="_blank">toy application (Gwtissandra)</a> to better understand Cassandra&#8217;s data model and new features of Cassandra 0.7, such as secondary indices and flexible schema updates. Gwtissandra is basically a GWT/Java port of <a href="http://www.riptano.com/docs/0.6/data_model/twissandra" target="_blank">Twissandra</a>, a Twitter clone clone, so to say.</p>
<p>The main parts that Gwtissandra is based on:</p>
<ul>
<li>a Google Web Toolkit (GWT) front-end,</li>
<li>a Cassandra Java client, Hector, and</li>
<li>a Cassandra server.</li>
</ul>
<h2>Next Steps</h2>
<p>I am currently busy with a couple of other projects but I hope that over Christmas I will find a bit time to</p>
<ul>
<li>clean up the code and make the app look nicer (using <a href="http://code.google.com/p/gwt-mvp/" target="_blank">MVP</a> or so),</li>
<li>port the app to Scala to make it even more cleaner and nicer,</li>
<li>once there is a stable <a href="https://github.com/btoddb/hector-object-mapper" target="_blank">object-mapper library</a>, try it out and replace awkward queries,</li>
<li>set up build scripts etc. (not sure if this is a good idea, though),</li>
<li>make a short video/screencast.</li>
</ul>
<p>If you have suggestions or would like to help, drop me a message and I will come back to you. Thanks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/425/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=425&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2010/11/23/gwt-hector-cassandra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>
	</item>
		<item>
		<title>Cassandra &#8211; migrating from 0.6 to 0.7</title>
		<link>http://markusklems.wordpress.com/2010/11/15/cassandra-0-7/</link>
		<comments>http://markusklems.wordpress.com/2010/11/15/cassandra-0-7/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 14:13:37 +0000</pubDate>
		<dc:creator>Markus Klems</dc:creator>
				<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[cloud storage]]></category>

		<guid isPermaLink="false">http://markusklems.wordpress.com/?p=419</guid>
		<description><![CDATA[I recently moved from playing with Cassandra 0.6 to playing with Cassandra 0.7 beta. One of the problems I ran into was this one: keyspace does not exist This is why: Prior to 0.7, cassandra loaded a set of static keyspaces defined in a storage-conf.xml file. CASSANDRA-44 added the ability to modify schema dynamically on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=419&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently moved from playing with Cassandra 0.6 to playing with Cassandra 0.7 beta. One of the problems I ran into was this one:</p>
<h2>keyspace does not exist</h2>
<p>This is why:</p>
<p><a href="http://wiki.apache.org/cassandra/FAQ#no_keyspaces" target="_blank">Prior to 0.7, cassandra loaded a set of static keyspaces defined in a storage-conf.xml file. CASSANDRA-44 added the ability to modify schema dynamically on a live cluster. Part of this change required that we ignore the schema defined in storage-conf.xml. Additionally, 0.7 converts to YAML based configuration.</a></p>
<p><a href="http://wiki.apache.org/cassandra/FAQ#no_keyspaces" target="_blank">If you have an existing storage-conf.xml file, you will first need to convert it to YAML using the bin/config-converter tool, which can generate a cassandra.yaml file from a storage-conf.xml file. Once you have a cassandra.yaml, it is possible to do a one-time load of the schema it defines. 0.7 adds a loadSchemaFromYAML method to StorageServiceMBean (triggered via JMX: see https://issues.apache.org/jira/browse/CASSANDRA-1001 ) which will load the schema defined in cassandra.yaml, but this is a one-time operation. A node that has had its schema defined via loadSchemaFromYAML will load its schema from the system table on subsequent restarts, which means that any further changes to the schema need to be made using the system_* thrift operations (see API).</a></p>
<h2>Here is what you can do:</h2>
<p>Open your shell, type jconsole. The jconsole opens.</p>
<p>1) Select the org.apache.cassandra.thrift.CassandraDeamon</p>
<p>2) Select org.apache.cassandra.db &gt; StorageService &gt; Operations</p>
<p>3) Click loadSchemaFromYAML</p>
<p>Done.</p>
<p><a href="http://markusklems.files.wordpress.com/2010/11/loadschemafromyaml.png"><img class="alignleft size-full wp-image-420" title="loadSchemaFromYAML" src="http://markusklems.files.wordpress.com/2010/11/loadschemafromyaml.png?w=450&#038;h=371" alt="" width="450" height="371" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markusklems.wordpress.com/419/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markusklems.wordpress.com/419/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markusklems.wordpress.com/419/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markusklems.wordpress.com/419/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markusklems.wordpress.com/419/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markusklems.wordpress.com/419/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markusklems.wordpress.com/419/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markusklems.wordpress.com/419/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markusklems.wordpress.com/419/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markusklems.wordpress.com/419/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markusklems.wordpress.com/419/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markusklems.wordpress.com/419/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markusklems.wordpress.com/419/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markusklems.wordpress.com/419/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markusklems.wordpress.com&amp;blog=4000314&amp;post=419&amp;subd=markusklems&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markusklems.wordpress.com/2010/11/15/cassandra-0-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/219bf8813a0c2d8f7ca419567c1bec43?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">markusklems</media:title>
		</media:content>

		<media:content url="http://markusklems.files.wordpress.com/2010/11/loadschemafromyaml.png" medium="image">
			<media:title type="html">loadSchemaFromYAML</media:title>
		</media:content>
	</item>
	</channel>
</rss>
