<?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/"
	>

<channel>
	<title>Code Away</title>
	<atom:link href="http://blog.spathare.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.spathare.com</link>
	<description>Software development, thoughts and rants (of course)</description>
	<lastBuildDate>Tue, 16 Feb 2010 11:33:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Mozilla&#8217;s Interest in Open Standards</title>
		<link>http://blog.spathare.com/2010/02/mozillas-interest-in-open-standards/</link>
		<comments>http://blog.spathare.com/2010/02/mozillas-interest-in-open-standards/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 11:33:28 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=205</guid>
		<description><![CDATA[I was wondering why Mozilla refuses to support H.264 streaming video format while Chrome and Safari don&#8217;t seem to mind it, but Christopher Blizzard and Robert O&#8217;Callahan both make compelling arguments in favor of Ogg Theora codec (or rather, against all codecs which are patent-protected and can potentially charge licensing fees). Both posts argued well [...]]]></description>
			<content:encoded><![CDATA[<p>I was wondering why Mozilla refuses to support H.264 streaming video format while Chrome and Safari don&#8217;t seem to mind it, but <a rel="home" href="http://www.0xdeadbeef.com/weblog/" target="_blank">Christopher Blizzard</a> and <a href="http://weblogs.mozillazine.org/roc/archives/2010/01/video_freedom_a.html" target="_blank">Robert O&#8217;Callahan</a> both make compelling arguments in favor of Ogg Theora codec (or rather, against all codecs which are patent-protected and can potentially charge licensing fees).</p>
<p>Both posts argued well against H264. Particularly Christopher Blizzard, who drew a fine analogy with GIF. The scary part is that both of them feel the &#8220;fallback&#8221; on Flash (from HTML5) is good since it ensures that users have minimum problems. Well, this is quite a surprise (as many point out in the posts&#8217; comments) for someone advocating use of open standards.</p>
<p>Adobe, on the other hand, will definitely extract mileage out of the situation to stress the fact that Flash is the true technology for cross-browser support, be it video or generic rich applications. Nothing wrong with that, they need to fight the battle with everyone hailing HTML5 as a <a href="http://twitter.com/#search?q=html5%2Bkill%2Bflash" target="_blank">flash-killer</a>.</p>
<p>A crazy battle with 3 sides (3 and a half actually- We forgot Silverlight and IE!) and the end user confused. Welcome to the web.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2010/02/mozillas-interest-in-open-standards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New payment policies, new loopholes</title>
		<link>http://blog.spathare.com/2010/02/new-payment-policies-new-loopholes/</link>
		<comments>http://blog.spathare.com/2010/02/new-payment-policies-new-loopholes/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 18:39:52 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[mastercard]]></category>
		<category><![CDATA[RBI]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[visa]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=201</guid>
		<description><![CDATA[Last year around this time, I was shouting against the unsecure practices in credit card payments. A couple of friends had told me how &#8220;Mastercard SecureCode and VerfiedByVisa&#8221; are propping up to take care of this matter. Needless to say, its a pathetic experience as long as security is concerned. I could set my password [...]]]></description>
			<content:encoded><![CDATA[<p>Last year around this time, I was shouting against the <a href="/2009/01/insecure-payment-with-credit-cards/" target="_blank">unsecure practices in credit card payments</a>. A couple of friends had told me how &#8220;Mastercard SecureCode and VerfiedByVisa&#8221; are propping up to take care of this matter.</p>
<p>Needless to say, its a pathetic experience as long as security is concerned. I could set my password <em>during shopping </em>(one would expect logging into a bank or CC account on the bank site for such stuff) with very little information provided for my identification.</p>
<p>My wife has an add on card. She had no idea I had kept any password, and was able to reset and override my password while she was shopping. What a waste!</p>
<p>And around August, these stupid, stupid norms of SecureCode and VBV were mandated for all online payments in India, instead of asking the companies to build something secure rather than just building a database and calling it &#8220;securiteeee!&#8221;</p>
<p>Fortunately, I don&#8217;t have to rant much more. Ross Anderson has published an <a href="http://www.lightbluetouchpaper.org/2010/01/26/how-online-card-security-fails/" target="_blank">awesome research paper</a> on this mess that pretty much covers most if not all aspects of this pile of stink. Hope this will someday be read by RBI here in India</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2010/02/new-payment-policies-new-loopholes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back home</title>
		<link>http://blog.spathare.com/2010/02/back-home/</link>
		<comments>http://blog.spathare.com/2010/02/back-home/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 18:38:40 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[meta]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=197</guid>
		<description><![CDATA[They say you should never blog about how-I-was-so-busy-so-couldn&#8217;t-blog-OMG-so-sorry. One of the reasons is that there&#8217;s no one reading the blog anyway (especially this one), so just chill and get the (d)ucking useful posts out. But seriously, it feels amazing to get back to this blog and write in some more gyan. My favourite pastime. Except [...]]]></description>
			<content:encoded><![CDATA[<p>They say you should never blog about how-I-was-so-busy-so-couldn&#8217;t-blog-OMG-so-sorry. One of the reasons is that there&#8217;s no one reading the blog anyway (especially this one), so just chill and get the (d)ucking useful posts out.</p>
<p>But seriously, it feels amazing to get back to this blog and write in some more gyan. My favourite pastime. Except that there&#8217;s no particular idiot who&#8217;s sitting in front of me actually feeling impressed.</p>
<p>More posts will hopefully follow. In the meanwhile, 2 awesome comics I found: <a href="http://www.calamitiesofnature.com/" target="_blank">Calamities of Nature</a> and <a href="http://www.abominable.cc/" target="_blank">Abominable.cc</a>. Both are excellent. Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2010/02/back-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frozen XTerm</title>
		<link>http://blog.spathare.com/2010/01/frozen-xterm/</link>
		<comments>http://blog.spathare.com/2010/01/frozen-xterm/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 11:08:08 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[notes]]></category>
		<category><![CDATA[frozen]]></category>
		<category><![CDATA[xterm]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=194</guid>
		<description><![CDATA[Freeze XTerm Display: Ctrl+S Unfreeze XTerm Display: Ctrl+Q]]></description>
			<content:encoded><![CDATA[<p>Freeze XTerm Display: Ctrl+S</p>
<p>Unfreeze XTerm Display: Ctrl+Q</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2010/01/frozen-xterm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rotating text on web pages</title>
		<link>http://blog.spathare.com/2009/08/rotating-text-on-web-pages/</link>
		<comments>http://blog.spathare.com/2009/08/rotating-text-on-web-pages/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 01:30:29 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=189</guid>
		<description><![CDATA[I had no idea this can be done. Very nicely written article by Jonathan Snook on using css attributes to rotate text on a webpage. Hell lot of browser quirks, almost zero consistency across different browsers and different operating systems, but I am not complaining. Most of the newer attributes like opacity started off as [...]]]></description>
			<content:encoded><![CDATA[<p>I had no idea this can be done. Very nicely written article by Jonathan Snook on <a href="http://snook.ca/archives/html_and_css/css-text-rotation" target="_blank">using css attributes to rotate text on a webpage</a>.</p>
<p>Hell lot of browser quirks, almost zero consistency across different browsers and different operating systems, but I am not complaining. Most of the newer attributes like opacity started off as browser-specific.</p>
<p>Hope to find this more consistent a year later. After all, we shouldn&#8217;t be forced to use images just to display text in a different orientation, right?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/08/rotating-text-on-web-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website design</title>
		<link>http://blog.spathare.com/2009/08/website-design/</link>
		<comments>http://blog.spathare.com/2009/08/website-design/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 01:30:39 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[ui]]></category>
		<category><![CDATA[bad design]]></category>
		<category><![CDATA[broken design]]></category>
		<category><![CDATA[cleartrip]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[undesigned]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=173</guid>
		<description><![CDATA[I am an amateur website designer. There are a lot of professionals who have in-depth knowledge about User interface and interaction, but every now and then I do like to take a look into design, simply because any web application is what the user can see. Not the data structures used, not the fancy algorithms [...]]]></description>
			<content:encoded><![CDATA[<p>I am an amateur website designer. There are a lot of professionals who have in-depth knowledge about User interface and interaction, but every now and then I do like to take a look into design, simply because <strong>any web application is what the user can see</strong>. Not the data structures used, not the fancy algorithms attached to core functionality. Just what the users can see (and probably how fast they can see it).</p>
<p>In general, I find that website designs can be divided into three broad categories:</p>
<h3>Designed websites</h3>
<p>Nothing much to talk here. We all know designed websites. There&#8217;s a banner, a good stylesheet, possibly a menu with a roll-out animation which doesn&#8217;t work anywhere except in IE6, and so on&#8230; you get the idea. The craze nowadays is to use glassy effects and some reflection to show &#8220;we&#8217;re so web 2.0&#8243;, not realizing that Web 2.0 was never associated with images. Not just on major icons but everywhere including menu buttons, command buttons, external links. Even favicons are not spared.</p>
<p>But let me rant about &#8220;Web 2.0 images&#8221; some other time. Coming back to the point, designed websites form the major chunk of what we see on the web. Corporate Information sites, dotcoms for companies highlighting their activities, all social networking sites, most portals, microsoft.com, even this blog: All fit in this category.</p>
<h3>Non-designed websites</h3>
<p>Any personal website created without a stylesheet, good coloring or imagery falls into this category. But its not just personal pages. Sites like <a href="http://newyork.craigslist.org/mnh/sss/" target="_blank">Craigslist</a> and <a href="http://mail.python.org/mailman/listinfo/python-dev" target="_blank">some dev mailing list pages</a> fall in this range as well. The default font in the browser (mostly the very inappropriate &#8220;Times New Roman&#8221;, if on Windows), white background, the occasional spurt of color (full saturation red or blue) to highlight an important point, it is all very ugly, but still it &#8220;works&#8221;. The information can be read, and it ends at that. These sites mostly operate on two norms:</p>
<ol>
<li><a href="http://www.codinghorror.com/blog/archives/000579.html" target="_blank">Content is King</a></li>
<li>I am individual, attempting to post this page in spite of not being very good at this stuff</li>
</ol>
<p>At the first glance, it seems the beauty of the site (or lack thereof) will most probably lead to the content being treated as junk. After all, looks matter a lot more than these guys think. But this thought doesn&#8217;t last long.</p>
<p>I don&#8217;t know whether it was Linux mailing lists or <a href="http://tldp.org/HOWTO/HOWTO-INDEX/howtos.html" target="_blank">TLDP Howtos</a>, but after a while, non-designed pages started to look a lot more sincere than pages in designed websites. The trust factor is possibly explained by the fact that these pages are mostly by &#8220;community&#8221; and non-profit orgs, as against designed websites which are owned by someone who had the money to pay for a good design (with 3D bulky images, it cost a lot back then), and are mostly planning to earn that back some way. Mostly, the words &#8220;evil money-making <a href="http://en.wikipedia.org/wiki/Megacorporation" target="_blank">megacorps</a>&#8221; come to mind.</p>
<h3>Undesigned websites</h3>
<p>I&#8217;d love to write a few pages on this, but Alex Bainbridge <a href="http://www.tourcms.com/blog/2007/11/07/undesign-is-this-how-travel-websites-should-be/" target="_blank">wrote about it perfectly</a> way back in 2007. I&#8217;ll just quote him.</p>
<blockquote><p>There has been some chatter about the concept of “undesign”. I struggled to find a definition of it that I could publish so I am going to come up with my own:</p>
<p>I now define undesign as a web design that has the following characteristics:</p>
<ul>
<li><strong>Copy / text is the user interface – </strong>The words, the size of text, the length of the sentence, the paragraph breaks – all of this forms the user interface (rather than creating containers with graphics – and placing text / copy inside those containers)</li>
<li><strong>Links are text based</strong> – not images</li>
<li><strong>There are no gratuitous user interface elements</strong> - I define gratuitous as those that either don’t provide information (for example stars on a star rating) nor assist with usability (for example lines between sections – acting as dividers).</li>
<li><strong>Usability is prioritised over visual branding - </strong>the design is engineered to be used – not admired like a piece of static art.</li>
</ul>
<p>So what you end up with is a mainly text website. It sounds dull but it isn’t.</p>
<p><strong>Some examples of undesign</strong></p>
<ul>
<li><a href="http://www.37signals.com/">37signals</a> – Homepage and corporate website. Very clearly the text copy is the user interface</li>
<li><a href="http://www.google.com/">Google</a> – search and search results</li>
<li><a href="http://www.amazon.com/">Amazon</a> – product page – there are very few visual elements on the page except for product images. Apart from that it is mainly text. Some graphics are used to divide sections – but these are kept to a minimum.</li>
<li><a href="http://www.cleartrip.com/">ClearTrip</a>- A travel website example. ClearTrip offer flight bookings for flights within India. The hint towards their design mindset comes from their name!</li>
</ul>
<p>The cleartrip homepage. See how there is very little imagery. This is travel undesign. Go and take a look at one of their flight results pages as well. Very clean. (While you are there – go one step further – the accordian checkout is interesting)</p></blockquote>
<p>The idea of undesigned sites has gained a lot of strength recently and portals like cleartrip and 37signals are sure helping the process. I hope this theme catches on as we move forward.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/08/website-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7: First Look</title>
		<link>http://blog.spathare.com/2009/08/windows-7-first-look/</link>
		<comments>http://blog.spathare.com/2009/08/windows-7-first-look/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 01:30:06 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[ui]]></category>
		<category><![CDATA[7]]></category>
		<category><![CDATA[aero]]></category>
		<category><![CDATA[bloat]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=171</guid>
		<description><![CDATA[I tried out the Windows 7 RC. Is it simply awesome just like everyone&#8217;s been yelling? Short Answer I am not as impressed as much as the rest of the community is. Long Answer I suppose most of the folks who have written about Win7 are using Windows Vista : The OS associated with most [...]]]></description>
			<content:encoded><![CDATA[<p>I tried out the Windows 7 RC. Is it simply awesome just like everyone&#8217;s been yelling?</p>
<div id="attachment_176" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.spathare.com/wp-content/uploads/2009/07/windows7_beta_boot_screen.png"><img class="size-medium wp-image-176" title="windows7_beta_boot_screen" src="http://blog.spathare.com/wp-content/uploads/2009/07/windows7_beta_boot_screen-300x214.png" alt="Windows 7 is here" width="300" height="214" /></a><p class="wp-caption-text">Windows 7 is here</p></div>
<h3>Short Answer</h3>
<p>I am not as impressed as much as the rest of the community is.</p>
<h3>Long Answer</h3>
<p>I suppose most of the folks who have written about Win7 are using Windows Vista : The OS associated with most rants since Windows ME. And this time, the online community strength has developed quite a bit. All-in-all, hearing that Vista was a bit of <a href="http://www.urbandictionary.com/define.php?term=PITA" target="_blank">PITA</a>, it seems reasonable to applaud Windows 7, since it uses marginally less resources, has a clearer interface and probably has a better UI than Vista. I wouldn&#8217;t happen to know, as my net duration on Vista has been just two minutes (at the Acer store).</p>
<p>In short, the bar set for declaring &#8220;good OS&#8221; is quite low when the comparison is against Vista. I certainly had mixed feelings, jumping into Win 7 from WinXP. Lets look at what&#8217;s good first</p>
<ul>
<li>The sidebar seems somewhat useful; I probably need to figure out what I need to constantly see, even while working. But I&#8217;m sure many will benefit from gadgets, especially on a wide-screen.</li>
<li>Aero looks elegant (better than XP anyway), but as a user of beryl/compiz on Ubuntu, aero seems to be a far crippled version of its open source alternative.</li>
<li>I right-clicked a folder in Windows Explorer and kept looking for &#8220;Search in this Folder&#8221; menu item for like five minutes! I just wasn&#8217;t able to comprehend how Microsoft could omit such an important functionality, only to realize later that it was always present at the top-right corner. Important features placed at good spots.</li>
<li>And boy was that search <strong>fast!</strong> Automatic indexing of files. I love it!</li>
<li>Inbuilt Voice Recognition is good. It took me quite a bit of time to coax the computer into writing a three-line document for me, but that&#8217;s mostly because of the Indian accent. I did manage a somewhat American accent and was thankful that I was alone while doing that, else it would have been a joke told for generations.</li>
<li>Media center <a href="http://gizmodo.com/5095414/10-really-cool-windows-7-media-center-features" target="_blank">has got loads of features</a>, but I don&#8217;t use most of them. I&#8217;m the sort of guy who prefers XMMS or Winamp 2.0, so yes, the tag &#8220;technologically obsolete&#8221; will not be wrong as far as music is concerned.</li>
<li>Increased Security. But that&#8217;s not always good. What&#8217;s good is configurable security levels: in line with many appeals to <a href="/2009/01/leave-my-security-to-me/" target="_blank">leave the security to end-users</a>. Let users control Windows rather than the other way round.</li>
</ul>
<p>And now for the sad parts</p>
<ul>
<li>Memory consumption: Too high for any OS, however modern. At a time when most activities of the common man are online (and the activities on the computer involve little more than word processors or spreadsheets), I do not see a reason why people should invest in a state-of-the-art processor and memory only to support OS bloat. No wonder people are still saying &#8220;no, thanks&#8221;. Its because XP already is so good at delivering what they need. (I do admit that I had exactly the same feelings about Windows XP when it was released. One can easily see how I cannot be the father of technology in any way whatsoever)</li>
<li>This also means that having Vista as a guest OS in a virtual machine is next to impossible unless you are on a very high-end machine. Win XP, in contrast, fits the bill here perfectly.</li>
<li>Placement of components on most windows and dialogs is new. I already talked about the &#8220;Search&#8221; feature before. Now take a look at the personalization dialog for example. Actions available on the left as well as at the bottom. Actions on the left are easily visible because of the XP experience. In addition, they are shaded with a different color (blue in this case). I could not notice the icons at the bottom right away.</li>
</ul>
<div class="wp-caption alignnone" style="width: 410px"><img title="Windows 7 Personalization" src="http://windows7news.com/wp-content/uploads/2009/05/windows_7_personalization-400x300.jpg" alt="Windows 7 Personalization" width="400" height="300" /><p class="wp-caption-text">Windows 7 Personalization</p></div>
<p>That&#8217;s about it. The rest of my problems lie in the fact that I installed the 64 bit version, which works perfectly by itself, but a <a href="http://www.google.com/search?hl=en&amp;q=windows+7+64+bit+software+issues" target="_blank">bunch of software</a> has problems working with it. I&#8217;ll write a post about that some other time.</p>
<p>The rants above on memory hog are quite lame in the long run, actually, as is the point of learning curve. Memory and processing power is always going to increase. And we did have to spend a few days in Windows XP to get used to the &#8220;new interface&#8221; after running Windows 98 for a long time, didn&#8217;t we? So overall, the issues I have listed are pretty trivial with the sole exception being virtualization: that running the Windows 7 OS as guest on most &#8220;home&#8221; machines is not very likely, atleast for a couple of years.</p>
<p>Its a good upgrade, but not a must-upgrade for now. Windows XP is good. Ubuntu Linux is better than XP. It is not as polished as Windows 7, but hey, it&#8217;s free! I&#8217;ll stick with Ubuntu for now, and keep trying newer stuff with the Win 7 RC for a few more days.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/08/windows-7-first-look/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Keystroke savers</title>
		<link>http://blog.spathare.com/2009/07/keystroke-savers/</link>
		<comments>http://blog.spathare.com/2009/07/keystroke-savers/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 09:14:05 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plumbing]]></category>
		<category><![CDATA[ROR]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=169</guid>
		<description><![CDATA[A peek at creating the Django Admin interface for any model has floored me completely. I did make a feeble attempt to create something similar for this in Java way back in 2005, but it is quite a daunting task. The integration offered by Django and RoR really makes one feel that not using these [...]]]></description>
			<content:encoded><![CDATA[<p>A peek at creating the Django Admin interface for any model has floored me completely. I did make a feeble attempt to create something similar for this in Java way back in 2005, but it is quite a daunting task.</p>
<p>The integration offered by Django and RoR really makes one feel that not using these frameworks is just the thing why software developers are in demand today. Hire fifteen to do a job in php which two could do using Django.</p>
<p>Some may say these facilities are just keystroke-savers. Agreed. The important question is why do you not want to save those keystrokes <img src='http://blog.spathare.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . A common application development (without the right kind of framework) spends a significant amount of time (I&#8217;d hazard a guess of more than 25%) doing plumbing work. Lets take a Java example for an &#8220;edit&#8221; screen, which shows the user already stored data, and allows him to make changes:</p>
<ul>
<li>Take data from repository, probably as a generic List
<ul>
<li>Oh yeah, connect to the DB first, and run a DB Statement in a try-catch block, right within your business logic</li>
</ul>
</li>
<li>Populate a data bean with all the data. All manually. If the DB cursor contains 25 columns, have a object with 25 attributes, 25 getters, 25 setters and populate all attributes one by one.</li>
<li>Send the data bean to the view</li>
<li>In the view, have hard-coded UI components for each attribute of the data bean to be displayed. For any related queries to be executed, hard code page links which will fetch those.</li>
<li>On event of user clicking OK, program a set of validations to ensure user has not entered bad values. Most of these are not business validations, but checks to ensure no bad characters are present in the input.</li>
<li>Populate user entered values obtained through form into a data bean</li>
<li>Code a SQL Update script which will take each value from the data bean and update the backend</li>
<li>commit (don&#8217;t forget that!)</li>
<li>Rinse-and-repeat for all related queries</li>
</ul>
<p>Any framework support (struts, spring, hibernate) is a keystroke saver in addition to being responsible for formalizing (a subset of) the programming for the application. Django and RoR simply take the integration between MVC to the next level. I had mailed a friend a few months ago about what Rails has:</p>
<p>1. <strong>Integration with AJAX: </strong>You see whether the type of request from the client (browser) is ajax or plain HTTP. You use those conditions to provide a specific response. In case it is an ajax request, you can play directly with elements rendered in the browser (e.g. Put text &#8220;Saved Successfully&#8221; in the information bar and blink it once). This integration, and resulting 5 lines of code is far faster than anything we would do by ourselves. (client side use ajax-specific library functions to send request, then check XML returned and perform activities in browser using javascript again). This integration is thanks to use of inbuilt prototype and scriptaculous libraries</p>
<p>2. <strong>Test Integration:</strong> I know that if a nice <strong>high-level </strong>test framework didn&#8217;t exist already, we would never get serious about writing real automated tests. It would always be like &#8220;lets develop this cool feature now that we have time&#8230; we&#8217;ll check out tests later&#8221;. Fortunately, tests are easy to write, and we can start small. (full page tests and all can be written later). We can also write Model level tests for ensuring relationships etc. N e a t.</p>
<p>3. <strong>MVC Integration: </strong>Neat MVC code, easy to write. Controllers and views nicely integrated. All variables declared in controller are directly available to views. Which should have always been the case, but in other barebones J2EE/php, you need to pass a data object explicitly, because MVC is not mandated.</p>
<p>4. <strong>Fixtures:</strong> Stuff to fill your &#8220;Test&#8221; database with data. Easy to write YAML (byebye XML). This will auto-run when you run tests, so your test database is ready with required data. If you don&#8217;t know yet, <span class="il">Rails</span> will auto-create dev, test, prod databases for easy demarcation. <span class="il">Rails</span> will also auto-clone the dev database schema to test database prior to loading fixtures.</p>
<p>The learning curve is a bit high, and I <em>am </em>spending a lot more time understanding the components in comparison to J2EE. Yet, given the benefits, I think it is well worth the effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/07/keystroke-savers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Wave: Information organizing outsourced</title>
		<link>http://blog.spathare.com/2009/06/google-wave-information-organizing-outsourced/</link>
		<comments>http://blog.spathare.com/2009/06/google-wave-information-organizing-outsourced/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 17:27:39 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[tools]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=155</guid>
		<description><![CDATA[Some may say that it is too late to blog about Google Wave. The applause which started on May 28 can still be heard and the Internet community has done everything but go down on their knees and bow to the awesome concept. For those who couldn&#8217;t manage time to watch the Wave preview, here [...]]]></description>
			<content:encoded><![CDATA[<p>Some may say that it is too late to blog about <a href="http://wave.google.com/" target="_blank">Google Wave</a>. The <a href="http://radar.oreilly.com/2009/05/google-wave-what-might-email-l.html" target="_blank">applause</a> which started on May 28 can still be <a href="http://www.techcrunch.com/2009/05/28/google-wave-drips-with-ambition-can-it-fulfill-googles-grand-web-vision/" target="_blank">heard</a> and the Internet community has done everything but go down on their knees and bow to the awesome concept.</p>
<p>For those who couldn&#8217;t manage time to watch the Wave preview, here are just some of the things it does :</p>
<ul>
<li>Acts like email when the recipient is offline</li>
<li>Acts like a realtime chat when the recipient is online</li>
<li>Maintains a common structure in one place (visible to, and editable by all concerned parties) instead of having copies in every person&#8217;s account</li>
<li>Allows you to add other recipients to a subset of a Wave or the whole Wave.The new folks can &#8220;Playback&#8221; how messages were exchanged</li>
<li>Allows visual plugins which can take the form of games, polls, etc. For example, instead of sending messages to each other, you can send Chess Moves which the plugin happily records and the game proceeds</li>
<li>Allows realtime collaboration on documents with changes tracked. Again, a common copy of document is maintained.</li>
</ul>
<p>While some skeptical glances are surely cast as to whether people will &#8220;embrace&#8221; this new concept of communication (as they are still stuck to SNDMSG program and have not been able to comprehend any other way to communicate all these years), the overall mood is that of joy, on having seen something truly profound, and having been promised that this will be available to everyone, for FREE, later this year.</p>
<p>The most obvious thing that hit me while seeing the preview was the way Google relentlessly pursues its mission. Remember Google&#8217;s <a href="http://www.google.com/corporate/" target="_blank">Mission statement</a>?</p>
<blockquote><p>Google&#8217;s mission is to organize the world&#8217;s information and make it universally accessible and useful.</p></blockquote>
<p>This is the way Google earns money: By targeting advertisements suited to your interests. How does it understand your interests? By organizing information about you.</p>
<p>So while the mission is technically about helping the world, it is also a lot about making profit. Of course, there is nothing wrong whatsoever in making profit by developing something which <span style="text-decoration: underline;">provides value</span> to the user. Microsoft earns by asking users to buy the product, Google earns by providing relevant advertisements.</p>
<p>Thus started the long journey of organizing the world&#8217;s information. First they gathered some trends of what we search based on cookie information. GMail was the next big boost as a lot of personal emails meant a lot of personal information. Orkut, Blogger, Google Talk, Docs, Sites, Reader, Youtube; each product added to its suite targets nothing but collection of information from users in exchange for some great services, for free.</p>
<p>Yet, Google would still require to organize bits of information from different applications to understand the &#8220;complete picture&#8221;. Google Wave, in a lot of ways, has removed that additional effort.</p>
<p>Wave is a communication structure that can be used anywhere. (Potentially) integrated throughout Google Applications and beyond, it provides a single point of communication. Email, chat, organization of albums, blogging, collaborating on documents, everything is either available in the Wave structure or can be derived out of it (by creating a new Wave and importing some specific elements). So now, Google does not need to  organize information about you. You yourself will organize it all using Wave. It is safe to assume that information which might have been dispersed around on a dozen different websites online (Google or others) will now be collected in a common Wave. With little or no effort, your whole life (henceforth) is likely to be captured in a handful of waves. I shudder just thinking of the advertising avenues that follow.</p>
<p>Google, you evil genius, you!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/06/google-wave-information-organizing-outsourced/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Jaunty: some problems and workarounds</title>
		<link>http://blog.spathare.com/2009/05/jaunty-some-problems-and-workarounds/</link>
		<comments>http://blog.spathare.com/2009/05/jaunty-some-problems-and-workarounds/#comments</comments>
		<pubDate>Wed, 27 May 2009 12:30:20 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[tools]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[ATI]]></category>
		<category><![CDATA[compiz]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[jaunty]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[proprietary]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=151</guid>
		<description><![CDATA[OK, so lets have a quick round of what could go wrong post-upgrade to Ubuntu Jaunty and how to fix it, fast. These are some of the problems I faced, and found all the solutions by googling. Just listing them out here. Hope this helps some of you. 1. Proprietary ATI drivers The first thing [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so lets have a quick round of what could go wrong post-upgrade to Ubuntu Jaunty and how to fix it, fast. These are some of the problems I faced, and found all the solutions by googling. Just listing them out here. Hope this helps some of you.</p>
<h2>1. Proprietary ATI drivers</h2>
<p>The first thing we come across is the video drivers which never were. The moment you <a href="http://wiki.cchtml.com/index.php/Ubuntu_Jaunty_Installation_Guide" target="_blank">try to install</a> proprietary ATI drivers for &#8220;old&#8221; cards (my ATI RadeonExpress 1250 happens to be one of those), you will get a system freeze. No graphics, no inputs, just some random colors on screen, which aren&#8217;t very pretty either.</p>
<p>Solution <a href="http://www.leong.nl/2009/04/ubuntu-jaunty-upgrade-with-atiamd-graphics/" target="_blank">here</a>:</p>
<pre>sudo /usr/share/ati/fglrx-uninstall.sh  # (if it exists)
  sudo apt-get remove --purge fglrx*
  sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon
  sudo apt-get install xserver-xorg-video-ati
  sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
  dpkg-reconfigure xserver-xorg</pre>
<p>You could probably create a script of this sort and save it in your home directory, so that when the system does fail, you can easily get into recovery mode (use the &#8220;Recovery mode&#8221; listed in Grub) and just run this script rather than attempt googling through Lynx, which I almost always end up doing. In case you plan to run this script in recovery mode, you don&#8217;t need the &#8220;sudo&#8221; command for any line since you will be &#8220;root&#8221; already.</p>
<h2>2. Screen Freeze with Compiz</h2>
<p>The open source drivers you install for ATI are known to create hassles for 3D graphics. Jaunty does allow you to enable Compiz (System Appearance -&gt; Effects -&gt; Normal / Best). However, I had a complete system freeze lot of times while I gave Compiz a try. I could easily reproduce the <a href="https://bugs.launchpad.net/ubuntu/+bug/364524" target="_blank">strace gedit bug</a> while 3D effects were enabled.</p>
<p>Solution: Disable Compiz (or downgrade <img src='http://blog.spathare.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<h2>3. VirtualBox fails to start</h2>
<p>The Virtualbox kernel module needs to be recompiled for the newer kernel in Jaunty. This problem is not specific to Jaunty (or even Ubuntu), but no harm in listing it here.</p>
<p><code>sudo apt-get install linux-headers-$(uname -r)<br />
sudo /etc/init.d/vboxdrv setup</code></p>
<p>The first line downloads appropriate Kernel Headers for the latest Kernel, which will be used by the &#8220;vboxdrv setup&#8221; command.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/05/jaunty-some-problems-and-workarounds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

