<?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>Handwaving</title>
	<atom:link href="http://surana.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://surana.wordpress.com</link>
	<description>glossing over detail for the sake of time or clarity</description>
	<lastBuildDate>Tue, 24 Jan 2012 15:58:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='surana.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Handwaving</title>
		<link>http://surana.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://surana.wordpress.com/osd.xml" title="Handwaving" />
	<atom:link rel='hub' href='http://surana.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Weather Prediction Error</title>
		<link>http://surana.wordpress.com/2011/12/30/weather-prediction-error/</link>
		<comments>http://surana.wordpress.com/2011/12/30/weather-prediction-error/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 20:20:35 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/?p=321</guid>
		<description><![CDATA[I wrote a Python script to download the 1 through 5 day predictions for the weather in the top 50 American cities from the Weather Underground. I’ve got almost 2 years of data now. Here are the RMSE for predictions for all cities. I believe the RMSE for all cities is 2.24, 2.89, 3.68, 4.29, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=321&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I wrote a Python script to download the 1 through 5 day predictions for the weather in the top 50 American cities from the <a href="http://www.wunderground.com/" target="_blank">Weather Underground</a>. I’ve got almost 2 years of data now. <a href="https://docs.google.com/spreadsheet/pub?hl=en_US&amp;hl=en_US&amp;key=0Al3bGR2dk47NdC1vZHdzWUxTUFBMaENmU29uczhoS1E&amp;single=true&amp;gid=0&amp;output=html" target="_blank">Here</a> are the RMSE for predictions for all cities. I believe the RMSE for all cities is 2.24, 2.89, 3.68, 4.29, 4.92 degrees F for 1 through 5 days respectively. I put the data up <a href="http://tinyurl.com/7amqjx4" target="_blank">here</a>, but I don’t yet know how to add visualizations. Unfortunately I have forgotten what little statistics I’ve ever learned. I tried a naïve prediction: tomorrow will be the same as today. This scored a RMSE of 6.11, which is significantly worse than even the 5 day forecast. I’ll try some machine learning algorithms on the data. In addition to the temperature, I stored things like weather condition (rain, snow, cloudy, etc) which may help make better predictions. Overall, I guess the weather underground does ok.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/321/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=321&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/12/30/weather-prediction-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>Upgrading Ubuntu to 11.10</title>
		<link>http://surana.wordpress.com/2011/12/16/upgrading-ubuntu-to-11-10/</link>
		<comments>http://surana.wordpress.com/2011/12/16/upgrading-ubuntu-to-11-10/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 17:56:57 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/?p=318</guid>
		<description><![CDATA[I run various versions of Ubuntu within VMware. Every single time I let it do a full upgrade to a new version it fails. This time an upgrade from 11.04 to 11.10 failed to reboot. Here’s the problem and solution. This is my first look at Ubuntu’s Unity. Generally I don’t care about the desktop [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=318&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I run various versions of Ubuntu within VMware. <em>Every single time</em> I let it do a full upgrade to a new version it fails. This time an upgrade from 11.04 to 11.10 failed to reboot. <a href="http://webpagedeveloper.me/blog/ubuntu-1110-boot-freezing-checking-battery-state-because-lightdm-fails-load" target="_blank">Here’s the problem and solution</a>. This is my first look at Ubuntu’s Unity. Generally I don’t care about the desktop because I live in Emacs. However, this is a colossally bad UI experience. Suddenly the firestorm of <a href="http://www.omgubuntu.co.uk/2011/03/unity/" target="_blank">complaints</a> about Unity make a lot more sense. I’ll keep trying it for a little while. If I still hate it in a week I’ll switch back to Gnome. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/318/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=318&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/12/16/upgrading-ubuntu-to-11-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>High Performance Counters</title>
		<link>http://surana.wordpress.com/2011/11/23/high-performance-counters/</link>
		<comments>http://surana.wordpress.com/2011/11/23/high-performance-counters/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 16:58:29 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/?p=315</guid>
		<description><![CDATA[There doesn’t appear to be a high performance concurrent counter available in the .NET framework. I timed various simple implementations on my Core 2 Duo laptop: A single thread can increment a static field 1.5 billion times in 4 seconds. Two threads that update a static field runs slightly slower than 4 seconds probably due [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=315&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There doesn’t appear to be a high performance concurrent counter available in the .NET framework. I timed various simple implementations on my Core 2 Duo laptop:</p>
<ol>
<li>A single thread can increment a static field 1.5 billion times in 4 seconds. </li>
<li>Two threads that update a static field runs slightly slower than 4 seconds probably due to the locking overhead. </li>
<li>Two threads that use Interlocked.Increment to update a shared field takes <strong>52 seconds!!</strong> Why is it so slow? </li>
<li>Two threads that update a ThreadStatic field takes 2.5 seconds. Of course this isn’t a global counter, but it sets a baseline for performance. </li>
<li>Two threads that update <em>separate</em> fields takes 3.7 seconds. Why? Probably because of cache contention. </li>
<li>Two threads that update separate fields on different cache lines takes 2 seconds. A cache line is 64 bytes, or 8 long fields. So I added 7 long fields to force the 2 counter fields on different cache lines.</li>
<li>Same as #6, but use an array of counters rather than fields. Now takes 8 seconds. Is this because of bounds checking? </li>
<li>Same as #6, but use CompareExchange (CAS) to update fields, takes 22 seconds. There’s no contention and it always succeeds. Why is this operation so insanely expensive? It’s supposed to be a single machine op on x86.</li>
</ol>
<p align="left">Notice how small implementation differences result in giant performance gaps. Updating separate cache lines is important for speed, but I still need to sum the values to return the current count. Cliff Click has a clever implementation in Java <a href="http://high-scale-lib.sourceforge.net/" target="_blank">here</a>. However, it still relies on CAS to perform updates which will, on .NET at least, slow down performance by 10X. <a href="http://www.bluebytesoftware.com/blog/2009/01/09/SomePerformanceImplicationsOfCASOperations.aspx" target="_blank">This post</a> from Joe Duffy confirms that CAS operations are expensive. I suppose if these designs <em>scale</em> to a large number of threads then it’s worthwhile. But if it sucks for a few threads then it’s unusable for most programmers. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/315/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=315&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/11/23/high-performance-counters/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>iOS 5 update ate my pictures</title>
		<link>http://surana.wordpress.com/2011/11/03/ios-5-update-ate-my-pictures/</link>
		<comments>http://surana.wordpress.com/2011/11/03/ios-5-update-ate-my-pictures/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 14:09:24 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/2011/11/03/ios-5-update-ate-my-pictures/</guid>
		<description><![CDATA[On vacation for the past month, I transferred pictures from my camera to my iPad using the camera connection kit. When I arrived home and synced, iTunes suggested I update to iOS 5. I thought the update process makes a backup anyway, so doing an update should be fine. Well, the update failed for some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=314&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>On vacation for the past month, I transferred pictures from my camera to my iPad using the camera connection kit. When I arrived home and synced, iTunes suggested I update to iOS 5. I thought the update process makes a backup anyway, so doing an update should be fine. Well, the update failed for some reason and no backup was made. My iPad is now in the restore state and the pictures are all lost. </p>
<p>Or are they? I assume the pictures are still on the drive somewhere. If I can somehow mount the drive I might be able to recover them. The jailbreak program <a href="http://greenpois0n.com/" target="_blank">greenpois0n</a> published their exploit code called <a href="https://github.com/Chronic-Dev/syringe" target="_blank">syringe</a>. It says that the jailbreak can expose the filesystem. If I can mount the filesystem in Linux, perhaps using <a href="https://launchpad.net/ubuntu/natty/+package/libimobiledevice-dev" target="_blank">libimobiledevice</a>, I can scan the drive and recover the pictures. There’s some technical information on iOS and jailbreaking available <a href="http://theiphonewiki.com/wiki/index.php?title=Main_Page" target="_blank">here</a>. This is one of those rare moments when my CS degree may actually be useful.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/314/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=314&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/11/03/ios-5-update-ate-my-pictures/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>PuSH with Twitter</title>
		<link>http://surana.wordpress.com/2011/09/09/push-with-twitter/</link>
		<comments>http://surana.wordpress.com/2011/09/09/push-with-twitter/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 19:48:38 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/2011/09/09/push-with-twitter/</guid>
		<description><![CDATA[PuSH (PubSubHubbub) is a sorta’ “real-time” notification protocol. Rather than poll for changes from a publisher (RSS), you can tell a PuSH hub to poll the publisher and receive a notification when there is a change. The notification is sent by POSTing to a URL on the subscribers machine. This sucks because it means the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=312&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>PuSH (<a href="http://code.google.com/apis/pubsubhubbub/" target="_blank">PubSubHubbub</a>) is a sorta’ “real-time” notification protocol. Rather than poll for changes from a publisher (RSS), you can tell a PuSH hub to poll the publisher and receive a notification when there is a change. The notification is sent by POSTing to a URL on the subscribers machine. This sucks because it means the subscriber needs to run a client at all times to receive notifications. </p>
<p>Perhaps an alternative is to use Twitter as a PuSH message bus. When a PuSH hub detects an update it can send a direct message to the subscriber’s Twitter feed. Subscribers can use Twitter’s <a href="https://dev.twitter.com/docs/streaming-api/user-streams" target="_blank">user streaming api</a> to fetch and process these direct messages. The advantage is that Twitter queues the messages until you log in to grab them, and it has a decent streaming API for pushing lots of messages quickly to the subscribers. No need to reinvent the wheel when it’s available for free. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/312/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=312&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/09/09/push-with-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>Bazaar Flow</title>
		<link>http://surana.wordpress.com/2011/09/07/bazaar-flow/</link>
		<comments>http://surana.wordpress.com/2011/09/07/bazaar-flow/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 19:55:00 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/?p=308</guid>
		<description><![CDATA[Git flow is an implementation of a nice branching model for software development. I use Bazaar for private projects, but in a totally simplistic way. Here are notes to myself for using git flow with bzr. I’m quite certain I’m doing it wrong, so if anyone stumbles upon this post and has a better way [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=308&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="https://github.com/nvie/gitflow" target="_blank">Git flow</a> is an implementation of a nice <a href="http://nvie.com/posts/a-successful-git-branching-model/" target="_blank">branching model for software development</a>. <a href="http://surana.wordpress.com/2008/05/15/on-choosing-bazaar-for-dvcs/" target="_blank">I use Bazaar</a> for private projects, but in a totally simplistic way. Here are notes to myself for using git flow with bzr. I’m quite certain I’m doing it wrong, so if anyone stumbles upon this post and has a better way of doing things I’d certainly appreciate the input.</p>
<p>To create <a href="http://doc.bazaar.canonical.com/bzr.2.4/en/user-guide/organizing_branches.html" target="_blank">lots of branches</a> in bzr, it’s better to create a shared repository first. Go into that directory and make a branch that mirrors the main branch. Then make branches for develop and other features. After you&#8217;ve made some commits on a branch, go to the branch you want to merge the changes into. Then call merge from the feature branch into the main branch to add those commits. Fix any merge problems and call commit. This will not do a fast forward merge; instead, it preserves the branch info in the history. </p>
<pre>
  &gt; bzr init-repo project
  &gt; cd project
  &gt; bzr branch /path/to/master
  &gt; bzr branch master develop
  &gt; bzr branch develop feature1
    ... hack on feature 1 ...
  &gt; cd develop
  &gt; bzr merge ../feature1
  &gt; bzr commit
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/308/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=308&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/09/07/bazaar-flow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>Confessions of a reddit addict</title>
		<link>http://surana.wordpress.com/2011/08/25/confessions-of-a-reddit-addict/</link>
		<comments>http://surana.wordpress.com/2011/08/25/confessions-of-a-reddit-addict/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 02:37:17 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/2011/08/25/confessions-of-a-reddit-addict/</guid>
		<description><![CDATA[Reddit is addictive in much the same was as slot machines: the rewards are random. Though most of the comment threads on reddit are painfully stupid, there are enough stupendously hilarious threads to keep me buzzing on a dopamine rush. But it’s time to regain control of my life. To do so, I set my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=307&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://reddit.com" target="_blank">Reddit</a> is addictive in much the same was as slot machines: the rewards are random. Though most of the comment threads on reddit are painfully stupid, there are enough stupendously hilarious threads to keep me buzzing on a dopamine rush. But it’s time to regain control of my life. To do so, I set my router to use <a href="http://www.opendns.com/" target="_blank">OpenDNS</a>, where you can block any site you want.&#160; I run <a href="http://dd-wrt.com" target="_blank">DD-WRT</a> on my router, which is set to use DNSMasq as my local DNS proxy. However, you need to configure DNSMasq to use their dns servers, which I’ve added below. Of course I can turn this off anytime I want. But it’s enough of a speed bump to hopefully jolt me back to sanity. To ease the withdrawal symptoms, I’ll be slamming Red Bull continuously. </p>
<blockquote><p>local=/home/     <br />expand-hosts      <br />no-resolv      <br />strict-order      <br />server=208.67.222.222      <br />server=208.67.222.220</p>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/307/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=307&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/08/25/confessions-of-a-reddit-addict/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>Spotify Review</title>
		<link>http://surana.wordpress.com/2011/07/24/spotify-review/</link>
		<comments>http://surana.wordpress.com/2011/07/24/spotify-review/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 20:52:52 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/2011/07/24/spotify-review/</guid>
		<description><![CDATA[I’ve had a chance to try Spotify for a week. For the narrow customer segment that I represent, it is probably not the right music subscription service. I am not a music nerd. I don’t really care whether a service has some obscure Dinosaur Jr. live performance from an old radio show. For me the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=305&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’ve had a chance to try <a href="http://www.spotify.com/us/hello-america/" target="_blank">Spotify</a> for a week. For the narrow customer segment that I represent, it is probably not the right music subscription service. I am not a music nerd. I don’t really care whether a service has some obscure Dinosaur Jr. live performance from an old radio show. For me the most important features are music discovery and passive radio listening. The qualities that make Spotify popular have little appeal to me. Instant playback? I can wait a half second. Larger music catalog? I don’t listen to anything too obscure, nor do I care if a particular track is missing. Higher-quality audio? I’m fine with even 96kbps on my crappy computer speakers or headphones. Desktop app? It’s really for their benefit, not mine. At a recent talk their architect said peer-to-peer sharing handles 20-50% of the music delivery for them (depending on the market). </p>
<p>I actually like <a href="http://last.fm" target="_blank">last.fm</a>, but I do wish I could pick and choose tracks occasionally. I also would like offline access on both my laptop and iPods. <a href="http://pandora.com" target="_blank">Pandora</a> is nice, but seems to cycle through the same songs and artists a bit too often. I’m going to try <a href="http://www.rdio.com" target="_blank">Rdio</a> and <a href="http://mog.com" target="_blank">Mog</a> soon. Now I just need to pipe all this music through my stereo somehow. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/305/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=305&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/07/24/spotify-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>Prolog and AWS</title>
		<link>http://surana.wordpress.com/2011/07/13/prolog-and-aws/</link>
		<comments>http://surana.wordpress.com/2011/07/13/prolog-and-aws/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 16:11:54 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/2011/07/13/prolog-and-aws/</guid>
		<description><![CDATA[I gave a rambling short talk recently describing my project to use Prolog to administer deployments on Amazon Web Services (AWS). Here&#8217;s the source code. I completely failed to explain the reason for doing this. So let me try again in this space. AWS can be programmatically controlled via APIs exposed as web services. There [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=303&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I gave a rambling short <a href="http://www.meetup.com/hack-and-tell/messages/18971431/" target="_blank">talk</a> recently describing my project to use Prolog to administer deployments on Amazon Web Services (AWS). Here&#8217;s the <a href="https://github.com/suranap/scarecrow">source code</a>. I completely failed to explain the <em>reason</em> for doing this. So let me try again in this space.</p>
<p>AWS can be programmatically controlled via APIs exposed as <a href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/" target="_blank">web services</a>. There are many, many <a href="http://aws.amazon.com/developertools" target="_blank">tools</a> that offer easier access to these APIs. To do anything interesting, you have to write a complex script to accomplish a high-level goal, i.e. deploy new web servers, backup a database, expand a tier, run a new DB slave, etc. You will often end up with lots of scripts to do this or that because these scripts are imperative (a sequence of steps to achieve a goal). The scripts are imperative because the languages (Java, Python, Ruby) are imperative (the OO just makes it modular).</p>
<p>With Prolog I hope to build, in effect, a <em>script generator</em>. My Prolog code right now can query AWS and load in the <em>initial state</em>: all available instances, volumes, snapshots, security groups, etc. in your account. The programmer only needs to define the <em>goal state</em>: the way you want your AWS deployment to look. Given the appropriate rules, Prolog should be able to find a way to accomplish this goal by figuring out what set of AWS calls it should make. It is basically generating the scripts for you.</p>
<p>A simple example would be a goal state <em>shutdown</em>: no instances should be running. Let’s say right now there are 4 running servers. The Prolog system will see these 4 servers and call terminate-instance for each one. Simple, right?</p>
<p>A less simple example might be <em>replicate-zone</em>: copy the current deployment in zone A to a new availability zone B. Again the Prolog code will look at what you’ve got in zone A. Then it will try to launch the same instances in zone B.</p>
<p>A more complex example might be “run my website for under $100/month”. The system might explore deploying spot instances, launching 1 larger instance rather than 3 smaller ones, or whatever. It will somehow manage your resources to fit within a budget.</p>
<p>I’ll post my code soon, but it is a barely functional minimal prototype right now. There are lots of interesting issues to deal with like data modeling, expressing rules, inventing a DCG grammar. I’m confident it will work eventually.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/303/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=303&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/07/13/prolog-and-aws/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
		<item>
		<title>Distributed Performance Tracing</title>
		<link>http://surana.wordpress.com/2011/07/05/distributed-performance-tracing/</link>
		<comments>http://surana.wordpress.com/2011/07/05/distributed-performance-tracing/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 14:16:55 +0000</pubDate>
		<dc:creator>Pinku</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://surana.wordpress.com/2011/07/05/distributed-performance-tracing/</guid>
		<description><![CDATA[I stumbled on this paper from Google describing Dapper, a distributed performance monitoring system (aka profiler) for their entire infrastructure. For any distributed system, even simple client/server systems, it is useful to measure performance across services &#38; tiers. For example, in a distributed system service A may call B and C, B calls D and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=302&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I stumbled on <a title="Dapper, a Large-Scale Distributed Systems Tracing Infrastructure" href="http://research.google.com/pubs/pub36356.html" target="_blank">this paper</a> from Google describing Dapper, a distributed performance monitoring system (aka profiler) for their entire infrastructure. For any distributed system, even simple client/server systems, it is useful to measure performance across services &amp; tiers. For example, in a distributed system service A may call B and C, B calls D and E, C calls F. All these calls form an acyclic graph. Most services return a value, though some may be asynchronous and some may be one-way calls (no return value). </p>
<p><span id="more-302"></span>
<p>The basic idea is quite simple. You need to pass a structure along with each call that contains a Guid to correlate a particular path through the system. In addition, you need to recreate the call hierarchy by passing along a parent ID (the calling service) and a child’s ID. The IDs are like pointers to reconstruct the call graph. The root service will not have a parent id. Each service dumps all this info to their own local trace log. A trace line should look something like this:</p>
<blockquote><p><font color="#333333">Guid, Service name, Method name, Parent ID, My ID, Timestamp, other optional data</font></p>
</blockquote>
<p>Another monitoring process should gather all these trace logs from all machines and dump them into a database. Now you can do queries per Guid where you reconstruct the call graph and explore the performance of your entire distributed system. You should be able to gather the information in near real-time, depending on the load of your system. And if you run a high-performance site, then just trace 1 out of every 100 or 1000 calls (sampling). </p>
<p>Ideally, a tool like this would be integrated into your runtime so you don’t need to manually manage the Guids and trace info. It looks like <a href="http://www.dynatrace.com/en/" target="_blank">dynaTrace</a> does exactly this. Otherwise, you could integrate this into WCF by attaching a header to every SOAP message containing the Guid and parent/child IDs. I think it might be possible to use <a href="http://msdn.microsoft.com/en-us/library/ms733040.aspx" target="_blank">Sessions</a> in WCF to add this information, though it may impose additional overheads. Nevertheless, this is very useful stuff and I wouldn’t want to run a production system without these profile traces. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/surana.wordpress.com/302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/surana.wordpress.com/302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/surana.wordpress.com/302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/surana.wordpress.com/302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/surana.wordpress.com/302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/surana.wordpress.com/302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/surana.wordpress.com/302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/surana.wordpress.com/302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/surana.wordpress.com/302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/surana.wordpress.com/302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/surana.wordpress.com/302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/surana.wordpress.com/302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/surana.wordpress.com/302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/surana.wordpress.com/302/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=surana.wordpress.com&amp;blog=1937801&amp;post=302&amp;subd=surana&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://surana.wordpress.com/2011/07/05/distributed-performance-tracing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/69a6108af131aedbbd54bd6ab3cacd1d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Pinku</media:title>
		</media:content>
	</item>
	</channel>
</rss>
