<?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>The missing manual</title>
	<atom:link href="http://themissingmanual.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://themissingmanual.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Thu, 10 Sep 2009 05:48:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='themissingmanual.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The missing manual</title>
		<link>http://themissingmanual.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://themissingmanual.wordpress.com/osd.xml" title="The missing manual" />
	<atom:link rel='hub' href='http://themissingmanual.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Functional programming in Python</title>
		<link>http://themissingmanual.wordpress.com/2009/09/10/functional-programming-in-python/</link>
		<comments>http://themissingmanual.wordpress.com/2009/09/10/functional-programming-in-python/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 05:15:51 +0000</pubDate>
		<dc:creator>amitpureenergy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://themissingmanual.wordpress.com/?p=62</guid>
		<description><![CDATA[A recent conversation at OSSCAMP with the backdrop of a presentation on Scala by a very interesting chap really made me think about the functional programming aspects of python . It is obvious python has a huge stack of tools for scientific programming but this has  just increased appetite for more . Little background about [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=62&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A recent conversation at OSSCAMP with the backdrop of a presentation on Scala by a very interesting chap really made me think about the functional programming aspects of python . It is obvious python has a huge stack of tools for scientific programming but this has  just increased appetite for more .</p>
<p>Little background about Scala. It is &#8220;<strong>Scala</strong> (pronounced <a title="Wikipedia:IPA for English" href="http://en.wikipedia.org/wiki/Wikipedia:IPA_for_English">/ˈskɑːlə, ˈskeɪlə/</a>) is a <a title="Multi-paradigm programming language" href="http://en.wikipedia.org/wiki/Multi-paradigm_programming_language">multi-paradigm</a> <a title="Programming language" href="http://en.wikipedia.org/wiki/Programming_language">programming language</a> designed to integrate features of <a title="Object-oriented programming" href="http://en.wikipedia.org/wiki/Object-oriented_programming">object-oriented programming</a> and <a title="Functional programming" href="http://en.wikipedia.org/wiki/Functional_programming">functional programming</a>. The name Scala stands for &#8220;<em>scalable language</em>&#8220;, signifying that it is designed to grow with the demands of its users.&#8221; &#8211;wikipedia</p>
<p>Even if you are not excited by the idea of functional programming which you might be after a few lines. Scala is a dynamically typed language written on top of JVM. This means you can use some very reliable  well  written  Java libraries in its web framework  &#8212; lift . Also you can potentially write applications for android. Although their is a project to get scripting languages to android, this could be an interesting option. Also since Scala is compiled, it should run faster than other scripting languages. (Either I am starting to like scala or I have had too much cheese.)</p>
<p>But more importantly talking about the functional programming . It is a paradigm which is closer to mathematical expression. Take for example How would you define second order derivative in an object oriented  language .Well till the idea of f(x) , functions in programming languages correlate well to their mathematical cousins. You send variables and get results. But what if you wish to do f square (x) . You call the function recursively and have a control structure to see how it is called . The control structure is an additional aspect we have added to the program not really related to the actual expression. Now see this little program and see how elegantly  can solve some problems .</p>
<pre class="brush: python;">
def sigma(term, a, next, b)
     return term(a) + sigma(term, next(a), next, b)def term(x): return 1.0/(x * (x+2))
def term(x): return 1.0/(x * (x+2))
def next(x): return x + 4
sigma(term, 1, next, 1000)
</pre>
<p>This little code solves the following problem :</p>
<p>1/1*3 +1/5*7 &#8230;..<br />
<span id="more-62"></span><br />
more importantly this is in directly correlated to its mathematical analog.</p>
<p>So how do I exactly  implement functional programming aspects in python &#8230;</p>
<p><em>Using lambda</em></p>
<pre class="brush: python;">
f=lambda x: x*x
</pre>
<p>by doing this i have associated the object f with the expression x*x  so to do a second order equivalent would be simply</p>
<pre class="brush: python;">
f(f(2))
</pre>
<p>which is a normal mathematical expression .</p>
<p>Closures: Nesting of functions</p>
<pre class="brush: python;">
def cube(x): return x*x*x
def differentiate(f):
     return lambda x: (f(x+0.001) - f(x))/0.001
</pre>
<p>So now we come to our initial question , how to do second order differential .</p>
<pre class="brush: python;">
d=differentiate(differentiate(cube))
d(3)
</pre>
<p>The beauty of the differentiate function is that it returns the expression(i.e the function) instead of the usual object so what we did here was same as f(f(x) in maths. Hence this forms a better analog to mathematical expression than usual programming paradigm</p>
<p>Another very interesting idea in python is that of decorators.</p>
<pre class="brush: python;">
def addspam(fn):
    def new(*args):
        print &quot;spam, spam, spam&quot;
        return fn(*args)
    return new

@addspam
def useful(a, b):
      print a**2 + b**2
useful(3,4)
</pre>
<p>As you can see @addspam is decorator which recieves the function useful as one of the arguments . Infact decorators is a very clean way to implement things like checking for authentication in your program .</p>
<p>(Its really almost been years since my last blog post . I really didn&#8217;t do it all this while because I thought their are people who do it better than me . However this was an Idea that really excited me. I am just a how cool is that kind of blogger . So if you want the real thing just read my sources especially <a href="http://linuxgazette.net/109/pramode.html">http://linuxgazette.net/109/pramode.html</a> )</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/themissingmanual.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/themissingmanual.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/themissingmanual.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/themissingmanual.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/themissingmanual.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/themissingmanual.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/themissingmanual.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/themissingmanual.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/themissingmanual.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/themissingmanual.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/themissingmanual.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/themissingmanual.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/themissingmanual.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/themissingmanual.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=62&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://themissingmanual.wordpress.com/2009/09/10/functional-programming-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2dab7beb323d9bd98d61d8c1149c2529?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">amitpureenergy</media:title>
		</media:content>
	</item>
		<item>
		<title>Pay up for sour apples! The story told in 3g</title>
		<link>http://themissingmanual.wordpress.com/2009/07/31/pay-up-for-sour-apples-the-story-told-in-3g/</link>
		<comments>http://themissingmanual.wordpress.com/2009/07/31/pay-up-for-sour-apples-the-story-told-in-3g/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 06:31:00 +0000</pubDate>
		<dc:creator>thedjinn</dc:creator>
				<category><![CDATA[mobility devices]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[1984]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[campaign]]></category>

		<guid isPermaLink="false">http://themissingmanual.wordpress.com/?p=54</guid>
		<description><![CDATA[iPhone has revolutionized the mobile phone market after years. Due to Apple, for the first time, we see a product which is not half baked. While I think Apple does understand that mobile devices have been crippled for years and hence it transforms the market. However, it has failed miserably in understanding why devices have been crippled in the first place.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=54&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>iPhone has revolutionized the mobile phone market after years. Due to Apple, for the first time, we see a product which is not half baked. While I think Apple does understand that mobile devices have been crippled for years and hence it transforms the market. However, it has failed miserably in understanding why devices have been crippled in the first place.<br />
<span id="more-54"></span><br />
Squarely blame fails onto the mobile carriers, who are scared that the moment mobile devices are better designed, their value added services machinery would fall apart. They will just become part of the pipe. They will not be able to differentiate traffic hence no extra money to be made. They will just become one of the connectors to the internet. &#8220;Working&#8221; smart phones would cripple mobile carriers.</p>
<p>Apple, in India still goes and makes deals which tie consumers down to the same carriers. So carriers dictate their terms to the consumers. The price of 8 GB iphone is Rs. 16000 while  the iPod touch is for 12,000. Difference is that, iPhone just has GSM chip built-in. Interestingly, the iPhone bought from Vodafone ties you to their two year plan. And Airtel is no better.</p>
<p>3G is another story. The carrier cannot start 3G service till one case gets resolved in court. That may take million years, if you have any idea of how the Indian courts operate. Resultantly, while carriers are nicely making money by selling super fast devices, there is no 3G network. MTNL and BSNL only offer 3G network in India but what do we know, your newly bought iPhone is tied to Airtel or Vodafone.</p>
<p>From Apples perspective in this situation, disconnecting oneself from carriers and being consumer friendly would be a nice move. But nice moves seem to miss Apple every now and then. Take the case of AppStore. Where are the details on selection processes? Transparency is missing completely. </p>
<p>Apple has sold many devices in India and the world over. Apple can still make more money, if they walk, this last mile.  </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/themissingmanual.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/themissingmanual.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/themissingmanual.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/themissingmanual.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/themissingmanual.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/themissingmanual.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/themissingmanual.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/themissingmanual.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/themissingmanual.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/themissingmanual.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/themissingmanual.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/themissingmanual.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/themissingmanual.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/themissingmanual.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=54&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://themissingmanual.wordpress.com/2009/07/31/pay-up-for-sour-apples-the-story-told-in-3g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9bae1d7a91cd9e390a4d8d92c2636aa7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thedjinn</media:title>
		</media:content>
	</item>
		<item>
		<title>Why so serious? Yo frankie man!</title>
		<link>http://themissingmanual.wordpress.com/2009/07/24/why-so-serious-yo-frankie-man/</link>
		<comments>http://themissingmanual.wordpress.com/2009/07/24/why-so-serious-yo-frankie-man/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 05:58:52 +0000</pubDate>
		<dc:creator>thedjinn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://themissingmanual.wordpress.com/?p=52</guid>
		<description><![CDATA[Blender Institute is well known for its open-source application Blender. It is one of its kind 3d modeling tool. They also produced movies using blender. Now they have come up with a game: Yo Frankie. Do take a look at the video.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=52&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Blender Institute is well known for its open-source application <strong>Blender</strong>. It is one of its kind 3d modeling tool. They also produced movies using blender. Now they have come up with a game: <a href="http://youfrankie.org">Yo Frankie</a>. Do take a look at the video.<br />
<span style="text-align:center; display: block;"><a href="http://themissingmanual.wordpress.com/2009/07/24/why-so-serious-yo-frankie-man/"><img src="http://img.youtube.com/vi/c7RRaEvWqJc/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/themissingmanual.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/themissingmanual.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/themissingmanual.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/themissingmanual.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/themissingmanual.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/themissingmanual.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/themissingmanual.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/themissingmanual.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/themissingmanual.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/themissingmanual.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/themissingmanual.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/themissingmanual.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/themissingmanual.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/themissingmanual.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=52&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://themissingmanual.wordpress.com/2009/07/24/why-so-serious-yo-frankie-man/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9bae1d7a91cd9e390a4d8d92c2636aa7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thedjinn</media:title>
		</media:content>
	</item>
		<item>
		<title>Benchmarks truth, lies and faking it</title>
		<link>http://themissingmanual.wordpress.com/2009/07/03/benchmarks-truth-lies-and-faking-it/</link>
		<comments>http://themissingmanual.wordpress.com/2009/07/03/benchmarks-truth-lies-and-faking-it/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 12:01:27 +0000</pubDate>
		<dc:creator>thedjinn</dc:creator>
				<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[Environment]]></category>

		<guid isPermaLink="false">http://themissingmanual.wordpress.com/?p=40</guid>
		<description><![CDATA[Many among us consider benchmarks almost holy. We quote them often. Are they really as authoritative as we make them out to be. Taking specifically the case of Phoronix-Test-Suite to illustrate how ludicrous benchmarks are. I ran bare-bone ffmpeg test with average result of 38.06 secs. The test-case. Now to illustrate, how easy it is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=40&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Many among us consider benchmarks almost holy. We quote them often. Are they really as authoritative as we make them out to be. Taking specifically the case of <a href="http://phoronix-test-suite.com">Phoronix-Test-Suite</a> to illustrate how ludicrous benchmarks are.<br />
<span id="more-40"></span><br />
I ran bare-bone ffmpeg test with average result of <strong>38.06 secs</strong>. The <a href="http://global.phoronix-test-suite.com/?k=profile&amp;u=ss-24828-19560-32203">test-case</a>. Now to illustrate, how easy it is to rig this number just by recompiled ffmpeg twice. </p>
<ul>
<li> <strong>Compile One</strong>: Compile with <strong>gcc</strong> option <strong>-fprofile-arcs</strong>. This produces branching information for optimizing code further.</li>
<li><strong>Compile Second</strong>: Compile with option <strong>-fbranch-probabilities</strong>. This will use the branching information generated above to optimize the binary.</li>
</ul>
<p>By following this simple step, the difference in benchmark for ffmpeg was <strong>1.5 secs</strong> at <strong>36.92 secs</strong>  illustrated <a href="http://global.phoronix-test-suite.com/index.php?k=profile&amp;u=ss-32307-16585-30995">here</a>. This is the kind of difference between &#8220;winner&#8221; and &#8220;loser&#8221; in a stereotypical  benchmark. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/themissingmanual.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/themissingmanual.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/themissingmanual.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/themissingmanual.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/themissingmanual.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/themissingmanual.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/themissingmanual.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/themissingmanual.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/themissingmanual.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/themissingmanual.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/themissingmanual.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/themissingmanual.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/themissingmanual.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/themissingmanual.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=40&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://themissingmanual.wordpress.com/2009/07/03/benchmarks-truth-lies-and-faking-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9bae1d7a91cd9e390a4d8d92c2636aa7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thedjinn</media:title>
		</media:content>
	</item>
		<item>
		<title>Same benchmark different conclusion!</title>
		<link>http://themissingmanual.wordpress.com/2009/07/03/same-benchmark-different-conclusion/</link>
		<comments>http://themissingmanual.wordpress.com/2009/07/03/same-benchmark-different-conclusion/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 08:00:03 +0000</pubDate>
		<dc:creator>thedjinn</dc:creator>
				<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[phoronix]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://themissingmanual.wordpress.com/?p=31</guid>
		<description><![CDATA[Could this be real? Mac OS X better than Linux on IO performance. A benchmark was hurled towards my general direction. A benchmark proving that Mac OS X (snow leopard) is better than Ubuntu Intrepid. What was especially interesting to me was the IO performance benchmarks. It seemed like Platypus was hammering right, left and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=31&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Could this be real? Mac OS X better than Linux on IO performance. <a href="http://www.phoronix.com/scan.php?page=article&amp;item=ubuntu_macosx&amp;num=1">A benchmark</a> was hurled towards my general direction. A benchmark proving that Mac OS X (snow leopard) is better than Ubuntu Intrepid. What was especially interesting to me was the IO performance benchmarks. It seemed like Platypus was hammering right, left and center while good old penguin was sitting pretty on the side-walk.<br />
<span id="more-31"></span><br />
Contrary to general belief that Mac performs better on the desktop, Linux performing better on servers with clear-cut edge in IO performance, these tests proved that Mac OS X was not only better in many Graphics tests. It could easily out-run Linux in IO tests by large margin. </p>
<p>By running some of the IO tests on whatever machine <a href="http://global.phoronix-test-suite.com/index.php?k=profile&amp;u=ss-12618-18029-15442">available</a>, it was clear that Ubuntu Intrepid does not that perform badly in any of the tests as shown. Surprisingly, Ubuntu Hardy performs better than Intrepid.</p>
<p>Secondly looking at hardware specs was also a significant revelation. <a href="http://www.phoronix.net/image.php?id=ubuntu_macosx&amp;image=ubuntu_osx_pts"><br />
<img alt="" src="http://www.phoronix.net/image.php?id=ubuntu_macosx&amp;image=ubuntu_osx_pts" title="Hardware specs from phoronix" class="alignleft" width="500" height="295" /></a><br />
Notice the processor used for Mac OS X has a Intel Core 2 <strong>Duo</strong> and the processor for Ubuntu tests has Intel Core 2. By further looking at Mac Mini Wikipedia page <a href="http://en.wikipedia.org/wiki/Mac_mini">here</a>, it is clear that 3rd generation Mac Mini hardware has been used for all Mac OS X tests while 2nd generation Mini for all Ubuntu related tests. </p>
<p><strong>How much does this effect performance? </strong><br />
Quoting from comparison done between Core 2  and Core 2 Duo at <a href="http://tech.yahoo.com/blog/null/8263">tech.yahoo.com</a> &#8220;Core 2 Duo computers outperform Core Duo computers on tasks across the board, from rendering graphics and video to spell-checking documents. The speed improvement varies widely, but on average it&#8217;s about <strong>30 percent</strong>. That&#8217;s significant in an industry that thrives on tiny, incremental improvement.&#8221;  That is in my opinion a huge difference in hardware for drawing an authoritative benchmark comparing two different operating systems.</p>
<p>Without questioning the intent for using two different hardware, looking at the benchmark again one can easily conclude that Linux performed better given Mac OS X considering Mac had the <strong>30%</strong> processor advantage. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/themissingmanual.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/themissingmanual.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/themissingmanual.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/themissingmanual.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/themissingmanual.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/themissingmanual.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/themissingmanual.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/themissingmanual.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/themissingmanual.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/themissingmanual.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/themissingmanual.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/themissingmanual.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/themissingmanual.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/themissingmanual.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=31&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://themissingmanual.wordpress.com/2009/07/03/same-benchmark-different-conclusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9bae1d7a91cd9e390a4d8d92c2636aa7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thedjinn</media:title>
		</media:content>

		<media:content url="http://www.phoronix.net/image.php?id=ubuntu_macosx&#38;image=ubuntu_osx_pts" medium="image">
			<media:title type="html">Hardware specs from phoronix</media:title>
		</media:content>
	</item>
		<item>
		<title>Passwords for online services with BugMeNot</title>
		<link>http://themissingmanual.wordpress.com/2009/07/02/passwords-for-online-services-with-bugmenot/</link>
		<comments>http://themissingmanual.wordpress.com/2009/07/02/passwords-for-online-services-with-bugmenot/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 13:20:16 +0000</pubDate>
		<dc:creator>thedjinn</dc:creator>
				<category><![CDATA[Web2]]></category>
		<category><![CDATA[bugmenot]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[interweb]]></category>

		<guid isPermaLink="false">http://themissingmanual.wordpress.com/?p=20</guid>
		<description><![CDATA[BugMeNot is a unique service. It provides you with free access to password based online services. Login to any website without having to go through the long and tedious process of filling forms and creating logins. BugMeNot can very useful when you are casually surfing the website and want to see some of the services [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=20&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://themissingmanual.wordpress.com/2009/07/02/passwords-for-online-services-with-bugmenot/bug_me_not-2/" rel="attachment wp-att-22"><img src="http://themissingmanual.files.wordpress.com/2009/07/bug_me_not1.jpeg?w=510&#038;h=355" alt="bug_me_not" title="bug_me_not" width="510" height="355" class="alignleft size-full wp-image-22" /></a><br />
BugMeNot is a unique service. It provides you with free access to password based online services. Login to any website without having to go through the long and tedious process of filling forms and creating logins.<br />
<span id="more-20"></span><br />
BugMeNot can very useful when you are casually surfing the website and want to see some of the services available via login.</p>
<p>Here&#8217;s is how to find passwords for sites:</p>
<ul>
<li>Go to BugMeNot.com and type the URL of the website you need password for. As a sample try flickr.com</li>
<li>Use the username/passwords available in the listing</li>
<li>If the username does not work just use the dialog next to the details with yes/no</li>
</ul>
<p>While BugMeNot is really convenient of surfing the web. The lack privacy is an aspect to look into.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/themissingmanual.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/themissingmanual.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/themissingmanual.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/themissingmanual.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/themissingmanual.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/themissingmanual.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/themissingmanual.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/themissingmanual.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/themissingmanual.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/themissingmanual.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/themissingmanual.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/themissingmanual.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/themissingmanual.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/themissingmanual.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=20&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://themissingmanual.wordpress.com/2009/07/02/passwords-for-online-services-with-bugmenot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9bae1d7a91cd9e390a4d8d92c2636aa7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thedjinn</media:title>
		</media:content>

		<media:content url="http://themissingmanual.files.wordpress.com/2009/07/bug_me_not1.jpeg" medium="image">
			<media:title type="html">bug_me_not</media:title>
		</media:content>
	</item>
		<item>
		<title>5 reasons not to miss virtualization on desktop</title>
		<link>http://themissingmanual.wordpress.com/2009/06/15/5-reasons-why-use-virtualization-on-desktop/</link>
		<comments>http://themissingmanual.wordpress.com/2009/06/15/5-reasons-why-use-virtualization-on-desktop/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 07:43:50 +0000</pubDate>
		<dc:creator>thedjinn</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Redhat]]></category>
		<category><![CDATA[test environment]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[Virtualbox]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[world of warcraft]]></category>

		<guid isPermaLink="false">http://themissingmanual.wordpress.com/?p=10</guid>
		<description><![CDATA[Virtualization, back to basics, is just a way to run a PC inside a PC. Many fancy keywords have been added to make big buck out of it. What matters still is that, has it got a role to play on the developers desktop and how much? Few reasons why you should be interested in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=10&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Virtualization, back to basics, is just a way to run a PC inside a PC. Many fancy keywords have been added to make big buck out of it. What matters still is that, has it got a role to play on the developers desktop and how much? Few reasons why you should be interested in virtualization.<br />
<span id="more-10"></span></p>
<ul>
<li><strong>Virtualization is cheaper than having two desktops </strong>: Many people, I know run two devices because both are configured with different aims. One box being dedicated for playing &#8216;World of war craft&#8217;  and other being the workstation.  Where ever you hear, I need Windows just for purpose XXX. Virtualize.</li>
<li><strong>Run a specific application</strong>: Let us assume for a second, I am Windows .Net developer and the application I am working on, is cross platform. Interestingly, I don&#8217;t know anything about setting these systems. I get virtualized installations with all these apps setup by my friend joe (the hacker). I happily upload my work and test in almost native environment. </li>
<li><strong>Virtualize test environment</strong>: Many developers have premium hardware which does not allow testing with constraint systems. Virtual system can be constrained with CPU usage, RAM or disk space to test border-line conditions</li>
<li><strong>Build network on desktop</strong>: Run networked application is the guest environments which interact with each other. Test at leisure, how two p2p applications behave from the safe portal of your desktop.	</li>
<li><strong>Sandbox your desktop</strong>: Your Windows desktop is mission critical and yet, it needs access to Internet. You can setup Linux or Unix host and run Windows Desktop in Sandboxed environment</li>
</ul>
<p>Without slipping into slush of jargon, virtualization also happens to be coolest way to flaunt your nerdery.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/themissingmanual.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/themissingmanual.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/themissingmanual.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/themissingmanual.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/themissingmanual.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/themissingmanual.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/themissingmanual.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/themissingmanual.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/themissingmanual.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/themissingmanual.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/themissingmanual.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/themissingmanual.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/themissingmanual.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/themissingmanual.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=10&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://themissingmanual.wordpress.com/2009/06/15/5-reasons-why-use-virtualization-on-desktop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9bae1d7a91cd9e390a4d8d92c2636aa7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thedjinn</media:title>
		</media:content>
	</item>
		<item>
		<title>Great indian rope trick</title>
		<link>http://themissingmanual.wordpress.com/2009/06/14/great-indian-rope-trick/</link>
		<comments>http://themissingmanual.wordpress.com/2009/06/14/great-indian-rope-trick/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 20:17:29 +0000</pubDate>
		<dc:creator>thedjinn</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[development environment]]></category>
		<category><![CDATA[envionment variables]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rope trick]]></category>

		<guid isPermaLink="false">http://themissingmanual.wordpress.com/?p=3</guid>
		<description><![CDATA[There is a regular supply of new blogs. In fact, I must admit, I have in the past made a few attempts of writing a blog myself. Eventually stopping due to either loss of interest or subject matter not being relevant anymore. I am turning a new leaf. I would like to consistently write about [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=3&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There is a regular supply of new blogs. In fact, I must admit, I have in the past made a few attempts of writing a blog myself. Eventually stopping due to either loss of interest or subject matter not being relevant anymore.<br />
I am turning a new leaf. I would like to consistently write about technology and open source technologies in particular. The raw material will of-course be from my current work. Today, I was about to build some application and it failed due to a Java error and I decided to dedicate my first post to solving that problem. </p>
<p>Java is not a favorite language for many. But you find yourself sometimes using it. Feeling of frustration simmers while setting up development environment, especially if you come across two variables &#8211; <strong>JAVA_HOME</strong> and <strong>CLASSPATH</strong>. Java newbies often get confused what these variables mean. What role do they play in java jigsaw puzzle?<br />
<span id="more-3"></span><br />
Sole purpose of JAVA_HOME is to specify absolute path to tools.jar. This can allow a java application to invoke the compiler from inside of  a code sequence. Applications like tomcat and ant often need this feature for their normal working.</p>
<p>CLASSPATH points to extra libraries you plan to include in your code. If you are referring to any symbol in namespace stored in particular library. That library should be in the CLASSPATH. Most of the time you would be putting hordes of jar files in CLASSPATH. But ones in a while you could be pointing your CLASSPATH to the top-level directory of your own code. You can also set this via -cp directive in java and javac. </p>
<p>To illustrate an example, I have written a rudimentary program to setup JAVA_HOME and CLASSPATH on unix platform</p>
<pre class="brush: python;">

#!/usr/bin/env python

import os
import glob
SEP = os.sep

def JavaHome(pathList):
    for item in pathList:
        path = SEP.join([item, 'javac'])
        if os.access(path, os.X_OK):
            return os.path.dirname(os.path.dirname(os.path.realpath(path)))

def ClassPath(path='.'):
    classpath = ':'.join([os.path.abspath(a) for a in  glob.glob(SEP.join([path, &quot;*.jar&quot;]))])
    return classpath
def pathList():
    '''Make this OS specific'''
    return os.getenv('PATH').split(':')

if __name__=='__main__':
    path = pathList()
    print &quot;export JAVA_HOME=&quot; + JavaHome(path)
    print &quot;export CLASSPATH=&quot; + ClassPath()
</pre>
<p>If your javac is placed in lets say /usr/lib/jvm/java-6-sun/bin/javac. Your JAVA_HOME will simply be /usr/lib/jvm/java-6-sun/.<br />
CLASSPATH on other hand will differ from application to application. Interestingly if you find yourself using certain jar files very often, you should place it in standard CLASSPATH which should be $JAVA_HOME/jre/lib.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/themissingmanual.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/themissingmanual.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/themissingmanual.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/themissingmanual.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/themissingmanual.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/themissingmanual.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/themissingmanual.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/themissingmanual.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/themissingmanual.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/themissingmanual.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/themissingmanual.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/themissingmanual.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/themissingmanual.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/themissingmanual.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=themissingmanual.wordpress.com&amp;blog=8172264&amp;post=3&amp;subd=themissingmanual&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://themissingmanual.wordpress.com/2009/06/14/great-indian-rope-trick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9bae1d7a91cd9e390a4d8d92c2636aa7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thedjinn</media:title>
		</media:content>
	</item>
	</channel>
</rss>
