In The Armchair

Ubuntu 13.10 on a Dell XPS 13

Posted in Computers by Armchair Guy on February 12, 2014

I recently acquired a Dell XPS 13 and installed Ubuntu 13.10 on it.  This is a log of my experiences.  I plan to keep adding to this as things develop.

salamander-picture

At the time of this writing (February 2014), the Dell XPS 13 is an Intel Haswell-powered ultrabook sold with either Windows 8.1 or Ubuntu 12.04 LTS.  The Ubuntu version is also called Project Sputnik — Dell made the laptop fully compatible with Ubuntu.  The Ubuntu version is a little cheaper (about $1,550 vs $1,616; no Microsoft tax), but taking the duration of support into account (I wanted 3 years at least), it was cheaper to get the Windows 8.1 version (the $1,550 price only included 1 year).

In general, I liked the look, feel, screen resolution, and build quality of the laptop, though there are several issues.  The annoyances: seems a bit expensive for what I’m getting; the lid can’t be lifted without holding down the base with the other hand; the screen is glossy (apparently this can’t be avoided if it’s a touchscreen); no discrete graphics (this is probably a benefit from a compatibility POV, but I’ve always had discrete graphics); the bottom gets quite warm at the back with extended use so gets uncomfortable on the lap; the laptop’s size and contours feel uncomfortable when using on the lap; no dedicated PgUp/PgDn/End/Home keys (this really bothers me); the position of the trackpad and left Ctrl key makes it hard to press Ctrl+V; the font on the keyboard looks a bit weird and unprofessional to me; there’s a panel on the bottom that has “Windows 8″ etched into it; memory is not upgradeable at all (soldered onto motherboard); 256GB SSD was expensive but feels very small; the power cord is in an awkward position; power cord doesn’t have a “charging” indicator led, just a “plugged in” indicator; and battery life of about 5 to 5.5 hours feels very short compared to the MacBook Air’s 12 hours.  Having said that, other ultrabooks with comparable features are equally (or more) expensive.

I’m upgrading from an a Lenovo ThinkPad T61 running Linux Mint 14.  I putzed around with live CDs for a few different Linuxes: Ubuntu 13.10, 12.04, Mint 16, and OpenSUSE 13.1.  I considered Kubuntu 13.10 as well.  In the end I decided to try Ubuntu 13.10 because the XPS 13 has a touchscreen.

Ubuntu 13.10 Installation

Installation of the OS itself had a few complications.  I initially couldn’t figure out how to get the laptop to boot from USB.  The laptop has a “secure” boot feature and uses UEFI.  Turning off the secure boot and switching from UEFI to a legacy booting sequence, ignoring the dire warnings displayed when changing these settings, worked for me.  (I pressed F2 right after turning on the ultrabook, when the Dell logo appeared to be taken to BIOS settings.  Then navigated to Boot and made the changes.) I wrote the Ubuntu 13.10 live ISO to an external USB hard drive using the instructions and script here: http://ubuntuforums.org/showthread.php?t=1958073.  The laptop booted the Ubuntu live USB fine from either USB port  (despite what some reports say about the left side USB).

The first thing I did before installation of Ubuntu was to re-partition the disk.  The XPS 13 came with a 256GB SSD hard drive that was partitioned into a number of tiny partitions, a huge one that had Win 8.1 on it, a recovery partition that was about 8GB and mostly full of data, and another 8GB partition that Win 8.1 presumably uses to hibernate.  I used GParted (comes on the live ISO) to resize the Win 8.1 partition to about 50GB, added a root partition (ext4), a data partition (ntfs), deleted the recovery partition (since it can only be used to restore to factory settings), and created a single 16GB swap partition (the XPS 13 has 8GB RAM; double that).

After partitioning, I ran the installer.  It asked for a few basic items of information and ran with no problems (except it took a long time to download various language packs — not sure I needed them). But after the installation was complete and I rebooted, some weirdness ensued.  First, the ultrabook wouldn’t reboot — it got stuck in an unresponsive state with the screen blank but not turned off.  I shut it down by holding down the power button.  When I rebooted, a GRUB bootloader showed up (I think this was supposed to boot into Ubuntu immediately but somehow got installed with a wait time).  The first couple of times I booted in and shut down, the unresponsive state and other odd problems (no mouse pointer, unable to boot, etc.) recurred.  Rather than try to figure out what the problem was I reinstalled Ubuntu, and things seemed to work fine after that.

The Hardware: Initial Impressions and Tweaks

Things that worked

Most of the basic hardware worked right out of the box (as expected).

  1. Keyboard backlight
  2. Volume buttons
  3. Screen brightness buttons
  4. Basic trackpad functionality (moving a mouse pointer, left and right clicking)

Things that didn’t work

  1. The touchscreen and more advanced trackpad functionality were much more tricky.  The touchscreen didn’t appear to respond to touches initially, but then began working without any intervention, and worked intermittently after that, turning on or off after suspending.  Then, installing the recommended software updates broke something and the touchscreen stopped responding altogether.  This bug report (see steps 1, 2, 3 at bottom of page) supposedly has a solution to problems with both touchscreen and trackpad.  However, the erratic behaviour of the touchscreen persists on my setup after following those steps — it still responds in fits and starts, even when I don’t suspend.  However, when it does work, it works pretty smoothly.  Various troubleshooting discussions that didn’t fix the problem but were informative: 123.
  2. The trackpad worked, but initially without side-scroll or 2-finger scroll. I fixed the problem by following the simple instructions in this bug report (see steps 1, 2, 3 at bottom of page), which seems to have fixed all problems.
  3. WiFi networking is problematic.  After resuming from suspend, it either takes too long to connect or doesn’t work at all.  Using the command: “sudo nmcli nm sleep false” in a terminal seemed to help somewhat; this page lists a more permanent solution.  However, WiFi still keeps cutting out and I frequently have to restart networking (disable and enable networking using the network applet) to get a connection.
  4. Many of the new (late 2013/early 2014) Dell XPS 13 ultrabooks have been widely reported to suffer from an “electric whine” sound that many people find aggravating. Mine has this problem too. The ultrabook makes a high-pitched sound that varies with the keyboard backlight, which is extremely distracting especially in quiet rooms. Turning off the keyboard backlight eliminates the noise. This kind of problem really shouldn’t be present in such an expensive machine.

The Software

Things that work

Here are some notable software features that work well.

  1. Font rendering works beautifully — much better than the font scaling functionality on Win 8.1, even on the same apps.  For example, fonts in Google Chrome look crisp and clean even at very high zoom levels in Ubuntu, while in Windows 8.1 they pixelate. (It’s not a Chrome issue: they also pixelate in Internet Explorer.)
  2. User switching appears to work really well.  This is something that always seemed to be broken in previous versions of linux — switching back and forth between users would cause alarming screen black-outs and flickers and eventually crash X.  Here it appears to work smoothly — so far.

Things that don’t work so well

  1. There is a considerable amount of unstable behavior.
    1. Initially, apps frequently became unresponsive and needed to be forced to quit.  This happened much more frequently than normal. Two months later, this behavior seems to have resolved itself and no longer happens. I’m not sure whether this was due to the few system updates I installed.
    2. Often, I get a popup that says “System program problem detected.”  The popup offers to send a problem report to Ubuntu, which I’m glad to do if it helps improve Linux, but there’s no option to show me any information on what the problem was. This is due to old crash reports in /var/crash/ not being cleared. A quick fix is to clear that directory (“sudo rm /var/crash/*”), but the real problem is a system that provides no information to the user about the crash.
    3. Wifi is decidedly quirky, even with the fix referred to above.  It occasionally drops the connection, and then fails to detect my wifi network (but detects my neighbours’ networks) until I disable and re-enable wifi. Update: this behavior got pretty bad, to the point where I had to reset the network almost every minute. However, it disappeared after I changed my router back to an older one. I haven’t diagnosed the problem. It could be something wrong with the router, or perhaps the driver doesn’t properly handle the latest protocols. Other devices (iPads, other laptops) occasionally had trouble with the newer router too, but not nearly as bad.
  2. The touchscreen is treated as mouse input.  This means that certain tablet-like behaviours are not enabled.  For example, swiping a page in the web browser selects the text, and does not scroll the page, since that’s what would happen if you dragged the mouse across the page.  Still, a lot of things do work.
  3. Unity, Ubuntu’s window manager, is interesting but also has some major oversights.
    1. One of the big ones is that there is no way to start multiple instances of a given program by clicking the icon! Some programs provide an option to open a second window if you right-click the icon, but if a program doesn’t, you’re out of luck — you have to open a terminal and start it from the command line.
    2. There’s also no easy way to ungroup multiple instances of an application when using Alt+Tab. That is, Alt+Tab switches between different types of application only — if you have 3 terminals open, you can’t easily use Alt+Tab to access all three of them. Instead, you use Alt+Tab to select the application and then use Alt+` (key above Tab) to switch between instances of the same app. Maybe this will become natural with some use, but right now it’s pretty frustrating that Unity doesn’t provide a way to ungroup the windows at all. Some solutions are available here but they’re pretty awkward.
    3. A major problem with this laptop is that many applications aren’t designed to work in this resolution.  The default font size selections are too small. To globally adjust font size settings, I installed the “Unity Tweak Tool” from the Ubuntu Software Center, and increased the Window Title Font and Text Scaling Factor.  This fixes some but not all problems — it varies from app to app.  Google chrome, for example, still has very tiny text on its tabs.  Some apps also have a “zoom” setting which is useful.

Miscellany

  1. The battery doesn’t last as long as on some other laptops/operating systems, but it’s not too bad.  I get about 5.5 hours on a charge.  When in a suspended state, it seems to consume about 20% battery every 12 hours.
  2. Ubuntu uses the LightDM display manager to manage logins among other things.  I set the LightDM display manager not to display usernames for users on the system, and to require users to type in their usernames, using the instructions here.  There’s also a feature that lets you hide specific users but as of this writing it doesn’t work due to a bug in Ubuntu.
  3. One of the features I was hoping to see in Ubuntu by now is the ability to stream system audio output to a DLNA receiver over WiFi. This is supposed to be possible using some combination of the packages rygel, pavucontrol, paprefs, and gupnp-tools.  Several sites provide instructions or discussions: 1, 2, 3, 4, 5.  The instructions at this site work, after a fashion.  (I use FLAC instead of WAV encoding for network efficiency.) The result is flaky, though.  There is considerable lag (about 3-4 seconds), and I have to ask the DLNA receiver to restart playback after any pause in audio output (eg., if I’m playing something on YouTube and pause it for a moment, I need to restart playback on my DLNA receiver to begin hearing it again after un-pausing).  Having gotten accustomed to Chromecast, Roku, and Apple TV, this feels very broken.  However, I’m glad this is at least available as an option.
  4. I usually have a “data” separate partition that holds my data (pictures, documents, work).  If I need to reinstall the OS, I can do so without having to restore the entire data partition.  I like all users on the system to be able to modify anything on the data partition.  If one user creates a file, I want other users to be able to read and write to that file.  Now, this was automatic in the past because I used an NTFS data partition.  This time around, I switched to Ext4, which makes it surprisingly difficult.  However, I could do it using the instructions here, with some modifications:
    $ sudo addgroup datapart # Create new group called "datapart"
    $ sudo adduser USERNAME1 datapart # Add user USERNAME1 to group datapart
    $ sudo adduser USERNAME2 datapart # Add user USERNAME2 to group datapart.  Repeat as needed
    $ sudo chgrp -R datapart /data_partition # Change group of partition (recursively)
    $ sudo chmod g+s /data_partition # Set setuid bit for group
    $ sudo mount -o remount,acl /data_partition # Remount with ACLs enabled; alternatively add ",acl" to /etc/fstab permissions for a permanent solution
    $ sudo setfacl -R -d -m g::rwx /data_partition # Set access control: full access to group
    
  5. I experienced some occasional weird trackpad behaviour. After resuming from suspend, the trackpad acted as if I was using 2 fingers when I was actually using 1. Ie., it would scroll instead of move the mouse pointer.  I fixed it using the instructions here:
    $ sudo modprobe -r psmouse # Unload trackpad driver
    $ sudo modprobe psmouse # Restart trackpad driver
    
  6. When using headphones, I hear a loud background hiss, like white noise, underlying any music/sounds I’m playing. It makes the headphone jack pretty un-usable. I haven’t found a fix for this yet.
  7. Pairing with a bluetooth headset is flaky. Sometimes it works as expected, though I still have to go into audio controls after pairing and manually specify that the sound output should be through the headset (it seems natural to have this happen automatically as soon as pairing is complete). At other times, pairing seems to occur but the headset is not shown as an output option. When this happens, following instructions here, the command “pulseaudio -k” seems to make that output option appear again.
  8. Ubuntu has a feature called the HUD, which is basically like a text-based search within the menus of the current application. It looks useful, but uses the Alt key as its shortcut, which interferes with the Alt key bindings in various other applications. I disabled it using instructions here.
  9. The lock-screen functionality is poorly designed in Ubuntu 13.10. When the lid is closed and opened, the screen locks after the lid is opened. Before it locks, you see what was on the screen before the lid was closed for about half a second. And then it locks! This defeats the purpose of a lock-screen mechanism.
  10. Google added Chromecast functionality to the linux version of Chrome sometime in 2014. So, if you have a linux laptop and are trying to decide which media device to use (Chromecast, Apple TV, Roku, Amazon Fire TV, …), the Chromecast is a good option.
  11. Wine runs pretty well under this version of Ubuntu, but I had problems with audio, especially when playing games. This link describes the problem exactly. The solution in the second answer there worked for me. The solution is to run programs using:
  12. $ PULSE_LATENCY_MSEC=60 wine program.exe
    

    Several other solutions were available on the net, including ones that asked you to edit PulseAudio configuration files in /etc/pulse or ~/.pulse/, but those didn’t work for me.

Meta

  1. One of the biggest problems plaguing linux is the loss of features over time. Linux is powerful because of the tweakability and the number of features that numerous people have contributed. Once a feature is available, I’m sure it takes a considerable amount of work to make sure it continues to function going forward. Sometimes a feature is viewed as not being in the best interests of a particular distribution. Because of such reasons, useful features tend to get dropped in future versions of linux. An example is the split-screen F3 functionality in Nautilus. This is a critically important feature that Ubuntu developers removed. I feel a distribution like Ubuntu cannot be allowed to be the steward of the featuresets to retain, because their interests are not the broadest possible. There needs to be a better process to determine which features are retained in important software. (Individual distros can tweak/remove features, of course.)

Sea Slugs and Resignations

Posted in Movies and Entertainment by Armchair Guy on February 23, 2013

Tabatha Southey hits the ball out of the stadium:

A team of Japanese scientists has announced the discovery of a sea slug that has a disposable penis.

Sea slugs are hermaphrodites.

Sea slugs mate with both sets of sex organs, concurrently. I imagine (reminding you that sin lies not in the desire, but only in acting upon that desire) that double-sex must be a pretty tempting proposition, one that could lead many a sea slug astray. Twice. And at the same time. Sea-slug Craigslist postings must be novella length. Questions abound: Does the involvement of four sex organs automatically make the most mundane Monday-night, post-“let’s-see-what’s-on-Netflix” sea-slug encounter an orgy?

More here.

One Month Later

Posted in India by Armchair Guy on February 2, 2013

It’s been more than a month since the horrific assault and rape of the woman referred to variously as Jagruti, Amanat, Nirbhaya, or Damini. (I think Jagruti is the most representative name among these.)  What have we learned after a month of introspection?

What Causes This?

Several causes have been put forward.  Here are some that I agree with:

  • It’s cultural.  The patriarchy views rape and sexual assault  as a loss of honour not for the perpetrator but for the victim.  The patriarchy believes it has the right to control individuals’ sexual behaviour, preferences, and choice of marriage partner.  Such behaviour creates an unempowered group of women who lack the means of resistance or retribution.  In addition, the patriarchy has also occasionally used rape and other forms of sexual assault (eg., stripping) to assert control over women often for exercising their choice over sexual relations.
  • Bollywood. Bollywood promotes eve-teasing or other obsessive fixations on women and submissive or powerless roles for women.  Disrespectful behaviour towards women is promoted as manly, humorous, victorious, and heroic.
  • The police. The police weren’t doing their job.  But more importantly, they create a culture of fear.  Victims are terrified of approaching the police, because the results are unpredictable.  The police are more  likely to blame the victim than believe her, and will often take advantage of the victim in various degrading ways.  More indirectly, victim intake processes are also degrading.
  • The Law. Laws in India relating to rape are antiquated and do not provide sufficient nuance to adequately prosecute rape cases.  Procedures required by law are degrading to the victim.  The execution of rape-related cases and language used in those cases is insensitive and is part of the reason victims are reluctant to participate in the legal process.  The laws also explicitly minimize certain forms of rape, such as marital rape.
  • The political system/the political class. Politicians at various levels are part of the problem.  Tribal panchayats still subscribe to outmoded notions and view rape in terms of honour and virtue.  In various ways, many elected male politicians subscribe to the same misogynistic prejudices against women that various tribal patriarchies do.  They hold a deep belief that when a woman is raped, the woman must have poor character (which is the cause of the rape).  Other suggestions likely to originate in the political class are the woman’s choice of apparel, choice of location, or the fact that the woman has a boyfriend.  Those politicians who have slightly clearer thinking on the topic nevertheless have  unintelligent or insensitive reactions.

Reactions

People had various reactions.  Here are some of the more insidious ones.

  • Sheila Dixit.  Claimed it wasn’t her responsibility, since the Delhi police weren’t under her jurisdiction.
  • Sonia Gandhi, Rahul Gandhi.  No reaction at all.
  • Manmohan Singh.  “Theek hai?”
  • Sushma Swaraj. “Even if she survives, she’ll never be truly alive again.” (Said while Jagruti was still alive)
  • Abhijit Mukherjee.  (Referring to protesters, apparently of the opinion that he can decide how female protesters ought to dress) “Those who are coming in the name of students in the rallies, sundori, sundori mahila (beautiful women), highly dented and painted”
  • Sushil Kumar Shinde.  (Attempting to explain why there should not be protests) “…tomorrow Maoists will come here to demonstrate with weapons.”  Also (giving a reason why the protests should have stopped, and attempting to ingratiate himself with Sonia Gandhi): “Person like Sonia Gandhi met the delegation of students at midnight.”
  • Asaram Bapu. “She should have taken God’s name and held their hands and feet…then the misconduct wouldn’t have happened. … Galti ek taraf se nahi hoti hai (mistakes are not committed only by one of the parties)”.
  • Banwari Lal Singhal.  (On banning skirts in schools) “It should be prohibited keeping in view the rise of social crimes against women. The school should have pant-shirts or salwar suits as uniforms for girl students,”

With a large number of people, the immediate reaction was to demand various forms of crowd justice.  The death penalty was sought by a large proportion of protesters, irrespective of procedure and law, a trend that Chief Justice Altamas Kabir critiqued.  Samajwadi Party MP Jaya Bachchan stated that the culprits should simply be handed over to the crowd.  The demand for extreme punishment appears to stem from the general assumption that new laws enacted can be applied retrospectively to the perpetrators, in particular to definitions of juveniles (there is doubt about the age of most brutal of the rapists, and he will likely be tried as a juvenile, with a greatly reduced maximum sentence).  The supreme court has clarified that this is not possible.  The Justice Verma committee, constituted to make recommendations to the government on reforms to laws on sexual assault and rape, has produced a report that seems to include opinions from various stakeholders and experts.  Foreign women have spoken up about their experience as tourists, and have described nightmarish experiences of groping hands whenever they visit public places.

Reactions from the legal community have been confused and have shown a disturbing disregard for due process.  The Saket court bar association refused to represent the rape accused, and attempted to stop lawyers who agreed to represent them by engaging in a public physical tussle with those lawyers, on court premises.

Consequences

The Verma report appears to be a progressive document, and the government has taken its recommendations into account, to some extent, in an ordinance that was promulgated recently.  It looks like a step forward.  Apart from defining multiple categories of sexual assault and increasing penalties for rape, it also includes jail terms for government servants who obstruct justice in such cases. (I’m not sure whether this extends to the police.)  But there are parts that are puzzling.  For example, “A man who rapes his estranged wife during separation can be jailed for seven years”, indicating that marital rape deserves a lesser penalty.  It’s also not clear what the effects outside Delhi will be.  Delhi is pretty bad, but the problem is not restricted to Delhi.  Various accounts estimate that the rural incidence of rape is higher than the urban incidence.

In broader terms, attitudes towards rape are influenced by a general disregard for individuals’ privileges and sovereignty  over their own bodies.  Symptoms include police torture, army excesses and rape, ragging in colleges, corporal punishment for children in their schools and homes, assaults on unmarried couples out and about, various central and state government attacks on free speech, subversion of various investigation agencies to carry out political revenge missions, as well as sexual assault and rape.

I hope we are able to find real solutions.

Linux Mint 14.1

Posted in Computers by Armchair Guy on December 6, 2012

mint-1920x1200u

I upgraded the memory on my old Lenovo T61 recently, and thought it was a good time to upgrade Linux as well.

When I began looking for candidate distributions, one of the big problems with Linux became apparent: the community struggles to hold on to gains that it has made.  Excellent, painstakingly developed features are often discarded in favor of a “refresh” or new direction.  Many times, it isn’t clear at all that the refresh accomplishes anything.

This happened to Ubuntu, the distro I’ve been using for several years now, with their decision to develop a completely different UI (Unity).  I decided to install a less deviant distro, and went with Linux Mint 14.1.  Not too big a step, since Mint 14.1 is based on Ubuntu 12.10. Linux mint is pretty good, but like most linuxes is a little rough around the edges.  Here are my experiences, which I’ll update as time goes by.

The good:

  • Except for one minor hiccup, the install process was excellently simple and effortless.
  • Lenovo dock integration works with zero tweaking (when placed in the dock, the display switches to the external monitor, and vice-versa).  This is very important.  (This completely stopped working… I’m trying to figure out why and how to make it work again. Update: It seems related to this previous post of mine.)
  • Videos play without too much stutter or jerkiness, even in full screen mode.
  • I don’t have to do anything to get sound to work. (See below for a caveat)
  • The UIs for various settings are very smooth and intuitive without unnecessary clutter.
  • The user interface (panel, menu, desktop) is quite smooth and sleek, most things are placed in intuitive locations, and it is easy to get work done without the UI getting in my way.
  • I had existing home directories for a small number of user accounts.  When I mounted those home directories and added users with the same names as before, the userids were set properly and users were able to immediately begin using their old home directories.  I am not sure whether this was just a coincidence (did I recreate user accounts in the same order that I had done previously, and hence get the same sequence of userids? If I had changed the order, would everything have been messed up?).  I was concerned about this, and it’s great that it worked so smoothly.

The bad:

  • Why create a DVD-size install disk (800-odd MB)?  I didn’t have a USB stick handy, and it was pure luck that I had a blank DVD lying around.  I’d expect CD-size install disks to work better.  But this is a minor problem.  I imagine most people would use a USB stick.
  • The install process is excellently simple.  However, one part of the process gave me some nervous moments.  I have a complicated partitioning scheme.  When I was setting up partitions manually, the “format” option for some partitions was grey, while it was white for others and had an “X” for yet others.  I wasn’t sure what the grey meant and it wasn’t explained anywhere, leading to nervousness because I wasn’t sure whether my data-filled partitions would be formatted.  In the end, they weren’t formatted and it all turned out ok, but I’m still no wiser as to what the grey formatting box means.
  • When logging in, it says something about Run XClient Script.  I installed the Cinnamon version and know about MATE, but what is this XClient Script?  Need to stop referring to things people are unlikely to know about without an explanation.
  • No switch user button in the menu.  I have to lock the screen to get a switch user button.
  • Right after installation, none of the package management software (including synaptic package manager) would start because of a malformed line in the sources list.  I had to manually edit the file to fix this.
  • X is unstable.  Sometimes I log into an account and get blank white squares instead of icons or letters, and various parts of the screen are blanked out or garbled.  Installing the nvidia drivers appears to have fixed this.
  • Nowhere in the manuals or release notes is installation of nvidia drivers mentioned.  You just had to know to install them.
  • Synaptic still hasn’t gained the ability to install selected packages in the background while you continue to browse other packages.
  • The login/logout system is generally unstable.
    • If I switch users or log in and out 2-3 times, the computer crashes and I have to reboot.
    • Even when it works, switching users results in some peculiar behavior.  The screen blanks out, I see a blinking cursor, then the screen blinks a couple of times before the login screen appears.  Sometimes there’s a text login that appears for several seconds before the graphical login window comes back.  An nvidia splash screen also becomes visible sometimes.
    • The login system doesn’t play nice with the docking system.  If I switch users, the new login screen disappears from the external screen and only appears on the laptop screen (which I have to open while it’s in the dock to proceed).  After logging in while docked, attempting to switch users leads to peculiar bugs, including the inability to view programs started, even though they show up on the taskbar (there’s just no window for the program).
  • After installing software, it’s sometimes necessary to log out and back in for the menu search to detect it.  (Other times it is detected right away.)
  • They chose to include a crippled Add Users program.  There is already a program that lets you add users as well as set various permissions through group membership (like the ability to mount CDs or use a printer or VirtualBox).  In Mint they inexplicably discarded the feature-rich version in favor of a program that only allows you to add or delete a user.
  • The alternative package management tool (mintinstall) is a frustrating mix of good and bad.  It has this great feature where you can begin installing some packages in the background while continuing to browse other packages (I can’t believe synaptic still can’t do this).
    • However, it isn’t possible to quickly select or queue multiple packages for installation — there’s no right-click package selection.  To select a package, you have to double-click on it and then click an “install” button.  To then select another package, you have to hit a “back” button, double click on another package, and click the install button.
    • Also, and this is quite important, once an installation is started there seems to be no way to interrupt it or cancel.  The cancel button doesn’t work.  If it is closed during installation, the tool closes the UI but continues to install packages in the background.  During this time it locks the package management system and there is no way to communicate with it.  So I ended up waiting a long time for it to finish downloading and installing packages I had changed my mind about.
  • There still doesn’t seem to be any way to mirror the desktop over DLNA.  And still no way to stream PulseAudio sound output over DLNA or AirPlay.  There are no DLNA control points available that work with any of the music players.  There are supposed to be some programs that enable some of these, like rygel, xmms2-plugin-airplay, pulseaudio-module-raop, and a totem airplay plugin.  None of them works.  C’mon — it’s 2013, for goodness’s sake!  Even my Android cell phone can do these basic things.
  • Caveat Sound seemed to work out of the box.  Then it just stopped working.  I can no longer see the local sound device.  The only device that sound can be sent to is “Dummy Output”, which seems to be like /dev/null for sound.  That is, I can no longer play sound at all.  This problem went away after rebooting, but it’s quite unclear why it occurred and seems likely to recur in the future.
  • Ubuntu One isn’t installed by default.  I don’t buy very much music, but unless it’s much more expensive or lower quality than 320 kbps I prefer to buy on Ubuntu One, as a way of supporting Linux. This is minor (Ubuntu One is easy to install), but since Mint is based on Ubuntu, I feel they should have included Ubuntu One.

What’s Wrong with a Hunger Strike?

Posted in India by Armchair Guy on April 10, 2011

Anna Hazare scored a victory of sorts against corruption recently; people have been calling his methods Gandhian — probably because he used Gandhi’s favourite instrument, a fast unto death.  Many important events were triggered by this trick, including the linguistic reorganization of the states in the 1950s.

There appears to have been a great deal of popular support for Hazare’s initiative.  However, there are some who question the idea of using a hunger strike to achieve ends.  For example, this blog says:

Of all the hypocritical actions that Gandhi indulged in publicly, fasting to death is most definitely the most remarkable. … Hazare’s fasting to death and the public support that he has enlisted shows how immature India is as a nation.

I think these comments miss the point entirely.  Anna Hazare merely provided a focal point to people who have already had corruption on their minds for several months now.  A hunger strike is sometimes a form of blackmail, but when it reflects popular sentiment it is more properly seen as merely an expression of a threat to the government that already exists in the minds of the people.  The point of a hunger strike is not simply to blackmail the government.  Others have tried this and failed, for example some of those pressing for Telengana, who were neatly castled by having their demands agreed to simply for the purpose of bringing their fast to an end.  (This might even happen with Hazare, who has shrewdly promised to renew the agitation if the Lokpal bill isn’t passed within a reasonable time frame.)

The point of a hunger strike, I think, is to raise an extreme and very visible protest.  Such a protest could be violent and uncultured (witness the damage to public property and rioting done in Hyderabad by supporters of a separate Telengana state), or take a more serene form, like a hunger strike.  By supporting the hunger strike, even to extent of joining in, I believe the nation has shown great maturity.  We didn’t go about smashing public property — but we made sure the government sat up and took notice.

The effectiveness of Hazare’s action (and Mahatma Gandhi’s innovation) is twofold.  First, that it effectively focuses a widespread public sentiment into a single spearhead that can be used to goad the government, much as a magnifying glass can focus the sun’s rays and ignite things.  And second, handled properly, it is a spearhead without undesirable side-effects like riots and destruction of public property.

Of course, as many other bloggers pointed out (and I’m not including all links here) the agitation as well as the bill are only minor battles in the war against corruption.  We’re all corrupt, a sea of corruption, and these are just a few drops of purity.  Corruption will start to die when, for example, we not only refuse to pay bribes, but refuse to evade paying income tax as well.  (Something I believe 99% of even the most self-righteous 1% of the population do.)  That’s an important but completely different issue.

Math in R plots

Posted in Computers by Armchair Guy on April 5, 2011

R provides a way (see ?mathplot) to insert math into titles and labels in plots.  An example: plot(1, main=expression(S[A])).  This will create an S with a subscript A (S_A) in the title of the plot.

But what if you have a variable called x, and you want S_A and the value of x in the title?  For example, if the value of x is 3, you want S_A = 3 to appear.

I’m sure there’s a simpler solution, but here’s the simplest one I’ve got:

  1. First, note that it would suffice to type in plot(1, main = expression(paste(S[A], ” = “, 3))).  Of course, we want the value of x there, no matter what it is — not just 3.  If we try plot(1, main = expression(paste(S[A], ” = “, x))), that will result in S_A = x appearing in the title, not what we want.
  2. The solution is to create the string we would have typed if we knew the value of x.  We do this like this: s <- paste(“plot(1, main = expression(paste(S[A], \” = \”, “, x, “)))”). If we now print the string s, it will show “plot(1, main = expression(paste(S[A], \” = \”,  3 )))” (if the value of x is 3).
  3. Now, we “run the string”: eval(parse(text = s)).

There are some more complicated but flexible solutions, like integrating postscript output from latex into R graphs (using psfrag).

সূর্যোদয়?

Posted in India by Armchair Guy on March 21, 2011

Are the three decades of darkness Jyoti Basu and his CPI(M) ushered in about to end?  Is there finally going to be a sunrise in West Bengal?  Mamata appears to be building a team of competent administrators.  Or at least, she wants to appear as if she is.  See http://ibnlive.in.com/news/mamata-rides-on-star-power-this-poll-season/146592-37-64.html .

The $3 Billion New Delhi Airport Terminal

Posted in India by Armchair Guy on March 17, 2011


A while ago, I wondered whether New Delhi really needed to spend $3 billion to build a new terminal.  I was in New Delhi a few days ago, so got a chance to see first hand what all the fuss was about.

The good: The new terminal is large, shiny and new.  It features a lot of fairly attractive decor.  Most international airlines have been relocated into the new terminal, as well as several domestic ones, such as Air India and Jet.  This is great because in the past it was always a pain to switch between the international and domestic terminals, especially if you were encumbered with a lot of luggage.  There’s a food court just outside the check-in area that stays open 24 hours.  It’s clean.  It’s got a lot of shops.

The bad: The first bad thing that struck me is the carpet (ha! but yes, that’s what struck me first).  I don’t think it’s generally a good idea to carpet an entire airport, because it will lead to high maintenance costs.  They also chose a chaotic orange, red and brown print that I think is atrociously ugly.  More importantly, I got the impression that they built way too big and didn’t know what to do with all the space.  In departure areas, you walk long distances through corridors and walkways that house absolutely nothing.  You’re not walking past departure gates or anything, just featureless spread out corridors that are so long they needed to add a lot of expensive moving walkways.  Possibly they might add gates to those corridors at some point, but that would involve ugly construction that everyone would have to walk through.

All in all, I have the feeling that the terminal is fairly nice, but it’s too large and it’s going to cost us a lot to maintain it.  I don’t have any idea how much it costs to build airports, but $3 billion seems a high for a single terminal, even a big one with a lot of ugly carpet.

Maha Sivaratri

Posted in India by Armchair Guy on March 6, 2011

A group of girls bathing at dawn in the Bay of Bengal off Vizag after a night of fasting for Maha Sivaratri.  There’s quite a large turnout, with thousands of people (families, groups of youngsters, and the elderly) enjoying a dawn dip, some spirituality, and a bit of fun.  Dawn, March 03, 2011, Vizag.

More Sycophancy in the Congress

Posted in India by Armchair Guy on February 21, 2011

This is of course a pet peeve of mine, but it’s a peeve that is reinforced and confirmed with frightening regularity while the Indian press plays ostrich (or does it ignore the elephant in the room — pick your favourite metaphor).

Under fire from Baba Ramdev’s supporters, and questioned by his own party, Congress MP from Arunachal Pradesh Ninong Ering began blabbering about his loyalty to the Family.  After getting into trouble for making apparently anti-Indian comments, Ering began talking about how it was all because of his love for Rajiv Gandhi.  See here. That is the best hope for a Congressman nowadays: when in trouble, express love and devotion for the Family.  It might save you.

Watson and the Singularity – IV

Posted in Computers by Armchair Guy on February 17, 2011

On the last day, Watson was not nearly as dominant as on the second day, but won a big packet on the Final Jeopardy question to take its total winnings to much higher levels than either of its contestants.  For a large part of the third day, Ken Jennings was in the lead.

Watson uses the correctness of previous answers to try to understand what a category means.  For example, in a “Name the Decade” category, Watson wasn’t sure what the category name meant — so it didn’t know that it could restrict its answers to the set {1900, 1910, 1920, …, 1990, 2000}.  When it is unsure in such a manner, Watson uses previous correct answers in that category — possibly by its competitors — to narrow down what the category means.  It was clear on the third day that Watson didn’t understand what certain categories meant, even after observing opponents’ correct responses.  This meant it did poorly on those categories as a whole.

Watson’s natural language processing, I think, is tailored to the task at hand — winning Jeopardy.  Like I said before, it doesn’t understand sentences the same way a human would.  While watching the show, I found that many of the answers were found in the intersections of two or more sets, but Watson didn’t identify all of the sets.

I would classify Watson as a mild sub-Singularity event at this point.  If indeed programs like Watson proliferate the way chess programs have — if Watson clones become much more powerful and lightweight enough to run on the computer as personal assistants, perhaps with some help from the cloud — we will be on our way to real artificial intelligence.  Sequential improvements in such programs will eventually lead to super-human intelligence, much as the Singularity gurus predicted.  Eventually, APIs for NLP and this type of reasoning might become commoditized — unless companies like Google prefer to provide access APIs only, and keep all the computation hidden on their servers.

The question that immediately popped into my head when I heard about this Jeopardy challenge for the first time was “why not Google?”.  IBM has a fantastic record of innovation, of course, but the things Watson does are right up Google’s alley.  Search would be greatly improved if you could ask a question and have it answered in addition to being served a bunch of related pages.  Personally I believe Google has already developed a system like Watson.  So why don’t we know about it?  Two possibilities.

First, Watson needed 2800 processors to answer questions one at a time.  The technology that Google has may or may not be equally advanced, but perhaps doesn’t scale up to allow answers for millions of questions yet.

Second, this is a card in Google’s hand that it doesn’t want to show unless necessary.  If a competitor (mostly Bing at this stage) appears to be making significant inroads into its search space, it can add this feature to jump ahead, so it’s insurance.  Revealing everything would just provide Microsoft with a “copy this!” blueprint.

Watson and the Singularity – III

Posted in Computers by Armchair Guy on February 16, 2011

On day 2, Watson comprehensively outscored his human opponents.

To some extent, it seems Watson is at an advantage because his pneumatic button-pressing system can react faster than any human possibly could.  This severely affected Ken Jennings, who obviously had some of the answers and showed frustration at never being able to get to the buzzer first, shaking his head on occasion.

Perhaps a more fair way to assess Watson’s intelligence (as opposed to his button pushing prowess) is to adjust Watson’s button presser to be more commensurate with the pressing rate of human nerve systems.

Although Watson is doing great, it is becoming more apparent that Watson doesn’t understand the nuances of language in the clues as well as a human could.  There’s a document here (PDF) detailing some of Watson’s programming.

Watson and the Singularity – II

Posted in Computers by Armchair Guy on February 15, 2011

So, I watched the first part (of three) of the IBM Watson Jeopardy challenge.  So far, Brad Rutter and Watson are tied at first place, with Ken Jennings somewhat behind.  I was interested in getting a sense for how Watson “thinks”.  One of the things I tried to do was get a sense of the extent to which Watson is “understanding” human language.  At this point the answer seems to be “not very well”.

Of course, it’s hard to glean much just watching a TV show, but it seems as if Watson isn’t quite understanding language the way we do.  If a clue indicates the answer is a member of two sets, for example, Watson sometimes seems to ignore the second set.  An example (paraphrased): This word can mean the bend in the elbow and also a thief.  Watson’s best guess was “knee”, which has nothing to do with the second set (words that can mean “thief”) though it does have something to do with the first set (words that can mean the bend in the elbow).  The right answer was “crook”.

Watson seems to do superlatively well when there are unique phrases to be matched, i.e. when the clue contains phrases that are pertinent only to the answer and wouldn’t occur anywhere else.  Perhaps this is not surprising at all.

It’s possible Watson’s thought processes are a bunch of shortcuts completely unlike ours.  It may for example simply be finding a bunch of words and phrases based on associations with keyphrases in the clue and then ranking them.  Rather than searching for words/phrases in the sets that the clue is asking for.

Perhaps the right test is this: is it easy to add a subroutine to Watson that would allow it to rephrase the clue in several simpler English sentences?  I don’t know.  So I’m still unsure whether to call the creation of Watson a Singularity defining moment.

Egypt’s Revolution and India

Posted in India by Armchair Guy on February 12, 2011

I saw two blog articles today with ideas that surprised me.

The first is pointed out here:

Pentagram’s Vishal Dadlani exultantly tweeted that the band had a rocking concert in Guwahati and Egypt became “free” on the same night! Then he wrote, “All it took was 18 days, and that the Egyptian people stood up for their rights. Come on India, you can do it!!”

The second one is here:

Even as Indian observers debate the question of why and how Egyptian revolution cannot be replicated in India, the unique characteristics of Egyptian revolution will be of interest to the readers here.

Of course we Indians are interested in what happens in Egypt, some in a general world-news way, some more intellectually.  But these two people (i.e. Vishal Dadlani and V. Venkatesan) are talking about the feasibility of replicating Egypt’s revolution in India.

Wait, what??

How did that idea even enter the mindspace of the Indian public?

Presumably because India has a lot of problems.  A revolution might be an improvement in a country (like Egypt) that has been dictator-controlled for 30 years.  But in a naturally feudal country with an active democracy (like India) that is seeing steady improvements, a revolution is like a roll of a pair of dice — with things getting better if both dice show 6.  Most likely an Indian revolution will lead to a messy neo-feudal society with various warring factions tearing the country apart.

Are these commentators insane?  They have a personal desire for a little excitement, and their way of getting their fix is to encourage revolutions in democracies.

Nokia and Microsoft?!

Posted in Computers by Armchair Guy on February 11, 2011

Nokia, one of Open Source’s biggest advocates and sources of strength, has practically merged with Microsoft, Open Source’s biggest enemy and saboteur.  The agreement goes beyond simple cooperation.  Nokia is killing Meego, an important open source initiative.

This has been on the horizon for quite a while, ever since Nokia hired long-time Microsoft insider Elop as its CEO, and intensifying with a leaked internal memo Elop supposedly sent to Nokia employees.

This probably will help Nokia in the long run, but it fundamentally changes the company’s character.  This is a sellout by a biased CEO.  I was with Nokia so far, but I’m switching to Android as soon as I can.

EDIT:

I had a conversation yesterday that got me thinking, and the more I think about it, the more it seems to me that Elop was a Microsoft implant into Nokia, sent in for this very purpose.  Elop apparently made some noises about why he picked Windows over Android, but I doubt he ever considered Android.  The deal is hugely helpful for Microsoft, which was struggling to get anyone to show interest in Windows. It also seems vaguely helpful for Nokia, but it’s simply not commensurate.  Microsoft gets Navtec maps, various services, a ready-made phone distribution net, and a huge share of phone profits from Nokia at absolutely no cost to itself!  Nokia gives all this potentially revenue-generating stuff to Microsoft for free!  All Microsoft is doing is providing the already-developed Windows OS — and even that for a share of the profits!

Watson and the Singularity

Posted in Computers by Armchair Guy on February 9, 2011

The Singularity is a recurring theme in artificial intelligence and in science fiction.

It refers to an event where a computer achieves certain significant feats of intelligence.  Different authors use it slightly differently, or use different terms.  Sometimes the word means achieving “self-awareness” (whatever that is).  Sometimes it means the creation of a computer that is as smart as a human.  Sometimes it means the addition of a technology that results in a massive increase in ability (the new state is usually one of higher-than-human intelligence).  Some authors speak of multiple singularities — computers caught in an ever-rising spiral of super-intelligence.

The AI promises of the 1980s turned out to be too grand and ill-founded to be realistic.  People thought then that they could program intelligence by programming the minutiae of thought.  This turned out to be a vastly bigger task than anticipated.

For a while, it seemed there were things humans could do that computers would never be able to.  One of the biggest, and most visible, blows was Deep Blue’s defeat of Garry Kasparov.  Today, software (Rybka, Glaurung, Stockfish) running on the ordinary desktop computer will easily defeat the best human chess players.  But Deep Blue and its younger cousins don’t really have intelligence, at least not what we usually mean by it.  They’re “on-rails”, and can do very restricted things on very restricted input sets.

But all this doesn’t mean man-made intelligence is impossible.  Instead of programming intelligence, we can perhaps include techniques like evolving it or learning it.  Is that what Watson has done?

Watson is a massively parallel supercomputer, developed by IBM, that will participate on Jeopardy against Ken Jennings and Brad Rutter.  Watson can understand a variety of language nuances and sift through its massive database to attempt to find answers.  Given the diversity of subject matter as well as question phrasing on Jeopardy, this is quite a feat.  Does this qualify as intelligence?

It’s not clear to me how Watson works, but the bits I’ve gleaned indicate that it is a collection of a number of hand-written subroutines that interact in carefully human-tuned ways.  There’s no automated evolution or search of algorithms to try to make it better.  In that sense, it is still algorithmic, much like Deep Blue.  But Watson’s algorithm is much more complicated and chaotic than Deep Blue’s.  It sounds complex enough that I view it as a limited form of intelligence.

Perhaps we are hitting the first technological singularity, although it’s not the single explosive moment some have imagined.

Watson might have been a good learning experience — the engineers at IBM must have figured out a lot about how to make computers think.  But it still lacks the essential ingredient that sci-fi authors fantasize about.  We still don’t have automated techniques to take a given computer and make it better.  That is, we don’t know how to make computers improve other computers.  That would be the a real Singularity.

Manmohan Singh and “Political Mileage”

Posted in India by Armchair Guy on February 7, 2011

The position of the Prime Minister of India is practically a sinecure nowadays.  The PM doesn’t make any decisions, formulate policy, know what his own cabinet is up to, or do anything worthwhile at all.  Instead, like the President, the PM’s job nowadays is to sign paperwork and meet and greet various foreign dignitaries.  All the real decisions are made by Sonia Gandhi, of course.

I forgot to mention one thing the PM does have to do.  Whenever the opposition brings up an instance of corruption or ineptitude on the part of the government, Dr. Singh makes a public comment.  He says, “The opposition is playing politics with this issue.”  Corruption at the Commonwealth Games?  That’s just the Opposition Playing Politics (OPP).  The 3G spectrum scam?  OPP again.  Black money stashed in Switzerland?  OPP.  That’s his explanation for everything.

(Like Paris Hilton tried to trademark “That’s Hot”, and Trump tried to trademark “You’re Fired!” (did he trademark it?), Manmohan should try to patent “OPP”!  He’d earn royalties from politicians in democracies everywhere.)

So I wonder what his reaction would be to this bit of ridiculous political grandstanding by Rahul Gandhi.  To summarize, Rahul Gandhi used a rape victim to make a surreal attempt at scoring a political point.  He dared Mayawati to visit the victim.  Presumably he believes Mayawati is personally responsible because the crime occurred in the state Mayawati is Chief Minister of.  Perhaps he also thought Mayawati was responsible because the victim was a Dalit, as is Mayawati.  (It doesn’t make any sense to me, but then this is Rahul Gandhi.)

Now where’s Manmohan with his comments about political mileage?

Hayek, Predictability, Justice and Affirmative Action

Posted in Armchair Ruminations by Armchair Guy on February 6, 2011

I had a rather exhausting discussion with Sanjeev Sabhlok in the comments of this post on whether reservations (or more generally affirmative action) contradicts basic principles of justice.

Hayek

The only good thing that came out of that discussion (from my viewpoint) is it prompted me to glance through some pages of Friedrich Hayek’s Law, Legislation and Liberty.  Specifically, I looked at his chapter on Social Justice.  The entirety of my exposure to Hayek’s ideas is that one chapter, so I’m quite happy to be corrected.

It’s not hard to see why Hayek is held in high esteem.  This small chapter covers a wide variety of issues, many of which I think are relevant to the issue of reservations and affirmative action.  I find Hayek’s writing style hard to read, since his passages sound ambiguous to me.  It’s probably true that he had a precise position on the issues, but his book isn’t written that way and feels somewhat open to interpretation.

I don’t claim to understand Hayek’s theories very well, but some things jumped out at me.  Hayek says that we have the right to set rules, but to expect that once the rules are set and the market is set in motion, it is pointless to speak of the justice of the outcomes of the market (as long as everyone follows the rules).

This is an interesting idea, and curiously it parallels Krishna’s “Karmanyeva adhikaraste…“!  We have the right to decide the rules of action, but not to decide the outcomes, which are subject to much randomness!  It is widely accepted that attempts to make sure everyone has what they need is socialism; indeed, that is often treated as the definition of socialism.  Hayek says that attempts to make sure everyone gets exactly what they deserve is still socialist.  He calls this social justice (or rather, says this is what others mean by social justice).  But Hayek goes a step further in thinking about this, and makes two apparently contradictory statements.

Predictability

First, Hayek seems to agree that laws should not be predictably biased towards or against a segment of the society.  This I think is fascinating and in fact a crucial consideration while framing laws.  At the time we frame a law, it should not be predictably unjust.

Elucidating what “predictable” means here is an interesting exercise in itself.  My interpretation is the following.  A predictable set of people is at time t is a set that is determined by events occurring up to time t, and not after.  Thus “Dalits in 2010″ is a predictable set in 2010, but “millionaires in 2020″ is not very predictable in 2010.  However, “millionaires in 2010″ is of course predictable in 2010. As with all social things, a certain level of fuzziness in defining sets is probably convenient.  The set “billionaires in 2015″ is probably predictable with 99% accuracy in 2010, although the set “millionaires in 2015″ is much less predictable.  Allowing for this slight fuzziness, “Dalits in 2050″ is a predictable set in 2010. (People can and do “change their caste”, often through birth certificate fraud, but so few do it that the set is almost determined in 2010.)  Have I defined predictability precisely?  Not mathematically.  But it seems precise enough for society, law and justice.

When we pass a law that increases the relative advantage or disadvantage of a predictable set of people to its complement, we are doing something wrong.  Thus, if we pass a law in 2010 that will widen the advantage gap between, say, the 40-th and 60-th wealth percentile of the population in 2020, the principle of predictability does not prohibit this (since these percentiles are not very predictable sets).  On the other hand, if we pass a law that will widen the advantage gap between the blind and the not-blind in 2015 (a moderately predictable set in 2010), there is something wrong with that law.  Similarly, if we pass a law in 2010 that increases the advantage gap between Dalits and non-Dalits in 2050 (a highly predictable set), there’s something wrong with that law.  This is the gist of my application of Hayek’s predictability criterion to the affirmative action case.

Of course, it’s not quite as simple as that.  It’s not enough to say widening the gap is bad and narrowing it is good — we should also worry about whether things are getting better for everybody.  If we pass a law that predictably reduces everyone to abject poverty, this might reduce the gap — but it’s not what we want.  On the other hand, passing a law that predictably makes Dalits remain poor while increasing most non-Dalits’ wealth is also obviously wrong — even though it is true that some people have gained, and no one has been harmed (relative to where they started off).  Also, most outcomes will invariably be biased if a short enough time-frame is chosen.  For example, it’s certainly true that, no matter what anyone does, those who are poor on Jan 1, 2010 will overwhelmingly remain poor on Jan 2, 2010 — or for that matter on Jan 1, 2011.  Since ALL laws are biased, should we refrain from passing any laws?  A reasonable time frame has to be attached to the term “bias”.

Thus, this is a very loose principle — laws will need to balance fairness, considerations of where people start off, practicality, enforceability, acceptability in society, timeframe and a number of other factors.  Indeed, I think it’s not possible to state a succinct, simple principle that can be the sole guiding principle behind all laws, or even identify all the factors that need to be considered.

Equality of Opportunity

Now, it seems as if equality of opportunity is a natural consequence of this concept of no predictable bias.  After all, if there’s no predictable set of people that is better off than another, isn’t this the same as saying that the law is equally unbiased towards everybody?  It seems any principle for framing laws should lead to laws that give everyone the same opportunities, even though various random events would likely lead to differences in final outcomes.

This is where Hayek seems to make a contradictory statement.  Hayek says that equality of opportunity is also a socialist ideal — not a-priori, but in its implications:

To achieve this government would have to control the whole physical and human environment of all persons, and have to endeavour to provide at least equivalent chances for each; and the more government succeeded in these endeavours, the stronger would become the legitimate demand that, on the same principle, any still remaining handicaps must be removed-or compensated for by putting extra burden on the still relatively favoured. This would have to go on until government literally controlled every circumstance which could affect any person’s well-being.

This sounds correct — it is obviously impractical to demand that the government provide perfect equality of opportunity to every single individual.  But Hayek himself says that

So far as [equality of opportunity] refers to such facilities and opportunities as are of necessity affected by governmental decisions (such as appointments to public office and the like), the demand was indeed one of the central points of classical liberalism, usually expressed by the French phrase ‘la carriere ouverte aux talents’. There is also much to be said in favour of the government providing on an equal basis the means for the schooling of minors who are not yet fully responsible citizens…

It seems that equality of opportunity is perhaps not inevitably socialist or classical liberal, but rather a mixture of the two tempered by the extent to which it is practical.  That is, government should endeavour to provide equality of opportunity up to the point where it has to start taking socialist actions like controlling people’s lives.  The line between providing equality of opportunity and socialism is blurred — so blurred that it’s silly to pretend there’s a line (my thoughts, not Hayek’s).

Affirmative Action

How does all this tie in with affirmative action?  The principle that laws should not be predictably biased would seem to indicate that affirmative action is necessary.  The current system is extremely harmful for Dalits and certain other backward classes.  Indeed, the state completely failed them for several decades, a situation that is only now starting to be rectified. Under current laws, and under any law that completely denies all forms of affirmative action, Dalits will predictably be disadvantaged and continue to be punished by the system for several decades.

It is important to note that this reasoning does not apply to every group that is disadvantaged.  If a Muslim and a Brahmin are equally smart and study in the same class in the same school (I’m establishing ceteris paribus here), I think the Brahmin has no advantage compared to the Muslim.  They are equally likely, or almost equally likely, to find good jobs.  In addition, opportunities available to Muslim and Brahmin kids are the same modulo their own beliefs.  That is, if a community of Muslims chose to reach out and accept the available opportunities, they would be no worse off than a community of Brahmins.  The same is not true for Dalits.  There are active as well as passive forces arrayed against the Dalits.

Thus, Hayek’s own notion of not predictably harming someone via legislation seems to support the idea of affirmative action for Dalits.

The important question whether this can be classified as actively harming non-Dalits.  I don’t believe so.  Increasing opportunity for Dalits in this way certainly decreases opportunity for non-Dalits, but opportunity was lop-sided to begin with, and the lop-sidedness continues to be maintained using marginally legal methods.  With affirmative action, entrance into various lucrative positions becomes tougher for non-Dalits, but still not as tough as it is for Dalits.

My Position on Affirmative Action

For the record, my own position is a guarded support for certain forms of affirmative action in the short term.

I think it’s important to base affirmative action not only on caste, but on as many major sources of predictable variability as practical.  This is the topic of the MIRAA score discussed in my other post.

I also believe affirmative action is nothing but a temporary pressure valve measure to quickly correct certain imbalances.  It is no substitute for free, high quality universal education.  Education, not affirmative action, should be the method of choice for ensuring equality of opportunity.  Education is the only useful very-long-term sustainable means for equality of opportunity.  The only reason for affirmative action is that it seems impossible to equalize “predictable opportunity” using education alone in the next 30 years.

Sonia Gandhi’s Feet

Posted in India by Armchair Guy on February 2, 2011

This makes for very interesting reading: http://www.hindustantimes.com/Angry-Congressman-sings-Telangana-tune/Article1-657742.aspx.

There’s nothing interesting about the politician in question or the backtracking he’s doing; what’s interesting is just how scared this 82-year old veteran is.  Scared of repercussions after he criticized Sonia, he said he’d touch Sonia’s feet if she agreed to splitting Telengana.  The abjectness of his situation, and the culture within the Congress, come through pretty clearly.  Numerous Congress leaders, including his own son, jumped to denounce his statements.

The ASER 2010 Report

Posted in India by Armchair Guy on January 15, 2011

The NGO Pratham has been doing an annual survey of children’s education in India for several years now.  The ASER 2010 report makes for interesting reading; it has some good and some bad in it.  The heartening news is that enrollment of children of all ages has increased.  The disheartening news, apparently, is that the percentage of children passing various specific indicators has decreased, including the percentage of class 5 children able to read at the class 2 level.

What could the causes be?  There are two potential reasons that I can see.

  • The first possibility is that the quality of teaching has declined — that is, the previously existing teachers have lowered their standards for some reason.
  • The other possibility is that the existing teachers have maintained their quality, but the new capacity required to handle the increased enrollment hasn’t materialized.

In the first case, the children are worse off than they were a few years ago.  In the second, every child is better off than before, even though the indicator has decreased.

This latter case more likely applies to another measure in the ASER report:

the proportion of Std I children who can recognize numbers (1-9) has declined from 69.3% in 2009 to 65.8% in 2010.

This is perhaps attributable to the newer enrollees, some of whom might have been enrolled in class 1 directly without completing kindergarten.

Follow

Get every new post delivered to your Inbox.