How to make the brightness buttons work in Lenovo Z50 laptop?

I have a Lenovo Z50 laptop with ubuntu 14.04 installed.

The brightness control buttons are not working.

Searched net for this and found solution.

Here is the fix:

Open a terminal and create the following configuration file, if it does not exist:

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

Now we need to edit this file. You can use any editor be it a terminal one or graphical.

sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf

Add the following lines to this file:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"


Save it. Log out and log in back.

It is working fine now.

Thanks for the itsfoss team and stackoeverflow contributors.

Chennai events calendar – from google calendar to wordpress post via facebook event

Chennai is the hub for the events.

There are many sites like , to create and announce events.

But, the events stay there unnoticed, unless we visit the sites.

An interesting meeting may be happening tomorrow. We will be missing it without getting any info about that.

I started a shared Google calendar to solve this problem.
People can subscribe this calendar and get notifications via sms and email.

Visit the calendar here.

Public iCal :

Add the above link in your Calendar Application.

To Add this in your Google Calendar:

To get Events notifications via Email and SMS :

How to add events :

Email to tshrinivasan AT for Volunteering to add the events in this Calender.

You can volunteer to add the events in chennai. Currently we limit the scope of the events to computer technology, tamil, literatute, photography, nature, trekking etc.

Now, added two more features.

1. Facebook event creation from google calendar.

Using the site, connected google calendar, facebook page for events and wordpress posting the events.

Like this page :
To know the events.

2. WordPress blogposts for the events.

Site :

You can subscribe to email notifications for the events too.

Thanks for the Zapier team for providing the awesome services to connect different websites and portals.

Book Review : i want 2 do project. tell me wat 2 do.


The book “I want 2 do project. tell me wat 2 do.” is an excellent guide for any student to get into the Free/Open Source Software world.

The students have tons of queries when asked to do a project, themselves. Though they know the basics of few programming languages, they usually don’t do any programs themselves. They just copy/paste from others and found it is very difficult, when they have to do some programming themselves.

This book encourages the students to self learn new things and make their hands dirty with programming.
This is not a book to teach any language. All the programming books stop with teaching programming.
But this books begins from where they stop.

Students need to learn many stuff after programming. The communication with others and self discipline are the key strengths they should have. This books explains them well.

Shakthi Kannan, explains the following concepts

  • Mailing list guidelines
  • Programming language guidelines
  • Contacting mentors
  • Logging learning activities
  • The problems on continuous learning and how to overcome them
  • how to create and do presentations
  • how to concentrate on the basics
  • Various phases of Computer Science Skills
  • The Tools available for project development and contribution
  • Keep on growing the projects
    and more.

I recommend this book for all the computer science students. Learning does not stops with college. If you are working and interested in contributing to Free/Open Software, this book is for you. Start with this book, follow all the tips and guidelines. You will become a rockstar contributor for your favourite Free/Open Source Software.

Teachers are the big inspirations for the students. I recommend this book for all the lecturers/professors to read and contribute for any Free/Open Source software, ask their students to contribute.

The quotes in each chapter are much impressive. They show the hard work behind finding them and placing in proper places. The friendly writing style makes the book, easy to read and follow.

You can buy the book at the following links.

Pothi : :
Flipkart :

Thanks Shakthi Kannan for the wonderful book.

How to get a computer science career?

How students can prepare themselves for a computer career?


I thank Mr. Ashok <> for translating the article in English.

The original Tamil version is available here.


How students can prepare themselves for a computer career?


Dear student aspiring for a computer career,

For those students who have completed a computer science or related course and in the process of a job search or will be starting one,



Shall we talk a little bit about your job search process?


Each year, about 2 lakh students complete their studies in Tamil Nadu, graduate and start looking for a job in the computer field. Of course, it is not possible for 2 lakh new jobs to be created every year. This is why everyone does not get a job immediately. Only about 10% of the people land a job with large enterprises such as InfoSys, TCS and CTS in the Campus Interview. SMEs (Small Medium Enterprises) provide the opportunities for the remaining 90%.

Shall we see what kind of problems arise in hiring freshers in this kind of Micro, Small and Medium companies?


1. Training

These SMEs cannot provide the place, trainers and 6-months time for training the freshers like the large enterprises. Even one or two weeks is difficult. Students who are prepared to pay as much as 1 lakh rupees for a 6-month course in large private computer training companies like NIIT, instead if you join smaller companies, you expect to be paid a salary for the same training.

To provide free training, office in central city location, air conditioning, computers, internet connection and uninterrupted power and on top of that to pay a salary, these companies are not charitable organizations. Let us say these students are provided free training for a few months, it takes another 6-months for them to become productive. By then a year goes by.

After the lapse of a year, you compare yourselves with friends working for large enterprises. You say, “He is paid Rs 20,000 per month and gets overseas opportunities. I must have the same pay and overseas opportunities.” and switch to another company. Your company that has accepted new projects from customers, will have to start looking for employees again. As many are doing this, companies are afraid to hire freshers.

If they hire employees with experience of one year or more, they need to train them for only a week or two. They will start being productive from the third week. Companies will also get their work done. Even if they quit in a year, there is no big loss for the company. For the salary paid for the year, they would have got matching output.

Instead, if they hire freshers they have to pay the salary and invest in training. And their output is very low. What solution would you suggest for this?

If tomorrow you were to start a company, you will be facing this same situation. How will you manage this?

I can hear you saying, “This is all fine. But only if we get a job we can gain experience. Without a job we don’t have any experience either.” That is also true.


2. Knowledge and skills

Knowledge, skills and experience need not be gained only by taking up a job. We can grow these ourselves, Right?

What do most students say? “Give me a job. Then, I will learn all that is required. After that, I will grow my skills.” True.

Let us say, you buy a car to travel out of town with your family often. You are looking for a good driver. I have come for an interview. I have attended driving classes. But I do not have any experience.

“I have completed training. I have a certificate. But, I do not have experience. Give me employment. Let me have your new car. Give me training for a few months. Once I have learnt it well, I will drive your family wherever you want.”

If I say this, will you hire me? But, this is what you say to the companies.

For learning how to drive a car, you need a car that costs lakhs of rupees. But for learning computer skills you can use the computer you already have.

In cricket, if someone is not scoring runs, even if it is Sachin, we get annoyed. We expect them to score continuously and hit fours and sixes frequently. However, you will not create any software using your computer, but will listen to music, watch films, play games and keep chatting with your friends on social media. How is this justified?


3. Interview


If I advertise saying that I want 100 freshers for my company, at least a 1000 people apply. Most of these follow the same template. “I know C, C++, Java, Oracle, HTML, CSS, Javascript, VB, DotNet, ASP, Photoshop, Windows and so on.” With freshers versed in all these skills we begin to have confidence that we can develop any software. Let us call some of them for an interview.



“Hello, sir!”

“What are your skills?”

“I have all the computer skills. C, C++, Java, DotNet, Oracle… and so on!”

“Oh, I am happy to hear that. What Project did you do?”

“About that sir! I created the software for the space vehicle that was launched last month. It combines Fuzzy Logic and Artificial Intelligence in Cloud Computing and will run on Android and iOS.”

“Very good! Can you develop a small software program to keep track of receipts and expenses in my small shop?”

“All by myself? That is difficult sir. I have to study more. Give me a job. Then I will study and then complete this work for you.”

“Why not? Did you not do that major project by yourself? You even explained that at length.”

“About that sir…hmm….hmm I didn’t do that project by myself.”

“Then, who did?”

“We bought it from a project center in T. Nagar for Rs. 10,000. However, I know all about that project. Give me a job. I will learn everything well and then complete your project.”

This is what 95 out of 100 people say. Only a very few do the project by themselves and gain the skill and experience of developing new software.

How can anybody employ someone who doesn’t even have such basic skills?

How will you go to a doctor who has completed a medical degree but says doesn’t know anything?

Isn’t computer studies the same?

In education, the lowest level of qualification is ITI. Candidates who have failed in 10th standard can join ITI. We can ask a student who has just completed 2 year welding course in ITI to make a grill gate for us. He will also willingly make one.

A computer student who has completed 12th standard and then studied computers extensively for 3 or 4 or even 6 years is not able to create even a small piece of software on their own.

Companies are not prepared to offer employment to such students who don’t know anything. Only about 10 percent of the students get jobs through Reference, Campus Interview, or Off Campus. The rest have to find a job only through their capability.


4. How to gain experience and skill ?


The job of a cricket player is to practice regularly and display their talent. Nobody says, “Include me in the Indian cricket team! Then I will learn the game and then I will play well and after that I will win cups for the country.”

To become more skilled in cricket, you have to take the bat / ball and practice. For computers, it is enough if you practice with the computer you already have. To learn software development all you need are a computer and internet connection.

If you do all of the steps below, you will learn automatically:


1. Learn beyond the syllabus.

Learn many skills such as GNU/Linux, PHP, Python, Ruby, MySQL.


2. Join Tech groups

Join Tech groups in your town. If there are no groups, start one. Meet frequently and learn new things.


3. Learn GNU/Linux

The whole world is eagerly taking on to GNU/Linux. Leave Windows and install any Linux distro such as Ubuntu, Debian or Fedora. When you use the Command Line, many things will become clearer to you.


4. Study the software source code

You can access the source code of all the software in GNU/Linux. Download them, open them and simply study them.


5. Develop software

Create a simple calculator. An address book. A tool for testing the Internet connection, an alarm, a backup software, web scraping software and other software for very small tasks. Each task will take only a day or two.


Then ask people around you and develop any software that they need. Shops will need many softwares such as Billing, Accounts, Attendance and so on. Develop them free of charge.


6. Learn version control

Version Control System is helpful to share the source code with others and share to do the work as a team. Learn Subversion (SVN) and GIT. Create an account on and add your source code there. Also, contribute to software created by others. Your Github profile will determine your growth more than your FaceBook profile.


7. Contribute to Open source

Contribute to your favorite Open Source project. Even if you contribute one line of code it is a big thing. In addition to coding, contribute to other things like documentation, graphics, helping in IRC, Forum or Mailing List, packaging, publicity or translation. Search for “How to contribute to Open Source Software?” Contribute to your favorite Open Source project in your favorite language.


8. Write a blog

Write about everything you worked on in your blog. Write everyday without fail. Your blog will become your best Visiting Card.


9. Add all these things to your Resume

Add to your Resume your blog address, your Github address, the list of Open Source software you are contributing to and all the skills you have learnt beyond your syllabus.


10. Don’t ask for a job. Ask for Project Work.

Don’t bug everyone you know to get you a job. Tell them that you will develop any software that they need. Do it as a Project Work.

After completing your education, if you merely keep searching for a job, an year will go by easily. By then the next batch will graduate and will become freshers. You will be in a very confused state being neither a fresher nor having any experience.

In this one year if you do about one project per month you would have completed about 10 to 12 projects. You can claim that as one year experience. You can rightfully claim that as one year freelancing work in your Resume.

Declare that you have one year experience and search for a job. Then see what kind of opportunities you get. Because you have actual experience, your interview will also be easier.

When you do many projects, you may be able to develop commercial software and earn from it. If you develop a good team, you may be able to start your own business.

If you work hard and also have the skills, the sky is the limit for your career.


My dear Sachins! Just as Sachin amassed 50’s and 100’s, develop software, contribute to Free/Open Source software and shine like the bright sun with your talent!


My very best wishes.

Also, see these links.


Give your feedback in the ‘Comments’ here..



T Shrinivasan

A talk on Free Software with Payilagam students

Today, I spoke to the students of "Payilagam", a CS Training center at Velacherry, Chennai.

I explained about Free Software, Open Source philosophies, History of GNU/Linux, Distributions, Job Market, Advantages of Python etc.

Demonstrated how to contribute to a project in

Asked to students to contribute to Free Software and write blog regularly.

Most of the students had fear that GNU/Linux is a big black screen with thousands of commands to remember. But, on showing the beautiful KDE Desktop and alternate applications like LibreOffice, GIMP, they wondered much.

Explored the following links

Indian Linux Users Group, Chennai
Free Software Foundation, TamilNadu –
Events in Chennai –

IRC Chat –
Freelance Portal –
Kaniyam – Tamil Magazine for Free Software –

Books for GNU/Linux in Tamil –
Mono – DotNet in open source –

Slides I showed are available at –

All the students agreed to install GNU/Linux and to explore it.

The session was very interactive and much interesting.

Thanks for the Director Manikandan and his Team.

They agreed to conduct sessions for public and Hackathon like events.

How to Change the user Interface of KDE in Tamil ?

I use kubuntu 14.04

My language is Tamil (ta)

Tamil translations packs are not available in the repo.

But, I can see them in the SVN repo here.

I checked out the po files application files in stable.

svn co svn://

Now, Where to place these files to see KDE in Tamil?

Asked this question in the KDE mailing list.

Got the reply as below.


you must "translate" PO files into (binary) MO files.
msgfmt utility (from gettext package) might be used to do that:

$ msgfmt -o file.po

Then, MO files should be put into

Additionally, you need
file. Without it, you won’t be able to pick up Tamil from list of

existing languages. Simplified file content is below:

[KCM Locale]
Name[ta]=Tamil in Tamil

On my system, localization files are owned by user root, group root, and
have 644 permissions.


Mirosław Zalewski <miniopl AT> in KDE mailing list.

To convert one po file to mo file.
$ msgfmt -o file.po

The messages folder has many subfolders for KDE applications.

shrinivasan@shrinivasan-laptop:~/ubuntu-contributions/kde-ta/messages$ ls
applications extragear-network kdeedu kdemultimedia kdepim-runtime kdeutils

calligra kdeaccessibility kdegames kdenetwork kde-runtime kdewebdev
entry.desktop kdeadmin kdegraphics kdepim kdesdk kde-workspace
extragear-kdevelop kdeartwork kdelibs kdepimlibs kdetoys qt

Go to each folder and convert all the po files to mo files using this small shell script.

for i in *; do msgfmt -o `basename $i .po`.mo $i; done

Now, find all mo files and copy them to /usr/share/locale/ta/LC_MESSAGES

find . -name "*.mo" -exec cp -i {} //usr/share/locale/ta/LC_MESSAGES/. \;

Then, goto "System Settings->Locale->Languages.
Select "Tamil" and add as "Prefered Language".

Make Tamil in the Top.

Thats all.

Now, logout and login.

Most of the KDE intereface will be in Tamil.
As we need to do more translations for KDE, we see many English words too.

Please contribute to Tamil Translations of KDE.

Explore these links to contribute to KDE Localization.

Need IPA sounds for Tamil

Do you remember the following symbols?

IPA in IPA.svg

You might seen them in your school english books and Dictionary.

See here to remember few more symbols.

These are the symbolic representation of the sounds of any language.

Using these symbols, anyone can read the strings and spell like the original sound of the word, even though he dont know the language.

This IPA symbols are available for all languages, as they represent only the various sounds.

I am thinking of an open source system for building Text to Speech System for Tamil, ( actually for any language)

Mr. Vinoth created a web application in PHP, which can convert a Tamil string to IPA.

Here it is –


My brother Arulalan convert this as a Python Library.

Now, we need all the sound files for the Tamil IPA symbols.

Where can we get the IPA symbols for Tamil ?

You can click on the symbol on wikipedia to know how a symbol sounds.


Hear the audio file. It is an full example.

But, we can not use these audio files for Text to IPA, as they have very long extended audio.

Now, we need the short and clear audio files all the tamil symbols, just like how we spell the words and letters on our daily speech.

As we have text to IPA convertor, once we have all the sound files with regular sounds, we can play them together to create almost nearly speech version of any word.

This is my assumption only. There may be issues. But hope we can fix them all.

If we have multiple voices, then our Text to speech engine can have multiple voices too.

I request you to record the IPA sounds for Tamil symbols and send to me.

My email : tshrinivasan AT gmail DOT com

If this plan works well, we can extend this to all the languages.

Share your thoughts on this.

How to create cover images for all the ebooks in ?

We are planning to convert all the ebooks in as epub files, so that any one can read them on the latest devices like andoid and ios devices.

We will be using to convert them as ebub.
There are around 500 ebooks.

We are looking for volunteers to convert them all as epub and mobi.

In the meantime, They all need cover images.

On my request, sathia tried a rails app.

But, it got unicode issue.

I tried using python to add a tamil text over a image.

The Tamil Text is displayed as splitted.

Sample Image:

I too got the same issue what sathia gets.

Then, How to solve this?

This seems a great unicode issue and there is no programmable solution.

Here comes the power utilities of GNU/Linux.
when programming cant help much, shell can help.

There is a utility called "wkhtmltopdf" which can convert html as PDF.

Shall we create html pages with all the book name and author name details?

Then, we can convert as PDF.
Then, PDF to image.

Will it work?

I Installed wkhtmltopdf and tried.
In my latest ubuntu, wkhtmltopdf is installed, but it is too old.
Got some issues like "Not compiled with QT support".

We have to get the latest binaries from its website.

Download wkhtmltopdf from

The websites gives latest binary with QT binding.

The one that comes with ubuntu in default is very old.

Download it from the site and install it.

It gives two utilities. 1. wkhtmltopdf 2. wkhtmltoimage

We use wkhtmltoimage to convert the html files into images.

Example :

wkhtmltoimage –height 640 –width 429 001.html 001.jpg

Using this method, we can convert all the html files to images directly.

Here is the detailed workflow:

1. Get all the book names,author name from

2. Copy them into a LibreOffice Calc spreadsheet.

3. Add serial number in a new front column.

4. Export as CSV file. Put $ as the delimeter.

5. Run the file


It will extract the book name, author and generate html files, with a background image for the cover art.

6. Download wkhtmltopdf from and install

7. Now, using a small shell script, we can convert all the html files into images.

for i in *.html; do wkhtmltoimage –height 640 –width 429 $i `basename $i .html`.jpg; done

Thats all.
We get all the images.

Background Image source:
License Public Domain CC0

Uploaded all the generated cover images here:

The source code repo:

Now, we have all the cover images.
We need volunteers to work on creating ebooks for all the books on

Contact me if you are interested in volunteering this.


Need 50 ideas for a python hackathon

We are planning for a python hackathon at DGV arts & science college, chennai.

The students learnt python already.

To make them contribute to Free Software, I had a discussion with HOD,

to conduct a one day hackathon.

There are 40 students and we can give a 50 programs for students to pick one and do in that 6 hours span.

I have the following list.

1. scrap a and get rate of a given peoduct

2. resize some huge size photos and add some text to all the images.

3. get two dates and calculate the no of days between them.

4. upload images to flickr using flickr api

5. auto mate blog posting using wordpress api

6. analyse a apache log file and get statistics from it.

7. create a solver for crossword puzzles using the given no of words and few letters

8. Download picture of the day from and make it as wallpaper or a widget

9. test a website for its availability. send mail to some people, if the site is down

10. backup all files in /var/www/html and databases and store in a remote place.

11. Url Shortner app

12. Bookmark the urls from the given specific twitter account tweets

13. Search Result’s position finder(like find the position of the searched result from yahoo search and Google search)

14. Captcha generator – generate a captcha image for a given word

15. Cost Estimator for building.

Write a programme to produce an estimate of construction of a building

(given data for  are like the dimension of rooms in square feet, doors, windows, loft,shelfs and ventilators)

(1) How much bricks does it takes to construct the structure
(2) How much cost involves for whitewashing the structure
(3) How much cost it takes to lay tiles.
expand the idea, leave it to the programmers to decide the tool,


16. Task report for office.

==  Objective

A python script should ask for a progress report everyday when employee leave office after working hours.

It should also send the progress report as a mail to the project manager. Once the mail is delivered,

the system should be shutdown automatically.

== Expected Output

user@debian~$ ./

Hi user kindly give your progress for today




Sent mail…..

Thank you

System is about to shutdown Did you save all files ? yes / no


System shutting down …
17. Getting checkin data of any user from foursquare or yelp API and show it in openstreetmap OR google map.
18. Check for duplicate file names in a directory tree.
19. Rename the MP3 files based on their ID3 tags.
20. Get Train status using PNR Number. Scrap any PNR checking website
21. Get all the links in a Twitter users Favourites and store them in a text file.