Solving Political Debates with #Code: India's Citizenship Amendment Bill, 2019

Solving Political Debates with #Code: India’s Citizenship Amendment Bill, 2019

Social media has made us all a little too toxic. How did we get here? When was the last time we appreciated the public policy designed by the political parties that we didn’t support?

1 Like

Pleasantly surprised to see a socio-political post in HN :slight_smile:
I do not, however, agree with the part where you claim that CAB does not discriminate on the basis of religion.
By clearly defining the accepted religion of persecution, and leaving out Islam (which constitutes the biggest religious minority in India), doesn’t it explicitly discriminate on religious grounds?


that is a strange spectrum you have here… might want to read up more here

1 Like

Technically no.

Here’s how:

There can be only 1 majority religion in a country. Right?

Also, technically, majority religion cannot persecute its own in the name of religion. Right?
(Except sub-denominations, as explained in the story)

So, if a country C has majority religion R, only !=R can be persecuted.

Therefore, only !=R can claim religious persecution. That is what the CAB is.

If you notice, I didn’t name any religion. Nor was it needed to make the point.

That’s the point of the story - Bill does not discriminate on basis of religion.
(Although it does discriminate on the basis of region - but that’s what national borders already do. Right?)

1 Like

Thanks, @lyv,

I see that the spectrum has a 2-dimensional depiction to make more sense. My story, in this context, used a broad brush to differentiate between left and right.

Since the objective behind the story was not to get into what is left and what is right, but more about how their respective adherents act under conducive and non-favorable situations.

1 Like

I appreciate what you’re trying to do. I do believe the way we think about software can clarify conversations in broader society. However, I think it does not necessarily lead to an objective outlook. Still, I definitely invite these kind of analysis if for no other reason then I am a programmer who is also very interested in socio-economic-political things! :slight_smile:

I do disagree though with your point. The bill, to use the language of coding, has hard coded which religions are acceptable and what are not. What you’re describing is a function that take as an input a country and a person seeking asylum, and outputs whether they should be aloud to immigrate in. In JS:

const shouldComeIn = (country, person) => country.majorReligion !== person.religion

If this function was enshrined in the law, then I think there is argument that this is not targeting a particular religion. Unfortunately it’s not. Of course it could easily be done, which is why the bill does feel intentional in targeting Muslims. To give an analogy, if we thought people of category x tend to steal, it wouldn’t be okay to write into law that all x people should be arrested. This would of course target innocent x people. Our law produces a function that says if you steal you get arrested. We don’t hard code the kind of people who get arrested.

The other piece that’s missing is Nepal from the list of neighboring countries. If we include Nepal, then Hindus are the majority religion. They should not be included in CAB, too. The explicit choice to hard code not just the religions, but the neighboring countries (as the Muslim dominant ones) makes it discriminatory.

If the act was changed to replace the hard coding with the function above, then I can see a possible argument that the law is non-discriminatory. As it stands though the law explicitly whitelists certain religions, which means it blacklists others. Therefore, as it stands it does discriminate.

Hey @anirudh-eka,

Thank you for your encouraging words. I’m a socio-economist first and a programmer later (like much much later…lol). So, it is good that we can discuss semantics.

Let’s use the word eligible instead of acceptable. The eligibility criteria is religious persecution.

I can’t tell you how proud I am to hear this from a real developer.

I tried looking up religious persecution in Nepal but could only find ethnic ones. Still, I agree with the principle that limiting countries eligible is discriminatory. Even called out in the story. I choose to think of it as a pilot program. In the light of the Assam protests, don’t you think that pilot programs have limited the unrest?

This is my area of expertise, unlike code, so let me help you here. Whitelisting A does not mean blacklisting of !=A. The Bill (now Act) does not disallow folks from the majority religion of the applicable countries from applying to be citizens. They totally can. No fast-track though. Since the grounds are religious persecution, I guess asylum-seekers should get priority. No?

All in all, wonderful feedback. My point was simply to highlight that if the law is carried out in the letter of the spirit, it is not discriminatory. I think it is more to do with the intelligentsia’s distrust of the current government’s motives that make it more cautious as to how the law can be misused.

Let me know what you think.


Unfortunately, it’s not. The eligibility is being Hindu, Sikh, Buddhist, Jain, Parsi and Christian. The eligibility criteria is religion, not religious persecution. I think what your suggesting is those 5 religions are proxies for the religiously persecuted. That’s a premature decision. Decision are necessary in software, but at least in Agile, we try our best to push them to the last responsible moment. For good reason. By pushing decisions later you have the opportunity to let unknowns become clarified. An informed decision is always better. There are a lot of unknowns here. Especially when the decision makers are in Delhi and the people who will be affected are in the listed border countries and the regions adjacent to India. As a developer I would move the decision point closer to the time when information is known. That would be in my mind when an individual tries to immigrate. At that moment, we can get a closer understanding of the individuals context and determine if they are persecuted. This would get at all of the nuanced situations you are hoping for to be include. If we continue with the current approach our white list would get insanely long. Imagine, one day the act says things like,

Hindus in Bangladesh, Hindus in Pakistan, Hindus in Afghanistan, Sikhs in Pakistan, Buddhists in Bangladesh, Buddhists in Pakistan, Muslims in China, Shia Muslims in Afghanistan, Muslims in Sri Lanka, oh also what about Muslim Nicaraguans?!..

It’s a common anti-pattern in software. The rules need to be more nimble. Make more generalized rules about how you determine if someone is persecuted, instead of specifically dictate who is persecuted top down. What I am saying is not something novel. Applying for refugee status is a common concept in most of the world. It’s imperfect of course, but I would argue goes further in getting at the nuance of what is persecution.

This directly connects to your statement about Nepal. The truth is it doesn’t make too much sense to me to start researching about Nepal for counter-examples because the truth is a person trying to immigrate is too contextualized. Neither of us are really in a place to determine whether people are persecuted or not. And honestly if this was software, if my boss put me in charge of deciding that I would push back on that responsibility. How could I possibly know? Do I have to make that decision when the only information I have is the internet? It’s bound to be wrong in many cases. I would rather push that decision to someone who can look at a particular person’s individual case. I would feel more comfortable defining in some broad sense what qualifies as persecution and then allow for a localized implementation.

I should’ve been clear. I’m using the words whitelist and blacklist in a programming sense. I understand blacklist has a political meaning too, which is of course banning certain individuals from a country. In programming black list is simply the negation of whitelist.

On another note if you’re interested in how programming can help think about justice in general, I wrote this article on medium. Let me know what you think!

Seeing your piece here is inspiring me to move that one from medium to here too!

Also, just to be clear, though I’m arguing for a more nimble law in regards to immigration/refugee status, my actual views are quite different.

1 Like

Hi @anirudh-eka,

First things first - Lovely story that you shared in your comment.
Definitely worthy of the HN front page. I ported all my past stories from the StartUp and other Medium pubs to Hacker Noon too. Better reading time and better engagement. When was the last time we wrote such long comments at Medium? For example, this story has been read for over a total reading time of 24 hours already. (Full Disclosure: I’m a Hacker Noon employee so am a bit biased towards our own).

You’re right there. The CAA correlates certain religions to be more likely to be persecuted based on history and uses a broad-brush instead of on a case-by-case basis. That being said, a case-by-case analysis is something for fast-track courts. No? Laws are never nimble. Else, Lawyers won’t get to make as much money as they do. lol.

Good point. #NewLearning. I guess this is where my code and the actual Act differ. The Law dictates while my code is more based on self-declaration.

One day, if I become a better programmer, maybe I’ll be able to write a python library for folks to import. Writing functions is hard-coding. No doubts there.

Bravo, Sir. This is where the amendments section of my code and your thoughts come together. So, between us, this is where I come to realize that your actual views and mine are pretty similar. Although you hinted at it towards the end too. :wink:

Okay. Another #learning. Programming is too black and White. lol

Thank you! :pray: Yea, Medium is just not serving me no more. Also agree with the long comments too! I’m looking for a new home for my writing. I thought Hackernoon might be good for pure coding stuff, but am excited at the prospect of putting things that are about things outside of code. Coding is such a cool lens to look at society and again your article makes me feel HN can be a place for that too!

You seem to go to great lengths to disguise your far-right views, as if there’s some kind of balance between someone who discriminates against religious minorities and someone who doesn’t.

Are you saying that fascism is a step in the right direction? This article is a disgrace to this website.

“The law fits within the BJP-led government’s larger agenda to construct a Hindu nation”.

“India took a major step toward the official marginalization of Muslims”.