<?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>I-Am-Bot &#187; blog</title>
	<atom:link href="http://iambot.net/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://iambot.net</link>
	<description>Code, technology and life</description>
	<lastBuildDate>Tue, 10 Jan 2012 03:40:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Rockstar &#8211; A review</title>
		<link>http://iambot.net/2011/11/rockstar-a-review/</link>
		<comments>http://iambot.net/2011/11/rockstar-a-review/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 10:02:20 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=518</guid>
		<description><![CDATA[Watching a 160 hour movie at 9:30 in the night isn't something I was particularly looking forward towards. But it was "Rockstar", and there is NO WAY a Hindi movie with such a cool title can suck! I wish I can say that after entering the cinema hall one fine night, and leaving it the [...]]]></description>
			<content:encoded><![CDATA[<p>Watching a 160 hour movie at 9:30 in the night isn't something I was particularly looking forward towards. But it was "<a href="http://www.imdb.com/title/tt1839596/">Rockstar</a>", and there is NO WAY a Hindi movie with such a cool title can suck! I wish I can say that after entering the cinema hall one fine night, and leaving it the next day.</p>
<p>Rockstar is <em>that</em> kind of a movie. It could've been much more than what it ended up being. I would love to say "spoilers ahead", but there is not much of a story to spoil. Ranbir Kapoor as Janardan Jakhar is a college guy, passionate about music but clueless as to how to make it big. He lazes around the college canteen, where its owner tells him - how can you be a great artist when you haven't suffered in life? He then goes on to quote a list of great artists, the ones posted in JJ's wall. JJ relents, decides he has to first fall in love, break up, feel the pain in order to become a better musician. Then the age old tale of falling for the girl, but only it isn't real the first time. </p>
<p>The initial 45 minutes are delightful in introducing the characters and how JJ tries to get close to girl just to fall in love. The neat and clean girl turns out to be a "junglee jawani" and they end up having fun watching cheap flicks in shady cinemas, boozing on cheap alcohol and what not, all before the girl's marriage. After the girl is gone, he is thrown out of his house and spends a few years playing and singing in Mosques, parties, Temples and all. Then he is slowly transformed into a bad-ass rocker Jordan - who shouts, screams, and in general is the black swan of JJ.</p>
<p>The second half of the movie is a drag - clichéd dialogs, repetitive scenes, grinding one's patience. Instead of a complete review which you can read on numerous sites online, here is:</p>
<p><strong>What I liked</strong></p>
<p>1) Fun filled 45 minutes at the beginning</p>
<p>2) Shades of Grey in the rockstar's life - having an affair with someone who is married and his sometimes forceful need to get physical</p>
<p>3) Decent performance by Ranbir</p>
<p>4) A mixture of different genres in the soundtrack. The Sufi song is great!</p>
<p><strong>And what I didn't</strong></p>
<p>1) Second half of the movie completely clueless!</p>
<p>2) Last 30 minutes a curse! Too many clichéd dialogs, scenes (including the class "Its a medical miracle!"), generally direction-less story telling</p>
<p>3) Did I say the movie is 160 minutes long? Let me say that again - 2 hours and 40 minutes.</p>
<p>4) Where is the soul of the rockstar? Pain is portrayed, but what about the process of how he writes lyrics, makes music. Even artists need preparation, you know.</p>
<p>5) People love an angry rockstar, but there should be another face too. Ranbir puts up his "I hate everything in the world" face for a better part of the movie, and it gets a bit too monotonous and boring</p>
<p>6) The crowd thronging him everywhere, girls falling heads over heels for him, everyone wanting a piece of him, etc seems a bit overdone. Doesn't happen the way its portrayed in India (and definitely not the way shown in the movie "Boys")</p>
<p>7) And the biggest letdown was that the movie was a letdown! I had high hopes, especially after enjoying the initial half of the movie. Too bad the team couldn't finish it off slickly as well.</p>
<p><strong>Verdict</strong><br />
Rockstar - doesn't rock much. Enjoyable first half, avoidable second half. Great promise, poor execution. 6/10</p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2011/11/rockstar-a-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How well do you know your government?</title>
		<link>http://iambot.net/2011/02/how-well-do-you-know-your-government/</link>
		<comments>http://iambot.net/2011/02/how-well-do-you-know-your-government/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 13:39:21 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=482</guid>
		<description><![CDATA["This Government sucks!" "The Prime Minister is a mere puppet!" "Scams in billions of dollars when half the people are still starving" We've said it, heard it, read about it on papers, seen it on news channels. And I am, in particular, one of the leading proponents of spreading such 'political awareness' on Facebook and [...]]]></description>
			<content:encoded><![CDATA[<p>"This Government sucks!"<br />
"The Prime Minister is a mere puppet!"<br />
"Scams in billions of dollars when half the people are still starving"</p>
<p>We've said it, heard it, read about it on papers, seen it on news channels. And I am, in particular, one of the leading proponents of spreading such 'political awareness' on Facebook and Twitter. Yes, its all true. This country is slowly crawling into a hole. As citizens, we have every right to rant about it. But today, I paused and asked myself a single question:</p>
<p>"Do you know the name of the municipal councilor of your area?"</p>
<p>And I was left with no answer. Worse, I realized the actual implications of the question. It isn't just about that single question. Its about knowing what your responsibilities as a citizen are. Its about knowing the backbone of our country. Its about knowing the very ministers and politicians WE, the people, elected. We hire them and pay them to run the country for us. And they suck at it big time! Not just this government, but almost every government that we've had since Independence has been equally bad.</p>
<p>So where does the fault lie? If the politicians are taking the country for granted, isn't it time the tax payers stepped in and do something about it? If a company hires under performing employees all the time for years together, who is to be blamed - the bad employees, or the company itself? Yes, we citizens really don't have many choices - we either get corrupt politicians, or even more corrupt politicians. Unfortunately, we have to make the best with what we have, rather than whine about lack of choice. No matter which government comes to power, we have to remember that we are the ones getting screwed badly! The honest, tax paying citizen is taken for a ride, and the corrupt politician with criminal cases pending against him piles up millions after millions of our money.</p>
<p>As a citizen, we not only have a duty to vote, but also a duty to make sure that people we elect are doing their jobs properly. Election isn't only about going to the booth every 5 years, but to keep track of their performance and to make sure that whey they suck at it, they bloody well know how badly they suck! And what better way to inform your area councilor or the panchayat incharge that something isn't the way it's supposed to be. Yes we will be ignored. Yes, we might even be shouted upon or abused. But look around! The world can't get any worse that it already is. People are turning into animals. Common sense is neither common, nor does it make sense to a whole lot of people! We get the same treatment from people on the roads, in buses, in shopping malls, and in beaches. It really cannot get any worse. If nothing does work, we will actually have the satisfaction that we tried. And if a hundred people keep trying, things might just improve, considering elections are around.</p>
<p>Thankfully, the Tamil Nadu Government sites are pretty informative. So I finally found out that my area comes under the Maduravoyal municipality, found out who the department heads are, and more importantly, got a number and an email address to forward my complains to.  Will it work? Probably not. But should I still go ahead and do it? Absolutely yes! The lesson learnt from this epiphany - Don't rant about how bad things are if you aren't going to try and change it. </p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2011/02/how-well-do-you-know-your-government/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A sea of change</title>
		<link>http://iambot.net/2011/02/a-sea-of-change/</link>
		<comments>http://iambot.net/2011/02/a-sea-of-change/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 03:51:29 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=484</guid>
		<description><![CDATA[Its been almost a year since I last wrote something on this blog (not considering those little scripts as posts). And no, I haven't taken up the popular will-write-n-number-of-posts-a-month resolution. Rather, I want to transform this tech blog into my only blog where I also pen my thoughts on a variety of subjects like politics, [...]]]></description>
			<content:encoded><![CDATA[<p>Its been almost a year since I last wrote something on this blog (not considering those little scripts as posts). And no, I haven't taken up the popular will-write-n-number-of-posts-a-month resolution. Rather, I want to transform this tech blog into my only blog where I also pen my thoughts on a variety of subjects like politics, music, movies, fiction, books etc. I realized ANY writing is good, as long as one keeps writing. Also, since I've started fiddling around with <a href="http://www.apple.com/ilife/garageband/">Garageband</a>, I'd like to post a few of my noise generating sessions online. And this place is going to be it.</p>
<p>And to keep up with the attempt to change, I will also be creating a custom theme for this blog. It will take months, but will be worth the effort. A few scripts like phpUserAuth which a few people *might* be using will be updated in the coming weeks, provided my regular job gives me a breather.</p>
<p>To change.</p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2011/02/a-sea-of-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Status Update</title>
		<link>http://iambot.net/2010/03/status-update/</link>
		<comments>http://iambot.net/2010/03/status-update/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 15:40:17 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=316</guid>
		<description><![CDATA[It's been a while since I posted anything worthwhile. This is a brief update on what I'm upto and what plans I have for this blog 1) I'm planning a minor update to dScript - to fix a couple of minor bugs, and make it easier to customize (Done!) 2) Work has started on a [...]]]></description>
			<content:encoded><![CDATA[<p>It's been a while since I posted anything worthwhile. This is a brief update on what I'm upto and what plans I have for this blog</p>
<p><del datetime="2010-05-23T03:19:08+00:00">1) I'm planning a minor update to dScript - to fix a couple of minor bugs, and make it easier to customize (Done!)</del></p>
<p><del datetime="2010-05-23T03:19:08+00:00">2) Work has started on a comprehensive PHP User authentication system - something that is simple, secure and has loads of customization options. I know there are a lot of options around, but I was looking for something that is pure OO and is extensible. It will require PHP 5+ compiled with PDO. Will be released with an appropriate open source license once done</del></p>
<p>3) Will release an PHP API for <a href="http://znisms.com" target="_blank">ZNISMS</a> service. It is by far the best bulk SMS service I've used and I would heartily recommend it to anyone searching for such a service in India.</p>
<p>Other than this, I've finally figured out a bit more about JavaScript than before and even though they aren't new, I will put up those as code snippets for those who might find it helpful.</p>
<p>Code On.</p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2010/03/status-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Of application rewrites</title>
		<link>http://iambot.net/2010/01/of-application-rewrites/</link>
		<comments>http://iambot.net/2010/01/of-application-rewrites/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 07:36:24 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=304</guid>
		<description><![CDATA[What will you do if you write a shitty application? And what will you do when you find that you have written a shitty application? I've been haunted by these questions for the past two days, and yes, I'm guilty as charged. Before someone thinks I sound like someone who knows programming, let me clarify [...]]]></description>
			<content:encoded><![CDATA[<p>What will you do if you write a shitty application? And what will you do when you <em>find</em> that you have written a shitty application? I've been haunted by these questions for the past two days, and yes, I'm guilty as charged. Before someone thinks I sound like someone who knows programming, let me clarify - NO I DON'T. And that is exactly the reason for this post.</p>
<p>The application that I worked on wasn't something big and impossible. It was a simple school management system, written in PHP/MySQL with a liberal dose of javascript thrown in. Unfortunately, it just didn't make it to the servers, and I abandoned it about 6 months ago. Much has changed in that time, and thankfully. I now <em>really understand</em> the need to follow Software Engineering processes, the most important being <strong>Design</strong>. So why did my team, and I choose to ignore something we've actually studied in college? Were we dumb enough to think that we wouldn't be needing it? Probably. Were we not actually able to understand why we will need it? Possibly. The only reason that readily comes to my mind was because we never knew that we will actually need it.</p>
<p>Software Engineering courses in Indian colleges are often the most boring, monotonous and brain-dead courses among the lot. Throw in a thick rimmed, thick skulled man in his 40's who has never worked on a real application all his life, to <em>teach</em> it and you have a 2012 waiting to happen. And it often does. We students cram the Pressman's book a day before the exam, answer standard questions about SDLC, Testing, importance of SE, and get away with it. And that is that. We are never taught first hand on why we need it, how we should use it, how badly it will affect the software if you don't follow certain principles, or why learn SE at all! Those are left to the student to discover after a few years, just like I have.</p>
<p>So what exactly was my application? It was</p>
<ul>
<li>Very simple and modular</li>
<li>Web based for universal access</li>
<li>Not that huge or complex (Our team of 4 completed it in 3 working months)</li>
<li>Architecturally simple</li>
</ul>
<p>Then why did we screw it up? We did everything that we could think of. We first gathered requirements, refined them, thought we did some design, then went on with the coding. Too bad we thought we designed it! We did not. Looking back, I feel really stupid about some of the decisions we took based on our understanding of the system. We knew we had to design it properly, but we didn't take it seriously as we didn't really know its consequences. I am no programmer, and if I feel my app is shitty, it really has to be!</p>
<p>Where did I go wrong?</p>
<ul>
<li>No framework</li>
<li>No separating of logic from presentation. It was all embedded in a single file in true PHP fashion</li>
<li>No proper design of the entire system. No HLD/DLD</li>
<li>No glue. The code looks like disjoint pieces of a puzzle</li>
</ul>
<p>What I did right?</p>
<ul>
<li>Probably the architecture</li>
<li>With PHP/MySQL</li>
<li>Revision Control which was never used seriously</li>
</ul>
<p>So the question beacons - When does one decide to rewrite/redesign an application? I need not have decided on redoing the whole thing. I could have as well patched it up, and sold it as many still do. It would still work, can be understood by almost any developer, and I wouldn't have to waste time and money on a rewrite. Decorate shit and it will still be shit. If one doesn't learn from mistakes at the first instance, he/she probably never will. So I finally did what I should have done in the first place:</p>
<ul>
<li>Designed a breakdown of the entire system into modules and the coupling between them</li>
<li>Decided against going for a fully blown framework like <a href="http://iambot.net/2009/07/symfony-framework/" target="_blank">Symfony</a> as that will add unnecessary complication to a simple application, but rather write my own simple framework to separate code from design</li>
<li>Chose mysqli as the database driver and developed a simple wrapper around it</li>
<li>Added a logging system which was entirely missing</li>
<li>Work on a custom design from scratch, which will also work on portable devices</li>
<li>Write a generic framework for the reporting module with custom graphs and charts rather redo the entire code</li>
<li>And many many more...</li>
</ul>
<p>The point I'm trying to make is, no one is perfect to start with. As a programmer, I was happy with my code 6 months back. Now I despise it. It is not something I can work on anymore. So rather than choosing to ignore the mistakes, swallow your ego, acknowledge the mistakes and redo it. Yes it is hard, painful, time consuming and costly. But software is a continuous process and the continuity is there for us to learn, undo and redo things the right way. I bet I will find blunders again after 6 months, but they will not be as bad as those I've found now. Maybe then, I can afford to patch things up, and be on my way.</p>
<p>For now, back to <em>Software engineering : a practitioner's approach by Pressman</em></p>
<p><em>P.S: This post is more of a reminder to myself than to others.<br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2010/01/of-application-rewrites/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

