Thanks Nithya! for the great Birthday Gift

Feb 18, was my birthday. Myself and Nithya dont celebrate each others birthday, as all of the days are very precious for us.

I never gifted her anything. She also did not. But, for this time, she wondered me with a great gift.

Yes. It is a Free Software 🙂

She wrote a grammar checker (Conjunction Checker) for Tamil and released on Feb 18, with a nice blog post. It is here in Tamil

It was my decade dream to create a great spell checker for Tamil as a Free Software. Conjunction Checker is one of the big parts of it.

It has too many rules and she read them all, understood, converted as Python code.

It is the awesome birthday gift.

Nithya! You are my best gift. Thanks, is a simple word. It cant express what es I mean.

She is improving it a lot with more rules and testing.

Here is the code –

She made a video about this tool –

Today, She spoke about this in “ILUGC – Indian Linux Users Group – Chennai” Meet. So happy to see her giving a talk in my homeland.

I am working on making it as web application, so that anyone can use it.

Thanks to open-tamil python library for its all great features of handling tamil text easily.

I am seeing Nithya as avid reader, writer, dancer, home maker and now a programmer.

You can read all her books here –

Hoping to see more women contributors like Nithya in the upcoming days.




Annual Review – What I did on 2017?

2017 was a great year for me, as all the years. Sharing here on how it went. Yes. It is too late to write this now. It is because of the few lifestyle changes I am following. Its is OK to do many things slowly and drop few things. Am I right?

Health :

I was trying to reduce my ongrowing tummy for years. in 2017, took some serious, series of efforts.

  • Joined Zumba Dance class on Sep 2017. It is a thrice in a week class. I attend 2 classes, atleast.
  • Bought a cycle on October 2017 and went to office in cycle. It was around 40 km per round trip. Cycled for 2 months, twice in a week.
  • Exercised for 10-15 min every day, mostly.

With all these efforts, my hip size came to 34 from 39. It is a great improvement. Thanks to “Dude Academy” and Master Kannadasan for inspiring.

Got fever 4 times. Those bad days reminded how bad my health is. It is time to eat good food, and siddha medicines which gave enormous immunity in my school/college days. started to have the medicines prepared by my dad.

Stopped drinking cool drinks, fried items like pizza, burger etc.


  • Viyan got into a nearby school. He is in LKG now.
  • He sent hand drawn Deepavali Wishes post cards to all our friends.
  • Nithya learnt karagam, Poikal Kuthirai dances. She is performing in various event. She wrote a ebook on Javascript. Released a video on Bigdata and Elasticsearch
  • Brother Arulalan joined at meteorology department as scientist in Noida.
  • Brother Suresh got a government job.


Office works made me keep on learning new things. Elasticsearch, Spark, Druid, Python3, AWS api are some great things I explored. Completed reading one book fully on the technology I start to work.


  • Went to Vienna, Austria for a wikipedia hackathon. Met many interesting people and blogged the event happenings of Day 1, Day 2 and Day 3.
  • Went to Yelagiri for Nithya’s karagam dance on a government function.
  • Went to Kothagiri for marriage of Nithya’s friend’s sister.
  • Went to Kerala with Office friends and their Family.
  • Went to Pondicherry and visited science center, bharathiyar house etc.
  • Went to Melmalaiyanur with family.
  • Went to Beaches few times in the early morning. Those are really great times.
  • Went to DakshanChitra many times for Nithya’s dance practises.
  • Went to Sriperumbuthur as Nithya danced for Sri Ramanujar’s 1000th birthday celebrations.
  • Went to Kumbakonam and nearby places with office friends.
  • Went to few resorts with office friends.

Foss Contributions:

  • IITM and SSN College of Engineering, released a good Tamil Text-to-Speech system. Met IITM team and learnt how to install in linux. Automated and released it here.
  • In Vienna wikipedia hackathon, enabled LinguaLibre to upload voice files to wikipedia commons.
  • Helped to released a telegram bot to translate strings collaboratively for the english strings in openstreetmaps to tamil.
  • Helped to released a “Send to kindle” option for the ebooks in
  • Got some interest on adding interesting places to OSM. Used cycle to roam around tambaram and added many places with the app.
  • Conducted 2 hackathons for ilugc. one for tamil computing and one for wikipedia.
  • Conducted 1 event for ebook making training.


  • Found a social team “Agaththi” in Tambaram. Participating on their market for organic formers.
  • Filed few RTI in for the issues in Tambaram and got few resolved.


Wrote 57 blog post in this blog and 6 posts in Tamil in my tamil blog. This is low. Will try to increase next year. Writing a book on Python in Tamil. Hope will release by next year. But I have read plenty of books this year. I love reading than writing. Lazy me.

Books Read:

Thanks to PacktPub’s One free ebook per day, Kindle Unlimited Plan and All authors of for providing tons of great books to read.

With the Kindle device, I enjoyed plenty of hours in continuous reading.

Award :

Got an award for the contributions on Tamil computing on 2016 from The Tamil Literary Garden, Canada. Received Rs. 50,000 as prize money. Working on creating an organization with this money to do more contributions with more volunteers. Will ask for donations soon.


Was living a simple, minimalistic lifestyle.
Quited TV, Facebook and smartphone two years ago. Still able to live without them. Prioritized the life in the order of Health, Family, Office, Personal growth, FOSS Contributions.

Thus, the year 2017 was so great. It gave me great lessons via bad experiences too. Those are opportunities for me to learn about people and world.

Hope you too had a great year. Hoping that 2018 will be even more exciting for all of us.


Project Idea – Mobile app to add POI using openstreetmaps

My friend David Rajamani is looking for an android app to be developed as a module to be used with other application being developed.

User should login with oauth from another app.

Then he should point a place the map displayed and add details about that place.

The data should be sent to and their own database. android app can be taken as example and can be converted as module or pluggable into another app.

If you are interested in doing this project, mail me on


Installation script for Tamil Text to speech System

The Tamil TTS system provided by IITM and SSN College of Engineering, has a lengthy installation process.

I have written them here.

It may not be easy to follow and you may find some issues. To make the life easier, I have created shell script, to automate the entire process.

Here it is –

System requirements:

Ubuntu 16.04

How to execute:

git clone

cd tamil-tts-install

Edit the file,

Fill the following details.

DOWNLOAD_PATH=/home/ubuntu/tts/packages #to download the required packages

COMPILE_PATH=/home/ubuntu/tts/compiled # to place the compiled files and folders

Register here and get a username and password



Then, execute the file as


How to convert a text to audio?

export FESTDIR=/usr

cd COMPLIE_PATH ssn_hts_demo/scripts/complete “தமிழ் வாழ்க” linux

This will convert the text and store as wav in


you can play it with any audio player.

The full details of what is on the compile process is explained here.

To hear a demo on how the tamil TTS system sounds, click here

Thanks for IITM Team – Prof Hema  and Anju for their great support on helping us to get installed the tamil TTS system.


How to ask IITM to release IndicTTS as Free/Open Source Software?

Indic TTS

This is a project on developing text-to-speech (TTS) synthesis systems for Indian languages, improving quality of synthesis, as well as small foot print TTS integrated with disability aids and various other applications. This is a consortium based project funded by the Department of Electronics and Information Technology (Deity), Ministry of Communication and Information Technology (M CIT), Government of India involving 13 institutions and SMT, IITM being one of them. The project comprises of Phase I and Phase II. Phase I of the project used Festival-based speech synthesis for Bengali, Hindi, Tamil, Telugu, Malayalam and Marathi . Phase II of the project commenced in 2012 employing HTS based statistical speech synthesis for 13 Indian languages.

Source :

As a part of IndicTTS system, SSN college people have developed a good working TTS for Tamil. You can see the demo here –

IITM has released a very priliminary version of Tamil TTS as android app as open source here –
That too without proper license and attributions to base, open source HMM HTS systems.

But the web version is really awesome and with great human like voices.

As the entire project is funded by Government of India, I think it should be released as Free/Open Source Software.

I requested the IITM team at to explain about the status of releasing the latest version of Tamil TTS as Free/Open Source software.

Did not get any reply.

We have the two options now.

  1. Improve the basic version of oepn source Tamil TTS they have released. But, need to explore the provided license to improve further and release in GPL or similar license. For this we have to do huge research on TTS and spend years again. Why do we have to reinvent the wheel?
  2. Ask to release the current TTS as Free/Open Source software. This seems a better as there is already a working software. Need to know whom to ask and how to ask.

Like to know that if there is any govt law says that all the software funded by public money should be released as Free/Open Source software. If so, please share the details about it.

Next is whom and how to ask for it.

Do we need to file a RTI? or need to request via any legal firm? is there any legal organization to support these kind of activities? can we get support from political party like communist to move it further?

It may be tougher to get the source as it involves more money, power, fame, policies, politics etc. But, we should ask for our rights as the TTS is made by our own money.

Share your thoughts.


Image source –

Use open platforms your tech communities

photo source :


I see many Foss groups started to use social media as main platform for communication. Twitter, Facebook group, telegram channel, whatsapp group, disapora etc.

By doing so, all the conversations go private. They are forbidden to search engines and non smartphone users.

All the discussions, questions, answers, fun chats go hidden for public. Because of this, anyone searching for Foss group in his area , he can not get any info about these groups.

Being a tech or Foss community, it should be a basic policy to have all communications on open platforms. What is the use of a closed group that discuss on a Foss technology.

If you are part of or leading a tech community, please switch to open platforms like mailing list, irc channel, blog, website, forum etc.

Use all social media only for personal communications and event announcements.

Don’t think that people won’t use open platforms. If your content is really worthy, people will find you.

Example. Millions of people are reading and writing on Wikipedia, even though the interface is felt tough by many people.

Build the community based on strong passion and content. Not for just using a famous, latest technology.



How to become a Software Tester?

Are you looking for a job as Software Tester?

Here are few thoughts on software testing.

  1. Get Knowledge and skills
  2. Learn the Concepts
  3. Learn the Testing Tools
  4. Learn a programming language
  5. Dont dream about playing games. Instead play any game
  6. Contribute to Open Source Software by Testing them
  7. Join Testing groups
  8. Write a blog
  9. Add all these things to your Resume

1. Get 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 people 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, we dont do any useful things 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?

2. Learn the Concepts

Software Testing is a vast industry. It has many concepts as

  • Test Cases
  • Test Results
  • Bug Tracking
  • Test case Tracking
  • Manual Testings
  • Automated Testing
  • BlackBox Testing
  • WhiteBox Testing
  • Functional Testing
  • Database Testing
  • Performance Testing
  • Unit Testing
  • Mobile Testing
  • Web Testing
  • GUI Testing

    and more.

There are many websites/books/presentations/videos/lessons available on Internet.

Learn about them.

3. Learn the Testing Tools

To implement all the above said testing concepts, there are many software/tools available.

Few software or so costly to buy.

Dont worry. There are equivalent Free/Open Source Software available for all the needs.

Test Case Management – Test Link and others.

see a big list here –

Bug Trackers – BugZilla, Mantis, Trac etc

Automated web testing – Selenium

GUI Testing –

Performance Testing – JMeter

You can find all open source testing software here –

They all are 100% free. Download them and install in your computer and learn them.

4. Learn a programming language

Being in the Software Industry, we should know atleast one programming language.

I suggest “Python”. It is very easy/cross platform language.

We can do many automated/web/mobile/gui testing using Python.

Learn Python the Hard Way is the easiest book.

Complete this one book alone.

It may few weeks only to complete this.

Google’s Python Course (with Lecture Videos)

5. Dont dream about playing games. Instead play any game

Dont wait for getting a software tested job for doing testing.

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 It Industry, it is enough if you practice with the computer you already have. To learn software testing all you need are a computer and internet connection.

Learn the concepts, Install the software and start testing the software you use daily and find bugs.

6. Contribute to Open Source Software by Testing them

There millions of Free/Open Source Software being developed. They all are looking for testers to find bugs, so that developers can improve them.

You can contribute by reporting bugs, confirming existing bugs, writing test cases, automated tests, etc.

Whatever the corporates are doing for testing their software, can be done for open source software too.

On any open source project website, look for “community/contribute by testing”.

They will give all the details on how you can contribute to that project by testing.

In a continuous effort for 3-4 months, you can become a QA team member of any big open source project.

That will become a great crown on your heads.

Ubuntu Linux –

Mozilla –

LibreOffice –

Fedora Linux –

MediaWiki –

Read these links too

Pick any of your favourite open source software and become its QA team member.

7. Join Testing groups

Search for local testing groups/communities.

Attend the meetings.

Have testing events.

If there is no group, start one and do some activities.

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, the list of Open Source software you are contributing to and all the skills you have.

Read these too


Reply here, if we can add any more stuff in this post.

FOSS Contributors in TamilNadu code

Mr. Dorai from Chennai Geeks asked for a list of contributors for Free/Open Source Software from TamilNadu.

We are planning for a showcase of these projects and skilled persons to startups and enterprises.

Please fill this form, if you are contributing to any Free/Open Source Software.

If you know some one else is contributing, add their details too.

View the result here.

Note: As a first phase, only code contributions is being collected.

We will look for other contributions like support, documentation, artwork, marketing in future.

Share this info with friends too.

Free Software Event Checklist

I am being part of some of the Free Software Events happening in Chennai.

Sometimes the events are small gatherings and some times they are really huge.

Many times, we have missed some critical stuff and we were running behind them in the last minute.

Hence, this post to not down all stuff we need for any event.

1. Event Team

Create a event team with some volunteers. They are the pillars who are going to share the following tasks.

Make the team’s contacts like phone number, email are shared with all and announced publicly.


2. Venue

Fix the venue for the event.
Check with Colleges, Private Office, Govt Offices and Auditoriums.

Some times we get the hall for free. Sometimes, we may need to pay.


3. Date

Fix the date of the event.

Make sure that there are no big political, social, national, devotional or any other “al” event matches on the same day.

This is to make sure that the traffic is free for people to attend the event.


4. Web Page

Set a website or a blog for the event.

Post all the event planning and announcements regularly.


5. Posters

Create some digital posters on the event and share them across.

If possible print handouts/posters and share them too.


6. Marketing

We need people to attend the event.

Make sure your marketing team announce the event in the following channels.

  • Mailing lists
  • Social Media groups/events/pages
  • Event websites
  • Newspapers [ event of the day ]
  • If possible, Advertisements on TV and FM


7. Agenda


Plan the agenda. It may be a training, talks, cd/book release, etc.

Fix the time for event start/end/sessions start end/lunch/break times


8. Call for participants – Online regisration


Set up an online space to register, if it requires.

A wiki or google docs or similar can be used.


9. Update the participants


Keep on updating the participants via email on the event progress.


10. Freebies


  • ID Cards
  • Tshirts
  • Stickers
  • Books
  • Pamphlets
  • Flyers
  • Printouts
  • CDs/DVDs
  • PenDrives

can be given as freebies. Prepare them all two days prior. Put them all as packs to share easily.


11. Venue


Visit the venue one week before and check the following stuff.

1. Power

2. Chairs

3. Projector

4. Screen

5. Ventilation

6. Water Supply

7. Food Supply

8. Rest rooms

9. Place for banners

10. Mike/Speakers

11. Lights

12. Internet Connectivity

13. Shops nearby for stationary/medical/food

14. First Aid & Safety

15. Emergency contact person from the venue.

16. Stay facilities nearby



12. Call for Donations


We need money for all the events. We can call for individual donations or sponsors.

Check for interested companies and contact them to sponsor the event.

Then, Announce a call for donations with all the account details to do online money transfer. Send the receipts to the donors.



13. Press Release


Write up a press release and share it to all the media like TV/Newspapers/FM.

Make sure that they come to the event and cover the event.


14. Chief Guests


Fix the chief guest.

Check for their stay/travel to the event.



15. Gifts


Plan the gifts for the guests /participants/winners and buy them in prior.




On the Day of the event


16. venue


Make sure one or two persons reach the event in 3 hours before to check the venue for all the 15 items told before.


Tie the banners in front of the venue, hall and on the stage.

Check for power supply/lights/chairs/Rest rooms/Mike/Speakers

Store all the freebies in a room

Stick Posters around the venue.

Place route map/arrows to reach the hall, all around the venue.



17. Registration desk:


Setup a registration desk.

Use notebooks or laptops to get information about the visitors

Give the freebie pack



18. Food


Arrange for Food/Snacks/Cool Drinks/Water from nearby canteen or hotels.

Make sure that they reach on time.


19. Photos/Videos/Audio


Make sure that you have colunteers to capture the event via Photo/Video/Audio.


20. Live telecast/blog/tweet


If possible arrange for live telecast of the event. Live blog/tweet also fine.


After the event:


21. Upload Photos


We may be endup with 1000s of photos.

Check them and delete all the unwanted/blurred photos.

Resize them to 2048 resolution or lesser.

Upload them in online photo repositories like picasa/flickr/facebook.

Make sure that they are in creative commons license.

Give proper tags for the albums for easy searching.


22. Upload Videos


Resize the video.

Amplify the audio.

Upload them in youtube or similar sites.


23. Upload Audio


Check and remove the silences, noises of the recorded audio.

Amplify the audio.

Upload in soundcloud of similar sites.


24. Event Notes


Write the event notes with the following details.

Event Minutes

Links for Photos/Videos/Audio/Live blogs/tweets etc

Links for the various press that covered the event.


Update them in the website.


25. Send mail to participants/guests


Send mail to all with a Thanks note and Event Notes.



26. Celebrate


Wow. Congrats. The event is over and you and the team can have some celebrations.

Goto near par/beach and play some games.

Have some food together.




Dont Do:


If it is a event about Free Software like GNU/Linux demo day/Software Freedom Day, make sure that nobody uses any proprietary operating system or software for any of the demo or talk.

Check for any other Don’t do stuff and announce it in all the announcements.


Hope this list will help us to avoid any last minute tensions.

Form a team to take care of each activity and have great team works.


Reply here if you have something to add.



Indian Languages in Latex

Myself and Prof.Partha were looking for generating PDF files with Tamil and English content using Latex.

Found that.
We can generate multi lingual pdf files using latex easily.
We need to supporting fonts installed anyhow.

Here is the sample code for this.


%Always start xelatex files with these in preamble. This helps in defining the script and fonts
%Set the main languge next as main font.
\setmainfont[Script=Devanagari]{Lohit Hindi}

%Set rest of the languages l;ike this. Experiment a bit. script=punjabi did not work. Replaced with gurmukhi and it works.

\newfontfamily{\tam}[Script=Tamil]{Akshar Unicode}
\newfontfamily{\tel}[Script=Telugu]{Akshar Unicode}
\newfontfamily{\Guja}[Script=Gujarati]{Lohit Gujarati}
\newfontfamily{\ben}[Script=Bengali]{Lohit Bengali}
\newfontfamily{\Punj}[Script=Gurmukhi]{Lohit Punjabi}

%English does not need any script specifiction! Just define the font.
%No need to define script as this is the manin font set. Like defalut.
नमो पकवते नारायणाय! \\
%Switch language like this. { begins the changed line. \xxx denotes the switched  language. Use the same definition as denoted in preamble. } will end the switch and default to main unless again specified.
{\tel నమో పకవతే నారాయణాయ!}\\
{\kan ನಮೋ ಪಕವತೇ ನಾರಾಯಣಾಯ
{\Guja નમો પકવતે નારાયણાય!}\\
{\Punj ਨਮੋ ਪਕਵਤੇ ਨਾਰਾਯਣਾਯ!}\\
{\ben নমো পকবতে নারায়ণায়!}\\
{\tam நமோ பகவதே நாராயணாய!}\\

{\eng namo bhagavate naraayanaaya}\\
%the next line does not begin liekt he ones above. so it defaults to mainfont which is devanagari.


Check the output too.

Thanks for Dr.Vasudevan Tirumurti for the latex file.