A talk on Free Software with Payilagam students


http://payilagam.com/wp-content/uploads/2013/07/cam_logo_new.png

Today, I spoke to the students of "Payilagam", http://payilagam.com 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 http://github.com

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 http://ilugc.in
Free Software Foundation, TamilNadu – http://fsftn.org
Events in Chennai – http://chennaieventscalendar.blogspot.in/

IRC Chat – https://webchat.freenode.net
Freelance Portal – https://www.freelancer.com/
Kaniyam – Tamil Magazine for Free Software – http://www.kaniyam.com/

Books for GNU/Linux in Tamil – http://www.kaniyam.com/ebooks/
Mono – DotNet in open source – http://www.mono-project.com/

Slides I showed are available at – http://www.slideshare.net/tshrinivasan

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.
http://l10n.kde.org/team-infos.php?teamcode=ta

I checked out the po files application files in stable.

svn co svn://anonsvn.kde.org/home/kde/branches/stable/l10n-kde4/ta/messages

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

Asked this question in the KDE mailing list.

Got the reply as below.

<quote>

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

$ msgfmt -o file.mo file.po

Then, MO files should be put into
/usr/share/locale/ta/LC_MESSAGES/
directory.

Additionally, you need
/usr/share/locale/ta/entry.desktop
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=Tamil
Name[ta]=Tamil in Tamil

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

</quote>

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

To convert one po file to mo file.
$ msgfmt -o file.mo 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.

http://l10n.kde.org/
http://l10n.kde.org/docs/translation-howto/
https://community.kde.org/Getinvolved/translation
http://l10n.kde.org/team-infos.php?teamcode=ta
https://mail.kde.org/mailman/listinfo/kde-i18n-doc

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.

http://englishforit.net/wp-content/uploads/2012/08/IPA_Chart.jpg

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 – http://anunaadam.appspot.com/

Source: https://github.com/virtualvinodh/anunaadam

My brother Arulalan convert this as a Python Library.

http://tuxcoder.wordpress.com/2014/08/02/release-txt2ipa-converter-v0-1/
https://github.com/arulalant/txt2ipa

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

Where can we get the IPA symbols for Tamil ?

http://commons.wikimedia.org/wiki/File:Tamil_alphabet_chart.png
http://en.wikipedia.org/wiki/Help:IPA_for_Tamil
http://kamalasurabhi.org/basic_lessons/ipa_tamil.php
http://www.omniglot.com/writing/tamil.htm
http://en.wiktionary.org/wiki/Appendix:Tamil_alphabet

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

Example: http://en.wikipedia.org/wiki/Near-close_near-back_rounded_vowel

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 ProjectMadurai.org ?


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

We will be using http://pressbooks.com 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.

https://github.com/sathia27/project_madurai

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: http://postimg.org/image/8z7ed377r/

http://comments.gmane.org/gmane.org.user-groups.linux.ilugc/84982

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 http://wkhtmltopdf.org/downloads.html

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
http://www.projectmadurai.org/pmworks.html

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 parser.py

python parser.py

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

6. Download wkhtmltopdf from http://wkhtmltopdf.org/downloads.html 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: http://pixabay.com/en/grey-background-texture-template-370125/
License Public Domain CC0

Uploaded all the generated cover images here:
https://picasaweb.google.com/tshrinivasan/ProjectMaduraiCoverImages?noredirect=1

The source code repo: https://github.com/tshrinivasan/project-madurai-cover-images

Now, we have all the cover images.
We need volunteers to work on creating ebooks for all the books on http://ProjectMadurai.org

Contact me if you are interested in volunteering this.

Thanks.

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 flipkart.com 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 http://commons.wikimedia.org 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~$ ./report.py

Hi user kindly give your progress for today

—————————————–

—————————————–

—————————————–

Sent mail…..

Thank you

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

yes

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.
 
22.