Installing Ubuntu on Alienware 17 R2



Heres how I could get my Alienware 17 working on Ubuntu –

  1. Connect the machine to Internet using a LAN cable.
  2. Change these after entering BIOS setup
    1. Set boot mode to Legacy
    2. Bring up the priority of the USB drive above hard disk in boot device list.
    3. Save and restart.
  3. Install Ubuntu from a USB stick.
  4. After booting to newly installed Ubuntu –
    1. Install Wifi
      1. Open Terminal
      2. sudo apt-get upgrade
      3. yeah that’s it. Atheros Qualcomm Killer Wifi driver would now be installed.
      4. Restart the system, look for Wifi icon in status bar to verify.
    2. Install NVidia GeForce Graphics card driver
      1. Open Terminal
      2. sudo add-apt-repository ppa:graphics-drivers/ppa
      3. sudo apt-get update
      4. sudo apt-get install nvidia-358 nvidia-settings  ( nvidia-358 was the latest version when I installed. Please find the current version from here )
      5. Restart, verify if “GeForce GTX ** ” is shown as the Graphics card in “About This Computer” dialog.
    3. Fix issue with headphones not working –
      1. Open Terminal
      2. alsamixer
      3. Press F6
      4. Select “HDA Intel PCH” card
      5. Press right arrow till the Item shown is “HP/Speaker Auto Detect”
      6. Press M to set it on.
      7. Connect headphones and verify if it works.

Your Linuxed Alienware should now be up with sound, graphics and Wifi and Bluetooth working without issues.

References :

Ravana – that decent guy. really ?



The real reason why Ravana did not use force on Sita devi. Taken from conversation between Ravana and his step brother Mahaparshva –

महापार्श्व निबोध त्वम् रहस्यम् किंचिदात्मनः |
चिरवृत्तम् तदाख्यास्ये यदवाप्तम् पुरा मया ||

“O, Mahaparsva! Know a little secret about me. I shall tell you an incident, which occurred to me long ago.”

पितामहस्य भवनम् गच्चन्तीम् पुञ्जिकस्थलाम् |
चञ्चूर्यमाणामद्राक्षमाकाशेऽग्निशिखामिव ||

“Once I saw a celestial nymph, Punjikasthala(by name) flashing like a flame, concealing herself in the sky and proceeding towards the abode of Brahma.”

सा प्रसह्य मया भुक्ता कृता विवसना ततः |
स्वयम्भूभवनम् प्राप्ता लोलिता नलिनी यथा ||

“She was unclothed by me and was enjoyed forcibly. Thereafter, appearing like a crumpled lotus, she went to the abode of Brahma.”

तच्च तस्य तदा मन्ये ज्ञातमासीन्महात्मनः |
अथ सम्कुपितो वेधा मामिदम् वाक्यमब्रवी ||

“I think that the matter was made known to the high souled Brahma and then the enraged Brahma spoke to me the following words:

अद्यप्रभृति यामन्याम् बलान्नारीम् गमिष्यसि |
तदा ते शतधा मुर्धा फलिष्यति न संशयः ||

“From today, if you revel with any woman forcibly, your head then undoubtedly will break asunder into a hundred pieces.”


( Refer : Valmiki Ramayanam, Yuddha Kandam 13:10 to 13:15)




Inducing intention into passive consciousness


धर्मात्मा सत्यसन्धश्च रामो दाशरथिर्यदि
पौरुषे च अप्रतिद्वन्द: शरैनं जहि रावणिं 

प्रत्यक्ष गद्यार्थ =  हे शर: यदि  दाशरथि: राम: धर्मात्मा सत्यसन्ध: च पौरुषे अप्रतिद्वन्द्व: चास्ति , तर्हि एनम् रावणिं जहि |

Context : At the end of 3 days (and nights) battle between Lakshmana and Indrajith, just when all divine weapons of Lakshmana seems to be  neutralized by equally potent counterparts by Indrajith, he invokes this covenant on an already powerful Aindraasthra (arrow with destructive powers of Indra/personification of electricity).

This is a wonderful sloka with multiple meanings, as viewed from perspective (or spiritual state) of the reader. Most relevant in age of Kali when all efforts to maintain order in mind and the world seems to fail, and men need help from supreme consciousness even to moderately follow Dharma.

SreeVidya Sanskrit transliterator, a powerful tool for the bilingual Indians

I’m writing this article to introduce an interesting new tool  – SreeVidya.

What is SreeVidya ?

SreeVidya is a software tool originally written to transliterate Sanskrit to different regional scripts of India. Besides this, the tool can also be used to read an Indian language in any other regional language.

This will mean a lot to you if you are a bilingual citizen of the country; as in if you knew both Bengali and Kannada, and is a native of Bengal, you can now read Kannada blogs, News articles, movie reviews etc in Bengali script. Similarly as a Tamil guy, if you also understand Malayalam, you can read Malayalam websites in Tamil.

sreeVidyaDemo1[Above: A snapshot of SreeVidya auto detecting the source scripts and printing in target script]

How ?

It so turns out that all Indian languages are based on the same sound structures used by Sanskrit. And SreeVidya takes advantage of exactly that. Under the hood it understands the sounds of written words, and uses this information to recreate words of target script.

SreeVidya’s original use was to cater the growing need of Sanskrit enthusiasts in the country to remove the overhead of learning Devanagari for starting to learn Sanskrit.

Install SreeVidya on Firefox –

To install SreeVidya on Firefox browser, the following steps will do –

  1. From Firefox browser, open
  2. In the search box in the top right corner, type SreeVidya.
  3. Click on the SreeVidya search result displayed in the drop down.
  4. When the SreeVidya addon page is loaded, click “Add to Firefox” button.
  5. In the subsequent popup, click “Install” button.
  6. Done ! You will now have SreeVidya icon on the top right corner of Firefox which is the handle to your Indian language transliteration.

Install SreeVidya on Chrome-

To install SreeVidya on Chrome browser, the following steps will do –

  1. From Chrome browser, open the page
  2. Click the button “ADD TO CHROME” in this page.
  3. In the subsequent popup, click “Add extension”.
  4. Done ! You can now change the script of Samskritham (or other Indian language blogs) using the plugin icon that appears in the right top corner of the Chrome window.

Some of the portals you can now read in your own native script using SreeVidya –

You can find details here –

Why Indians are good in software ?


I’m prompted to write this article, after I read this piece of information from a blog – Once the founder of Infosys, NarayanaMurthy was asked this question -“Why are Indians good at software”?

He answers as, “we are grateful to the British who came and taught us math, and science and software, that’s why we are good at it”.


This made me ponder on why India is natural choice for Software development for the world. It’s my inference that, Indians are specialized as a population to solve problems in subtle and complex problem domains. Here are the supporting observations, (other than cheap labour facilitated by currency exchange ratio ) –

  1. Many Hindu religious structures more than a millennium old, could not have been made without knowledge of advanced mathematics and engineering methods.
  2. Indians on average, are shorter and thinner than Europeans or Africans, which hints at many thousands of generations of civilized living (which took out out the need for physical exertion for survival)
  3. Every modern scientific discovery in Europe occurred only after Europeans discovered India. Before finding route to India, Europeans believed earth was a plane. (Refer :, and
  4. Cultural order – Indian/Chinese society has much lesser entropy (like divorces), when compared to the West – which clearly hints to a strong cultural knowledge acquired and passed on through many thousand years of civilization.
  5. The whole world acknowledges that the decimal system originated in India (for that matter, even calculus and idea of  relative time scales).
  6. Sanskrit, the language of Vedas, is highly efficient and precise (compared to current European languages which have many ambiguities), hinting to the higher algorithmic aptitude of the society which created and used it.
  7. Mahabharatha war, (documented by Indian scriptures to have occurred before 5100 years, as per scientifically consistent Vedic calendar), clearly describes ability of learnt men then to calculate auspicious planetary positions.
  8. The Sanskrit poetic history also describes many conversations where people debate on the unity and interaction of individual consciousness with cosmic consciousness. Even during present days, human discussions seldom get more abstract that that 🙂

Note: Written only to raise spirits of Indians from frequent assaults in mainstream media.  (friends in the west not to get offended.)


Ant-apt-repo : An ant task to create apt repository from .deb files

This is a simple Ant task (hosted here) to create an apt repository from within an Ant project. It is ported from the maven plugin – theoweiss/apt-repo.

This task is usually used with the debian package creation task ant-deb.


    <taskdef name="aptrepo" classname="com.codemarvels.ant.aptrepotask.AptRepoTask" >
            <fileset dir="lib/ant/apt-repo" ><!--all jar files in this project is expected to be found here -->
                 <include name="*.jar"/>
<target name="createRepository">
  <aptrepo repoDir="${debian.folder}/output/repository"/> <!-- keep all .deb files in this folder -->


  • Keep all .deb files you want to publish, in the repoDir folder.
  • The package listings will be created in the same folder, which can then be published using a web-server as a debian repository. (The URL to this folder will be the repository URL to be added to sources list)

How to use old an android phone as a wireless speaker ?

I recently converted an otherwise useless old android phone into wireless speakers (complementing an old wired 2.1 speaker-set I had).

The setup needs two phones, a 2.1 speakerSet and WiFi network. After searching and trying many Apps from PlayStore, this is what worked for me –

  1. In the old phone –
    1. Open Play Store.
    2. Search and Install SoundSeeder Speaker. (Free version. Note – Free version will auto disconnect after 15 mins of usage, after which you will have to pause and play again from your controller phone)
    3. Open SoundSeeder Speaker. Provide a unique name when prompted. Eg. “My wireless Speaker”
    4. Open settings (Android details button => Menu Opens => Settings).
    5. Make sure “Auto Connect” and “Stay Awake” are checked.
    6. Return to Android home.
    7. Open phone’s WIFI settings.
    8. In the advanced settings=> “Wi-Fi Sleep policy”, make sure the phone WiFi is always awake.
    9. Connect the speakers to this phone.
  2. In the current phone (using which you intend to play audio and control the speakers) –
    1. Open Play Store.
    2. Search and install SoundSeeder Player. (Free version)
    3. Open SoundSeeder Player. Provide a name for the device when prompted.
    4. Click on the speaker icon on top right corner.
    5. Click search Icon in the UI that opens.
    6. The name of the phone you configured before is displayed. Add it.
    7. Add your favorite songs to the player by clicking the Music Icon. Play one file and confirm its getting played on your speakers.

Thats it. You should be able to stream songs from your phone to the speakers via your old phone.

Note – Again, the free version does disconnect around every 15 mins, after which the controller phone has to pause and restart the music.

Sylvester–Gallai theorem – the intuitive proof

This article presents an effort to use Induction in geometry to prove Sylvester Gallois Theorum.

Theorem statement can be viewed here

For the proof, let us rephrase the theorem as follows –
(1) Given a finite set of points in Euclidian space such that any line passing through two of the points passes through at least one more of them, all points have to be collinear.

Let n be the finite number of points in the given set.

Base case:
Let n=3,
Given 3 points, such that a line containing two of them passes through one more of them, they are by definition, collinear.
Thus (1) is true for n=3.
Induction step
P(k) :
Let (1) be true for a given k points set.

For an external point in the same space to pass through any line passing through two of the points in the k-points set in P(k), it has to pass through the line passing through all of them.
Thus the only way to expand the given set of k points to a set of k+1 number of points, is to include an external point which is collinear with the existing points.
Hence all k+1 points of the expanded set are collinear.

Thus if (1) is true for n=k, then it is true for n=k+1

Thus by principle of induction, (1) is true for all n>=3.