Category Archives: Misc

When I cannot figure where to put things.

Back to (an improved) Cinnamon Desktop

I had moved away from Cinnamon DE around Feb 2013. Cinnamon represents a very elegant alternative to other DEs – striking the right balance between simplicity and configurability. That said, there were still some irritants; most prominent being that Pidgin would disappear predictably from the system tray. This would leave me with no notification when a conversation was updated. After having been bitten once too many times, I gave up and installed KDE. I was never quite at peace though. Updates on the Linux Mint blog about Cinnamon 1.8 provided me the kick to move back to Cinnamon and see if things had improved.

They certainly have! After the default install, I did some tweaking to reduce my earlier complaints.

1. The first change was to enable boot animation. I simply changed the Plymouth theme to use the Linux Mint default. The FRAMEBUFFER bit is a fix for delayed boot animation. Use it if the animation appears late in the start-up sequence and disappears almost immediately.

sudo -s
update-alternatives --config default.plymouth
echo FRAMEBUFFER=y >> /etc/initramfs-tools/conf.d/splash
update-initramfs -u

2. Enable hibernation after checking that hibernation works with sudo pm-hibernate.

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

# add the following lines in the file
[Re-enable hibernate by default]

# save and update grub
sudo update-grub

3. Reduce grub time-out from 10 to 5 seconds

# in /etc/default/grub

# save and update grub
sudo update-grub

4. Fix the Pidgin system tray icon issue. There was a workaround suggested on Cinnamon’s issue tracker. First you have to locate the icon being used in the system tray. Then you swap out the 16px icon for the 22px version. The result looks something like below.

rohit@raijin ~ $ ls -l /usr/share/pixmaps/pidgin/tray/Mint-X/status
total 16
lrwxrwxrwx 1 root root    2 Sep  6 15:06 16 -> 22
drwxr-xr-x 2 root root 4096 Aug 31 14:53 16old
drwxr-xr-x 2 root root 4096 Aug 31 14:53 22
drwxr-xr-x 2 root root 4096 Aug 31 14:53 32
drwxr-xr-x 2 root root 4096 Aug 31 14:53 48

What else?

  • The notifications applet used to hold notifications that aren’t dismissed is a good idea.
  • There is still an overlap in the menu entries in Administration and Preferences – quite perplexing why that hasn’t been fixed.
  • There are two System Settings – one for Cinnamon and another for GNOME. At least that is how I interpreted it.
    Two System Settings in Cinnamon 1.8 on Linux Mint 13

    Two System Settings in Cinnamon 1.8 on Linux Mint 13

    The one on the left is the GNOME one, I suspect. Notice the missing icons for the section headers. This is since Cinnamon 1.6.

The Cinnamon development team has promised bigger and better things for version 2. I have no doubt they will deliver. It remains to be seen whether it will back-ported to Linux Mint 13 or users are asked to wait for the next LTS version – Linux Mint 17.

Are you taking drugs made by Ranbaxy?

I had heard rumblings about some US regulatory bodies taking action on Ranbaxy. At first, I was not interested in the details – it sounded too much like American protectionism. But this article on Firstpost was an eye-opener.

However, after five years of legal battle, now Ranbaxy has pleaded guilty of the same wrong doings that it was exonerated of. The company has admitted to selling adulterated drugs from the two plants and submitting false statements to the FDA.

Take a minute. Step back from the screen. This is not financial fraud. Not an industrial espionage or a patent litigation case. We are talking about medicine. Make no mistake – flooding markets with cheap generics is good.  But what sort of sick psychopath floods the market with adulterated, untested drugs? It is right out of a Bond film.

I followed a link and came upon one of the worse indictments possible for a pharmaceutical company. Do yourself a favour and read the report. Some highlights of report are listed below. Text in italics is quoted directly from the article.

  • Standard operating procedures for clinical studies and drug testing, manufacturing and storage facilities were violated – sometimes, the company would create its own SOPs to prove compliance on paper.
  • senior managers of the company, heads of research and development, people responsible for formulation … clinical people – all were “in” on this game.
  • Drug tests were carried out with actual brand-name drugs substituted in place of the generics meant to be tested.
  • Drug degradation (“expiry date”) was almost always under-reported. This means medicines would expire sooner than mentioned on the label.
  • crucial testing data for many of the company’s drugs did not actually exist and submissions to regulators had been forged.
  • “There was a total lack of understanding,” Dr. Kathy Spreen (former executive director of clinical medicine and pharmacovigilance, Ranbaxy U.S.) says, “of what it meant to be ethical and what it meant to actually protect the patient.”
  • Six other pharma veterans who worked for Ranbaxy in the U.S. as recently as 2010 tell Fortune they found themselves in a corporate culture like nothing they’d ever experienced. Executives approached the regulatory system as an obstacle to be gamed. They bragged about who had most artfully deceived regulators.
  • In Europe, for example, the company used ingredients from unapproved sources, invented shelf-life data, tested different formulations of the drug than the ones it sold, and made undocumented changes to the manufacturing process.
  • In entire markets—including Brazil, Kenya, Ethiopia, Uganda, Egypt, Myanmar, Thailand, Vietnam, Peru and the Dominican Republic—the company had simply not tested the drugs and had invented all the data.
  • The company had a “reputation for threatening people, bullying people,” Dinesh Thakur (former global head of psychiatry for clinical research and development, Ranbaxy) recalls.
  • Ranbaxy used its international staff as drug mules to bring brand-name drugs to India – violating import-export laws of multiple nations.
  • “Every single inspector that went to India said they would never take a Ranbaxy drug,” says David Nelson (former senior investigator, House Energy and Commerce Committee), “like eight out of eight.”
  • One by one, each of the former Ranbaxy executives Fortune interviewed had determined, while still at the company, to stop taking Ranbaxy drugs.
  • Ranbaxy has been recalling its blockbuster drugs at an alarming rate in the US.

Dinesh Thakur – the whistle-blower.

The question remains – why are Indian regulators moving so slowly? Why is Indian media – print, TV, Internet – silent? Ranbaxy should be splashed on the front page of every newspaper and news portal. The intent here should not be to protect Ranbaxy but the Indian generic drugs industry and patients – both Indian and international – who depend on generics for their medical needs. Only by taking Ranbaxy to task and verifying that its systems and processes are in order can confidence be restored.

I don’t know about you, but from now on, I will be assiduously avoiding the Ranbaxy brand. The pity is I can do so only if there is an alternative that I know about.

What about the millions who do not have the means to search for and procure alternatives?

The slippery slope of censorship

(This post was first published on Feb 17, 2013. There is an update added on Feb 18, 2013.)

I have no stake in the MBA business beyond ensuring that the MBA I work for knows that MBAs don’t make the world go around. The recent upsurge of protests against IIPM blocking 73 URLs has me concerned and I must join the protest.

First, this is censorship. This feels wrong. A private entity files a defamation case and gets a judgment to block resources on the Internet. This tramples upon the author’s right to freedom of expression. This destroys others’ right to obtain knowledge. How can the courts decide that I should not read or write a critical article about IIPM?

Second, the tactics used in these cases are not ethical.  IIPM is headquartered in New Delhi and has branches in Mumbai, Gurgaon, Noida, Bangalore, Chennai, Ahmedabad, Kolkata, Chandigarh, Hyderabad, Pune, Lucknow, Indore, Bhubaneshwar, Bhopal, Jaipur, Dehradun, and Cochin (as of Feb 17, 2013). Where was this case filed? In Gwalior, by a channel partner. An earlier case was filed in Silchar of all places, by a recruitment agent. None of the cases are filed by IIPM directly. A personal blogger or a small on-line media organisation simply does not have the resources to put their lives on hold and run to these courts to protect their articles; indeed, their constitutional rights. This results in an uncontested case and an automatic win for IIPM. They don’t have to bother with defending against the criticism leveled in the article.

By the way, an educational institution having tens of branches, channel partners, recruitment agents and running full page ads – reminds me of coaching classes for IIT-JEE, CAT and 12th HSC.

Lastly, the list of URLs contain resources put on-line by the University Grants Commission. I am amazed at the audacity of IIPM agents. Howsoever indirectly, UGC is sponsored by all of us who pay our taxes. It is a government organisation working under the Ministry of Human Resources. We are entitled to get access to all notices, regulations and guidelines that the UGC put on its website. What law gives IIPM the right to even request a block on any document put forward by the UGC? A private for-profit organisation has effectively hampered the working of a government organization and put the educational careers of millions of students at stake.

It is time the government and judiciary take a closer look at the IT Act and its application; and if they have more time, may be try fixing the education system too.

Update @ February 18 – Reading this article on The Hindu’s website, it appears that the content owners were not contacted at all. Imagine that. Anybody can file a defamation case in some corner of this huge country and get away with blocking content on the Internet. Quote by Atul Chitnis in the article:

IIPM was not just using a distant court to gag specific websites but was also trying to scare other commentators into silence.

One last thing – they approached Google to remove the URLs from their search results, but Google did not act – because it obviously (and correctly) interpreted the request as an attempt at perverted censorship.

Redmine with Passenger on Nginx

Thanks to the guys at Dotdeb, we can now run Redmine using Phusion Passenger. My earlier requirements were still in force – software to be installed from a repository, upgradeable using apt-get and no compiling on the server.

To use Passenger with Nginx, the official Phusion docs recommend compiling Nginx from source. Fortunately, Nginx PPA provides this version of Nginx – nginx-passenger. I got around to checking Dotdeb; and they provided one for Debian 6 too! The installation is simple.

sudo apt-get install nginx-passenger ruby-passenger

You will need to tune it for your server, but many  guides are available on the Internet.

# /etc/nginx/nginx.conf
# nginx-passenger config
# Uncomment it if you installed nginx-passenger

passenger_root           /usr/lib/phusion-passenger;
passenger_ruby           /usr/bin/ruby;
passenger_max_pool_size  2;
passenger_pool_idle_time 120;
## site config using passenger
server {
    listen 80;
    root /usr/share/redmine/public;
    passenger_enabled on;

Net neutrality survives a vicious attack in France

Wikipedia defines network neutrality as the principle that

Internet service providers and governments should treat all data on the Internet equally, not discriminating or charging differentially by user, content, site, platform, application, type of attached equipment, and modes of communication

Let me explain the situation to you in a simple way. Say, I put up a post that bores you with my daily office commute. It has a 30 minute, 30 MB video shot from a HD camera fixed to my helmet; and a hundred 1 MB stills from the video. Soon, this post draws 100 unique views (I can dream!). One of the views is from you – my reader.

I host this website on Leanservers. I pay them for hosting. Part of that money goes towards server hardware cost. A non-trivial part goes towards bandwidth cost. This is the money that goes to a chain of companies – to Leanservers first, who then pay their data center, who then pay their telecom service provider, and so on until some amount reaches the companies who maintain the inter-continental submarine fiber-optic links – the physical backbone of the modern Internet. For my commute post, the details are 130 MB storage and 13 GB bandwidth. At the end of my billing cycle, I will get a nice bill for both.

You subscribe to an ISP, obviously. May be a 150GB monthly plan with 2Mbps/512Kbps speed limits. When you load my commute blog post, your monthly quota will go down by 130MB and the page will load in… just over 8 minutes. What if you have an unlimited plan? The cost structure of an unlimited plan is determined by estimating how much the user will download in the billing cycle. Nonetheless, you have paid the ISP and through the ISP, the entire telecom food chain up to the submarine cable companies.

Thus, it is clear all involved parties receive payment for their services.

Some people like Xavier Niel, owner of France’s Free ISP, however, believe this is not fair. He states that my video will choke Free’s bandwidth and hence I should pay Free extra so that my visitors from that particular ISP can view my beautiful commute post in its entirety. This violates the net neutrality principle in many ways.

  • How is Free quantifying that my video will choke the bandwidth? Video is data – electronic bytes. A 30 minutes video is equal to N number (admittedly some huge number) of chat messages. Tomorrow, if chat programs choke Free’s bandwidth, will Mr. Niel ask Yahoo!, MSN (Microsoft), GTalk (Google), etc. to start paying Free money to facilitate online chat?
  • If it is “heavy” content like videos and VOIP that chokes the bandwidth, why did Free recently block advertisements, specially Google AdServe? One would think that Google’s ads are some of the least obtrusive and most bandwidth efficient ads around. This was a veiled attempt to gain leverage against Google’s Youtube. This block was done in a software update at the router level – the routers that they give to their users; and blocking was enabled by default.
  • Mr. Niel has a stake in a newspaper – Le Monde. (I am not in France; can someone check whether it is completely ad-free and without high-quality images?) There is an ongoing battle in Europe and the US where newspapers are trying to make Google pay for links to their websites appearing in search results and in the Google News application. Think about it – Google helps them get more traffic (and earn money if they are not complete idiots) and they want it to pay for the “privilege” of doing so!

Sanity prevailed and Free was forced to roll back this block, by the French Digital Economy minister, no less!

Many ISPs in Europe and the United States are attempting to charge content providers for the “privilege” of being accessible by their customers. Video streaming sites are the first batch of possible victims of this onslaught. VOIP applications will come next. Chat apps will follow – just imagine if ISPs start charging for reducing latency of chat messages. They can make or break entire social networks.

  • The heavy data argument is a false flag planted by the ISPs. The intention is to distract the ISP’s customers and regulatory bodies from the dismal state of last mile infrastructure that these companies maintain. And of course, they weasel out of maintaining and expanding even core backbone infrastructure. After investment banking and patent trolling, ISPs earn the most obscene amounts of profit.
  • Free gained its market share by offering services at disruptive prices to its customers. If the customer doesn’t pay, who pays for telecom infrastructure costs? This model is never sustainable in the long-term. Now Free is attempting to extort money from content providers to continue providing subsidized services to their customers. The content providers either pay the ISPs or have their ad revenue dry up.

Be vigilant. Should such a threat arise in your service area, write to your ISP and complain to your regulatory body in the clearest and firmest of terms. has a piece with a beautiful explanation

Put very simply, some ISPs resent being turned into dumb pipes over which companies such Google rake in profits from consumers. Controversially, their answer is to seek to control – or in this case a block – on such services until such time as they can get a cut.

Put simply, that’s all they are. Dumb pipes. If their customers are drawing more content than the pipes can handle, the problem lies between the customer and the ISP. Obviously the customer will demand fatter pipes at same or marginally higher cost. It is up to the ISP to make this upgrade fit within their operating margins. Whatever they decide, charging content providers or blocking ads is not the solution.


Enhanced by Zemanta