Skip to main content

JP - 19th Century Politics & 21st Century Economics

Can they co-exist?

  • Economics and Politics cannot be de-linked.
  • In the 20th century, Human kind has discovered what works best in Politics.

Role of State?

  • Public Order, Justice, Rule of Law
  • Accident of the womb doesn't determine the fate of a child.
    • Education
    • Health care
  • Infrastructure
    • Transportation etc.
  • Natural Resource Development
  • Social security


  • 2% of global economy


Success Story

  • Universal Adult Franchise on Day-1
    • a great adventure
    • an enormous expression of faith
    • US, Britain took ages
  • Retianed political freedoms
  • intense electoral competition
  • winners do not punish losers
  • elected governement is truly in authority
  • Maturity of federalism

India is a truly vibrant functioning democracy. Moderate growth of economy, and influencing the global economy

Dark Corners

  • Vote buying
    • Poverty, Illiteracy
    • Power struggle without reference to Ideologies/outcomes
    • Only change in players, no change of outcomes
  • Freebies after election
  • Dividing based on primordial loyalties
    • No sense that any party would make any difference
      • Emotional Purchase is only available


19th Century Politics, Medieval Politics and Modern Economics cannot co-exist. One of them will have to give way.

  • Comparison with China
    • Argument against Democracy is detrimental to economies
      • Autocracy - everything bad that happened
      • Democratization - everything good that happened
        • it's more than just voting
        • in some respects China is perhaps more democratic than India
  • What India needs
    • Art of democratization of our society
      • even after we have 7700 words in the constitution on this issue
      • We created over structured under powered local governments.
      • recognize the merit of de-centralization
        • link between authority and accountability
        • understanding of link between vote and public good
        • link between taxes and services rendered
          • tax avoidance is a national sport!
    • Rule of Law
      • impeccable system of law normative-ly
      • weak, in practice
      • simple elegant answers exist.
        • administrative forms comission
      • Culture of VIPs, cronyism, …
    • Fight Corruption
      • corruption in India is Ubiquitous!
      • answers are self-evident
        • institutional mechanisms
    • Electoral System
      • Proportional Representation
      • Presidential system
      • Old fashioned - first past the post system needs to go
        • One vote can change things
        • Vote buying will continue


  • We need to set the house in order today
  • What happens to one-sixth the humanity cannot but impact the rest of the world!


Answer-ability of administrators

Vicious cycle of politicians (get purchase) trying to change the system

bad politics drives away good politics

young people recognizing the centrality of politics

deep engagement of middle class

pursuit of personal goals along with pursuit of public good

politics - improved only by better and more politics, not revulsion

Telangana issue

Our federalism has matured remarkably

neither a cure nor a catastrophe

it's a practical solution some people are seeking

if language is not a marker, what's the new marker?

  • there's nothing wrong with having markers
  • some uniform principle

big city is seeking a separate state-hood

  • could happen with another state
  • how do we resolve it?

Once these things are resolved, it doesn't matter what happens.

  • the real answer lies in de-centralization

Rule of Law and Democracy

over-centralization has been our bane

decentralization is a tool of democracy

delivery of rule of law is weak

  • we have to set that right

freedom and economic growth are compatible - show this to the world!

Maoist insurgency

the only form of dissent is within the bounds of the constitution

state and the people have every right and duty to control it

hierarchy of principles - preserving of constitutional order

Positive experiences during your term as legislator

politicians are just another set of human beings. period.

  • do whatever it takes to stay in power
  • they are not villians
    • political framework


We have the technology. The world is truly flat. We have the resources, to be able to fulfil all the basic needs of all the people and the potential of the country.

We lack are institutions, right kind of politics. They take a lot of nurturing. Let us be engaged. It is our future that's on the line. Economic growth is spurring changes in the country. Communications revolution is helping bring change. The question is, What direction of change? I ask of you, to make a difference to the way the Indian political trajectory takes shape.

Bookmarks [2010/11/03]

  • Alex Gaynor – The continuous integration I want

    tags: python, code, software swarm to run tests for Django Apps for example. For a Django:ideas:software:solutions: application that wants to work on Django 1.1, 1.2, and all of those interpreters, databases, and operating systems you've got over 100 configurations.

Raising Windows using Python

Posting a small snippet of code, that I've been using for months now, on the request of a friend 1.

It basically checks for open windows of a program and brings them to the foreground or starts the program. I use it for my 3 most commonly used programs — Emacs(Mod4+E), Firefox(Mod4+F) and the Terminal(Mod4+T). I'm using a neat tool called xdotool 2 to search for windows using titles.

  • Mod4+E is mapped to ~/bin/ emacs

Similarly, for firefox and terminal.

#!/usr/bin/env python
import subprocess
import sys

if len(sys.argv) < 2:
    print "Usage %s window-name" %(sys.argv[0])

program = sys.argv[1]

# Having different variables helps, in case of some programs.
window = program

# search for windows titled "window"
search = subprocess.Popen("xdotool search --class %s" %(window),
			  stdout=subprocess.PIPE, shell="FALSE")
search_output = search.stdout.readlines()
print search_output

search_output = [each.strip() for each in search_output]

# Raise the first window or start the program
if len(search_output) is not 0:
    subprocess.Popen("xdotool windowactivate %s"
		     %(search_output[0]), shell="FALSE")
    subprocess.Popen(program, shell="FALSE")

Feel free to use it as you like. :)

Any improvements and suggestions are welcome.



dusual on twitter


xdotool - Homepage

WP to org-mode + hyde + disqus

Hello World!

My first post at my new home. Obviously, it was going to be about the move. You knew it, didn't you? ;)

Well, I got some space on the web, along with a few friends. Thanks to my org-mode fanboyism, I now use it to maintain my homepage. I've successfully completed import of my Wordpress posts and comments. :)

I now use

  • Emacs and Org-mode 1 to write my posts.
  • org-hyde.el 2 to publish html in a hyde parse-able format.
  • hyde 3 to convert the html pages into a blog.
  • org-publish to publish other pages in my home page.
  • git 4 and a bash script for publishing.
  • Disqus 5 for the comment system.

Yes, I know it sounds rather complicated. :) But, now that I have it set up, it's not all that difficult to make a post. It's just a matter of one git commit and push. I need to fine-tune the shell script a bit, though.

How I moved

The move definitely wasn't trivial. I guess, I could've started afresh but, what fun would that have been? ;)

This roughly how I did things – in the order that I did them.

Choosing hyde

I looked at a handful of options to maintain a blog, using org-mode — blorg, org-jekyll, blorgit, ikiwiki. After some assessment, I decided upon org-jekyll and jekyll. But then, I accidentally stumbled upon hyde.

I decided to go with hyde instead of jekyll 6 since

  1. It's in Python. I didn't want to start figuring out Ruby, now.
  2. It uses Django templates 7. And Django is something, I wish to learn. I've started with that. :)

Clean up org-jekyll to work with hyde.

I then "ported" org-jekyll.el into org-hyde.el.

  • removed stuff like categories and languages, that I was not going to use.
  • Added some code w.r.t timestamps, from org2blog, to it, so that my older org2blog posts could be easily ported.

Clean up older org2blog posts

org2blog can post either buffers or subtrees. I had posts in both formats. I converted all of them into subtrees of one tree, using some Python.

Import older posts

This was the most painful posts. Importing all the old posts from Wordpress. org-mode really needs a XHTML/XML importer!

I did all sorts of crazy stuff to get this done.

  • used pandoc to convert html to markdown
  • wrote some throw away regex code to convert markdown to org-mode.
  • wrote more regex code to convert html to org-mode.
  • hacked up a lot of stuff and finally got all the posts into org format! :)

A workflow for publishing

Set up git along with some bash code, to have a mechanism to minimize the effort in making a blog post. All this is still a lot of work, compared to the ease with which I used to use org2blog. That's partly due to ssh restrictions in my hostel.

CSS clean-up

I'm using the same CSS for org-mode published files and hyde published files. I had to clean up my hyde templates and the CSS to make both of them look similar.

My first tryst with CSS hasn't been all that bad. :)

Installing disqus and importing comments

Using disqus was one thing, I wasn't sure I wanted to do. I would've loved it if comments could be managed with org-mode too. ;) 8

Anyway, I finally decided to go with it, and I'm quite happy with it. :)

I loved the ease with which comments could be imported.

  1. Import Wordpress comments using the export xml file.
  2. Generate a CSV file containing the URL map – mapping the newer urls to the older ones.
  3. Upload the CSV file and tada!


I got to learn quite a few things, during all of this. I also have some bits of code, that I can share with you, in case you are interested. Leave a comment, if you wish. :)

I'm just hoping to reduce the additional steps required in publishing to ensure it doesn't add to my already erratic blogging habits.



Org-mode - Homepage


Org-hyde is a port of org-jekyll.el


Hyde - Github


Git - Homepage


Disqus - Homepage


Github - Jekyll


Documentation - Django Templates


I feel it is capable of doing that. It's just my incapability that prevented me from trying it out.

Augmented assignment in Python

If you are new to Python, you should probably stop reading here. But, if you have used Python and numpy, then read on. Before, that try these bits of code.

import numpy
a = numpy.array([1,2])
a = a + 0.5j
print a

The "same thing", in a slightly different way.

import numpy
a = numpy.array([1,2])
a += 0.5j
print a

Both the code blocks, look really the same, until you look carefully. Under normal circumstances a = a + b and a += b behave exactly similarly, and we really don't need to bother about the differences between them.

But, +=, which is an augmented assignment operator, actually tries to perform the operation in-place, unlike the other statement where + actually returns a new object which is again being referenced by the name a.

But, when dealing with numpy arrays, this will lead to trouble. When assigning to an array, it's dtype is not changed and hence the trouble.

The right way to use the augmented assignment operator, would be:

import numpy
a = numpy.array([1,2], dtype=complex)
a += 0.5j
print a

The same thing is explained in this thread. Also, Thanks to Bhanukiran for asking me this.

Who I am

I'm not the body that dies
on missing a beat or one breath.
I'm not the mind, so fickle,
I'm in heaven one moment, and next in hell.

I'm the moments I live,
not the ones, in which I just exist.
I'm the dreams I dream,
those fulfilled, and not just yet.

I am the occasions I grace
and those, missed, where I am.
I am the words I spoke,
those I wrote, and those I will.

I am all that I create,
and the stuff that I catalyse.
I am the love I receive,
and all of it that I spread.

Don't cry, when I die,
for I never really will.

Some fun from #org-mode

This is a conversation from #org-mode, published without permission from plovs, BerntH and bremner. If any of you want any of the content removed, I will do so.

<punchagan> hi all

<BerntH> hi punchagan [18:36]

<punchagan> BerntH: ever used/tried blorg or blorgit? [18:47]

<punchagan> I like the way org-publish works, but blorg exports one org file as a blog. If blorg were to be re-written on top of org-publish, how should it be done? use one file per post or just one file for the whole blog? [18:52]

<bremner> punchagan: another option is to use ikiwiki and use the org-mode plugin to render pages. This is what i do, although only a bit of the site is in org. [19:44]

<punchagan> bremner: can I have a look at your site? [19:45]

<bremner> sure, it ain't pretty, but: [19:46]

<punchagan> thanks. I'll keep this in mind. [19:47]

<punchagan> I just loved the way this site looks and behaves –

<bremner> well, the side bar at least is possible with ikiwiki. Other than that I suppose it is mainly a matter of css [19:48]

<BerntH> punchagan: nope [19:49]

<punchagan> ok BerntH [19:50]

<plovs> punchagan ikiwiki does have an org-mode plugin [19:56]

<punchagan> plovs: yes, bremner told me that and I've seen on Worg too. :)

<plovs> punchagan ah, yes, sorry

<punchagan> plovs: it's alright. [19:59]

<plovs> punchagan another possibility is org2blog, which uses wordpress

<punchagan> plovs: I'm the author of it. :D

<plovs> lol, ik, that punchagan [20:17]

<punchagan> lol

<punchagan> plovs: were you kidding? or serious? [20:19]

<plovs> punchagan sorry to say i was serious, but it will not happen again :-)

<plovs> i really like org2blog, played with it yesterday

<punchagan> plovs: no. I was just wondering if you were playing around with me. :P

<punchagan> I'm happy some one thinks it is useful.

<plovs> lol, no, i just didn't recognized your name, although it is kind of hard to miss [20:21]

<punchagan> I hope you don't mind, if I make this anecdote public?

Bloggerstock: Do-over

This post is by Dominick Mills, coming to us, thanks to Bloggerstock. Dominick aka Lije blogs at Lije's Mindstate. My post on this month's Bloggerstock topic will appear at That Ain't Kosher.

And here is Dominick's post for you

Hello I'll be talking about a period in time I would like to do-over, however I couldn't think of anything so I went in another direction….I'd like to thank Bloggerstock and punchagan for the opportunity leak my thoughts on this page….

I hope the readers understand that my views does not reflect those of the host's page..before I get started though Let me take the time out to explain what Bloggerstock is all about. Bloggerstock is the brainchild of a small group of bloggers who connected on 20SB. The idea comes from the concept of a blog-swap in that maybe we could create our own kind of event where we all wrote posts to be posted on the next person’s blog. Essentially forming a blog-ring.

There's a lot of things in life everyone would like to relive and do differently..I've been giving it some thought and it's been racking my brain for the whole month now…I came to the conclusion that I have nothing I'd like to really do-over…

My reason for this is that I wouldn't be this person I am…and I wouldn't alter it in anyway…I love what I've become…if it weren't for all the good and bad that occurred during my life time..I wouldn't even be here writing this….or I wouldn't even have the same goals and all my aspirations would be small…I know this all sounds weird but giving the fact that I am a weird person, those who know me, this is expected…I believe in things happening for a reason and without these occurrences we'd be something totally different, and

maybe not becoming what we're suppose to be in life…sometimes we look at situations and think, " Just maybe if I had done this… or maybe if I hadn't…" even if my decisions had made into a bum on the streets I think I would feel the same way…truth is we all have regrets..learning to live with them is the hardest thing to do..we tend to get caught up in the moment and want to relive those things..either for the good or the bad…but we fail to realize that it is those things that build character not for today but for our tomorrows.

Whether it's falling for the wrong person, being back stabbed from a friend, getting hoodwinked from a stranger, or missing out on an opportunity….all of these are just life's lessons being taught..with that being said you should never sulk over a decision we've made…in the end we're our own cause of grief or happiness so don't whine about it stuff that's happened….accept what has happened and move forward…don't hold on to them, but don't forget them either…these are turning points in our lives so appreciate them..

Well that's all I have to conjure up on the matter..though it kind of went against the topic a bit but hey am stubborn lol.. once again I'd like to thank punchagan for allowing me to feature on Rustic Reverie and also Bloggerstock for providing me with the opportunity to express myself on a fellow blogger's page.. here's a link to my page to view my featured blog post

Notes from Pycon

Just back after attending PyCon India '10. It was not as exciting as I hoped it would be. That's generally the case with any conference I attend. (I guess, I expect too much from them. :P)

The keynote by David Goodger (pronounced like Badger :) was "Good". It was a very simple one talking of how to get Python into the workplace. His simple recommendation was to use Python if we saw any opportunity where it could be used, without bothering about permissions, convincing people etc. "It's better to ask for forgiveness, than for permission." He spoke of myths around Python – scripting language, dynamic language, too much white space, toy language, nobody uses it. He concluded the talk, by saying mentioning Indian driving to be an indication of some quick reflexes that we Indians have. ;) On the whole it was an enlightening, humorous and enjoyable talk.

I didn't attend too many of other talks. Amongst the ones that I did attend, I particularly liked the one by Asim Mittal on using the Nintendo Wii with Python.

On some thought about my experiences at conferences, I think conferences shouldn't have any talks at all. Or atleast, I shouldn't be attending conferences for talks. They are an excuse to catch-up with people. Conferences should have only lightning talks of 10 mins and sprints. Talks, with an extensive explanation of stuff that can be easily found on the web, are a waste of time.