All posts by Jim

Software engineer from Crete living in Switzerland; C# & Azure paladin; economics hobbyist; firearm enthusiast; perpetually tormented by 3 beautiful women :-)

On the decision of the supreme court of India

Two months ago, on the 11th of December 2013, the supreme court (that is, the highest judicial authority) of India came to a decision (full text here in pdf format) on a very important case: to invalidate or not an earlier (2009) decision from a lower court, that held a 150-year-old law (from the British collonial era) as invalid.

The case is important because the old law, called “Section 377”, although ambiguous was interpreted to mean that homosexuality in India is illegal. The 2009 decision then, which invalidated 377, was hailed as a victory for sexual freedom.

The supreme court on December 11th overturned this decision. This has been received by the Western press with anger and claims of homophobia by the court. See here (“shocking decision”), here (“Supreme Court says gay sex is a criminal offence”) and here (“A surprising disappointment from judges with a progressive record”), among many many others.

This view is both lazy on the journalist’s part and completely wrong.

The judgement cites various sections of the Indian constitution, for example:

Prohibition of discrimination on grounds of religion, race, caste, sex or place of birth.

(1) The State shall not discriminate against any citizen on grounds only of religion, race, caste, sex, place of birth or any of them.

They also cite a book on the constitution :

Popular morality or public disapproval of certain acts is not a valid justification for restriction of the fundamental rights under Article 21. Popular morality, as distinct from a constitutional morality derived from constitutional values, is based on shifting and subjecting notions of right and wrong. If there is any type of “morality” that can pass the test of compelling state interest, it must be “constitutional” morality and not public morality.

The argument of the learned ASG that public morality of homosexual conduct might open floodgates of delinquent behaviour is not founded upon any substantive material.

Does this sound like a decision driven by homophobia ? Not really !

Why did they reach this decision then ? Here’s why:

while the High Court and this Court are empowered to review the constitutionality of Section 377 IPC and strike it down to the extent of its inconsistency with the Constitution, self restraint must be exercised and the analysis must be guided by the presumption of constitutionality. After the adoption of the IPC in 1950, around 30 amendments have been made to the statute, the most recent being in 2013 which specifically deals with sexual offences, a category to which Section 377 IPC belongs. The 172nd Law Commission Report specifically recommended deletion of that section and the issue has repeatedly come up for debate. However, the Legislature has chosen not to amend the law or revisit it. This shows that Parliament, which is undisputedly the representative body of the people of India has not thought it proper to delete the provision.
In view of the above discussion, we hold that Section 377 IPC does not suffer from the vice of unconstitutionality and the declaration made by the Division Bench of the High court is legally unsustainable.

In plain English, they say that only the parliament, and not the courts, have the right to create and change laws. The parliament has thought about the issue, but did not change or delete the law; therefore if they were to invalidate the law, the courts would be overriding the parliament. And that’s not right in any democracy.

Even so, they practically beg the parliament to delete the law forever:

While parting with the case, we would like to make it clear that this Court has merely pronounced on the correctness of the view taken by the Delhi High Court on the constitutionality of Section 377 IPC and found that the said section does not suffer from any constitutional infirmity. Notwithstanding this verdict, the competent legislature shall be free to consider the desirability and propriety of deleting Section 377 IPC from the statute book or amend the same as per the suggestion made by the Attorney General.

That’s a judge’s way of saying “guys, seriously now, about time you scrap this law, isn’t it ?” as directly as possible.


Do-It-Yourself: Cappuccino Freddo — Rev. 2

Almost 6 years ago, I posted a guide on how to eas­ily make “cap­puc­cino freddo” cof­fee at home and accord­ing to my web stats, it’s still a very pop­u­lar post. Since then how­ever, I have sim­pli­fied and improved my tech­nique and I think it’s time to refresh the guide.

Reblog from George Adamopoulos : a great guide on how to make the famous greek-style cold coffee, Capuccino Freddo. It’s a must 🙂

Kanton Schwyz – Quellensteuertarif in excel form

Some things are so simple and so useful, that not seeing them being done drives me crazy.

One such thing is the Withholding Tax (Quellensteuer) tarifs in Switzerland. Every canton publishes them, as of course they must. But it’s only in PDF form. Sure, that’s useful too… if you don’t want to do actual work.

So I’ve downloaded the pdf for Kanton Schwyz, where I live, and via the magic of Notepad++ and regular expressions I’ve converted it into a spreadsheet with two sheets, with and without church tax (Kirchensteuer). Of course, they are given without any warranty, I’m not responsible for errors, if you go bankrupt it’s your own fault etc etc.

One thing to note is that columns D,F and the rest with the % header are percentages. So 0.21 means 0.21%, not 21%.

I hope you find that useful. I’ll be posting the new ones for 2014, 2015 and so on. If you find any error or anything that can be improved (without too much work :-)), please let me know.

Download here : Kanton Schwyz – Quellensteuer 2013 .

How to make Visual Studio 2012 look (almost) the same as 2010

If you’re like me, you HATE HATE HATE the look of VS 2012. It’s not only ugly; it’s unergonomic.

So naturally, a number of people have worked to make VS 2012 look like 2010. VS 2010’s look, IMNSHO, was a lot clearer and developer-friendlier.

So here’s a list of steps that have been tested and work :

0. Close both VS 2012 and VS 2010

1. If you haven’t already, install VS 2012 Update 2 or later (here)

2. With Update 2 or later, a new theme called “Blue” is available alongside “Dark” (the default) and “Light”. Select this one (you can find it in Tools -> Options -> Environment -> General) and click OK.


3. Download the “Visual Studio Icon Patcher” from MS CodePlex (here)

4. Unzip it in a new folder

5. Open Visual Studio Command Prompt (use “Run as an Administrator”). In the command prompt, enter the following commands :

cd whatever-folder-you-have-unzipped-the-file-in


You’re now in the VSIP prompt. Continue typing (obviously you have to hit enter after each line –but you knew that already) :

backup -v=2012





Done ! The outcome looks like this :


Important note : The commands in step #5 assume that you have both VS 2012 and 2010 installed on your machine. If you don’t, you need to a) “extract” from a machine with VS 2010 installed b) copy the folder created (it’s called Images, and it’s placed under the new folder in which you unzipped Visual Studio Icon Patcher) and c) “inject” it in the target machine (i.e. the dev PC with VS 2012).

Welcome !

Hi everybody !

I’m Jim Andrakakis. I’m a senior software engineer from Greece; with roots from Crete, raised mostly in Athens and since 2012 living in Switzerland, near Zürich. I’ve been coding since I was ten, and will probably continue until I’ve malloc()’d a block in the Great Heap In The Sky. I’m an incurable coffee addict, a finance and economics hobbyist, a firearm enthusiast, a cryptography aficionado(*) and I’m perpetually tormented by 3 beautiful women 😊

As my friends know, my official first name is not Jim, it’s Dimitrios (usually used as “Dimitris” in Greece). Jim is the equivalent in English. There’s a small backstory to why I introduce myself this way, but it’s not important.

Also: why “dandraka”? Well obviously it’s an abbreviation (first letter of first name + part the surname) but more importantly it’s a small piece of personal history. It was the username I got when I worked, briefly, for the Muon Spectrometer in the ATLAS experiment of CERN. When I complained that I was used from other systems to a slightly different username, “dandrak”, a brilliant physist I met there suggested that that would sound like a washing machine model -so I guess I dodged that bullet 😊

So that’s my new blog, which I started after Jux announced that they would be shutting down. Real pity; it was a great platform, I loved it.

From now on I’ll be posting here my random thoughts, recipes, code and what-have-you.

But if you stop reading now and go to a beach, nobody will blame you

Enjoy !

(*) please don’t confuse cryptography with “crypto”, i.e. anything to do with bitcoin and crypto-“currencies”. For what it’s worth (which is not much) I believe that the blockchain (the mathematical concept that underpins most cryptocurrencies) has the potential to facilitate some useful applications. But caught in the mania of bitcoin, which is an almost ridiculous concept, it has been blown completely out of proportion. Thus any effort to apply blockchain in a useful way is invariably doomed, due to it being so unbelievably overhyped.