Getting started with LXC containers


We, sometime need more than one GNU/Linux machines to test some network services, firewall rules, port checkings etc. I was using VirtualBox to install another GNU/Linux os. Used it for all the networking needs.

Using VirtualBox is really heavy. It virtualizes entire os and separate base OS and guest OS. With my 8GB ram laptop, I can run hardly 2 virtual box instances. Was looking for a simple, light weight virtual machines. Found Docker. But it seems to learn a lot. I need even simple one, just to roll out 10 or 15 virtual machines, in my laptop itself.

lxc container க்கான பட முடிவு

LXC Containers:

Found LXC containers. This is very very lightweight. I am running 20 containers in my laptop and created a good network to try various activities. It shares most of the basic resources with the base OS itself. Separates only the minimally required components.

The beauty is I can run many versions of Ubuntu in the same machine.

Few commands to use LXC:

Install:
sudo apt-get install lxc

 

Create a container:
syntax : lxc-create -t <template> -n <container name>

Example :
lxc-create -t ubuntu -n ubuntu1604

 

To get a older version of ubuntu,
sudo lxc-create -t download -n ubuntu1204 — –dist ubuntu –release precise –arch amd64

To list all the containers:
lxc-list

To get information about a container:
sudo lxc-info -n ubuntu1604

To start a container:
lxc-start -n <container name>
sudo lxc-start -n ubuntu1604

To get inside the container:
sudo lxc-attach -n ubuntu1604

 

There are more interesting commands like lxc-clone, lxc-monitor, lxc-snapshot, etc. Exploring them.

Thanks for LXC developers. It makes my life easy. Found that Docker uses LXC as its base. Will explore docker too.

Image source : http://blogs.cisco.com/enterprise/what-the-heck-is-a-service-container

Few links to explore about LXC:

http://blog.scottlowe.org/2013/11/25/a-brief-introduction-to-linux-containers-with-lxc/

https://linuxcontainers.org/lxc/getting-started/

 

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


https://i2.wp.com/purvispublicsafety.com/wp-content/uploads/2014/12/text-to-speech.jpg

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 : https://www.iitm.ac.in/donlab/tts/

As a part of IndicTTS system, SSN college people have developed a good working TTS for Tamil. You can see the demo here – http://speech.ssn.edu.in/

IITM has released a very priliminary version of Tamil TTS as android app as open source here – https://www.iitm.ac.in/donlab/tts/androidapp.php
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 https://www.iitm.ac.in/donlab/tts/contact.php 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 – http://purvispublicsafety.com/2014/12/06/text-to-speech-dispatch-centers/

Celebrate 42 lakhs downloads of Free Tamil Ebooks with Us


4milliondownloads

On July 26, 2013, we started the FreeTamilEbooks.com Project, to create and share Tamil Ebooks in Creative Commons license. We release the ebooks in 4 formats, ePub, Mobi, A4 PDF and 6 inch PDF, so that we can read the books on any device like kindle, boko, nook, android, iOS, Desktop, Laptops etc.

Read more about he project here – http://freetamilebooks.com/about-us/

We added the download counters for each book. But wanted a full report on downloads count. Waited for three years. My wife, Nithya was learning Python programming. Gave this as assignment to get the report of all the books download count. She wrote a script, which crawls all the book pages, get the contents, search for the download counts, add in a report.

Here is the report –
http://freetamilebooks.com/htmlbooks/download-report.html

Here is the source code-
https://github.com/nithyadurai87/fte-ebooks-download-counter

With this report, we can see the most downloaded books on file type wise,and total wise.

Good. Found that there is a number for total download count too.

It says as  4228868 now. This is 42,28,868 i.e 42 lakhs, 4.2 million.

Wow. 🙂

Never thought that we will reach so many readers. This means there are good Tamil readers are there around the world, who are ready to read the good contents.

Tons of thanks for all the contributors, writers and readers for making this project as a useful one for the Tamil readers.

kindle-woman-reading

Thanks to the following communities, who are behind this project.

With all the technical and content support from all around the world, the project is growing well.

If you are interested in contributing to the project, join our forum and share your interest.

Join our forum here-
https://groups.google.com/forum/#!forum/freetamilebooksforum

Image source-
https://theeventscalendar.com/celebrate-4-million-downloads-with-us/
http://cbdsports.com/

Let us create Maps in Tamil


Maps. I have seen them in school days only on charts, globe at HM Desk and on Atlas books.

The growth of Maps is very exponential. Nowadays, Maps plays a important role on transportation. Along with GPS, now we can reach most parts of the world without even asking a single question to anyone.

The GPS devices says the right path in English. It has been a long question for me to look for Tamil announcements on GPS. To build such system, we need Maps in Tamil. Then Text to speech system.

How can we build Maps in Tamil or such non-english languages?

My friend Srikanth Lakshmanan < srik.lak AT gmail DOT com > explored on this and found some answers.

See his results here

h_1488649559_2669274_5a8c1fee0f

https://api.mapbox.com/v4/srikanthlogic.714e671e/page.html?access_token=pk.eyJ1Ijoic3Jpa2FudGhsb2dpYyIsImEiOiJuQ1RYS3pjIn0.7YUMcAQAc4A7T703-yAu2g#3/23.08/78.31

He wrote about it here.
http://blog.srik.me/2016/10/04/indic-maps-using-mapzen-tangram-openstreetmap/

He uses Mapzen,Tangram and OpenStreetMaps.

The results are impressive.

explore this repo for https://github.com/srikanthlogic/tangrams-indic
and contribute for further development.

What next?

We need Tamil strings for all the English strings. All the city names, town, street, nagar areas are only in English.

We have to translate all of them in Tamil.

Started a project in https://translate.zanata.org/ for a community contributed translation.

Testing it to incorporate with google translate api so that we can translate the missing words only.

The tests are going here.

https://translate.zanata.org/webtrans/translate?project=TamilMap&iteration=1&localeId=ta&locale=en-US&dswid=-8936#view:doc;doc:tamil-map.txt

Will announce once all the test are completed.

Is there any already a collection of English city, street names and equivalent tamil translation available online ?

or can we ask TamilNadu government to give if it has such a collection?

Can MozillaTN or such communities can lead this to have this map translation as one of their activities? So that we can get more volunteers and take it to other languages too.

Share your thoughts on this.

Dreaming my mobile shows route to a new area in Tamil and GPS says the route in Tamil. Can you see the same dream? Come. Let us make it real.

Project Ideas – Part 1 – Looking for contributors


contribute to open source க்கான பட முடிவு

I am listing here few project ideas and requirements. If you are interested in contributing to any open source project, consider these to start with.

I am giving an intro about each of them in this series of blog posts.

Add your comment here if you pick any of the project to do, so that others can join with you.

1. Clean up Epub files.

We create epub files for FreeTamilEbooks.com by using Calibre. It creates epub files with lot of extra span and other tags. We need to remove all the unwanted tags from those epub files.

Create a command line or web application to clean up the given epub files.

If you are writing in python, plan to create a calibre plugin to clean the epub files.

2.  Download reports for Tamil Wikisource Ebooks

http://ta.wikisource is providing ebooks downloads.

In this database, all language wiki source ebook downloads are stored.

http://tools.wmflabs.org/wsexport/logs.sqlite

Create a web application or command line application to get the details of tamil books and create a download
count report for each book.

Create similar report as http://freetamilebooks.com/htmlbooks/download-report.html

 

3. Improve FreeTamilEbooks android app

The android app for FreeTamilEbooks has some bugs.
https://github.com/jskcse4/FreeTamilEBooks/issues

Use the App and read the issues.
Fix them.

 

4. OCR4WikiSource – Create a web application

OCR4WikiSource is a command line application that connects google ocr and wikisource.
It sends the pdf files to google drive, ocr it, gets text, sends to wikisource.

Create a web application to upload any pdf file, send to google via google vision api, get text, send to wikisource.

Links:
Here is the requirement.
https://github.com/tshrinivasan/OCR4wikisource/issues/89

Few links about it.
https://goinggnu.wordpress.com/2015/12/28/announcing-ocr4wikisource/

https://goinggnu.wordpress.com/2015/09/30/automating-google-ocr-with-python/

https://meta.wikimedia.org/wiki/WikiConference_India_2016/Submissions/Introduction_to_OCR4WikiSource

Discussion with wikipedia developers on this.
https://phabricator.wikimedia.org/T120788

Google Vision API
https://cloud.google.com/vision

Explore the links

https://github.com/GoogleCloudPlatform/cloud-vision

http://terrenceryan.com/blog/index.php/working-with-cloud-vision-api-from-php/

https://github.com/thangman22/google-cloud-vision-php

http://blog.aimanbaharum.com/2016/04/21/ocr-with-google-cloud-vision-api/

 

5. FlipBoard like application for Tamil

Flipboard is a web, mobile app which gives latest content on user selected topics. Create such application for providing tamil content from web on various topics. Content contributors should give links for good articles with relevant categories, tags. Users should subscribe to categories and read the latest content.

 

6. Firefox plugin for tamil wikisource proofreading

 

Tamil wikisource is having around 2000 public domain ebooks, OCRed by google OCR. We have to proofread those books manually.
QuickWikiEditor is a Firefox plugin that enables on the page editing of wiki content.
https://addons.mozilla.org/en-US/firefox/addon/quickwikieditor/

Need to extend this plugin, to send the error words and the corrected words to a remote web application. From there, we can get the list of error words, search for them in entire ta.wikisource.org, replace with the corrected words automatically using bots.

Extend the plugin and create a web application to get the words collection from the plugin.

 

7. Fix the Tamil TTS by IITM

IIT Madras and SSN college, released a Text to speech application for Tamil, as an android application. You can get the source at
https://www.iitm.ac.in/donlab/tts/

It is very initial version. Not as good as the latest  web version available at http://speech.ssn.edu.in/

 

Still, we can learn, extend the initial version.

Explore the android app, get the C code out of it, create a command line app or web app as having the c code as backend.

 

8. Web application to add details about ebooks in a xml file, in github.
We release Tamil ebooks at FreeTamilEbooks.com

We store all the details about the books in a XML file.

This file is source for Android and iOS apps for FreeTamilebooks.

Once an ebook is released, we have to update the xml file manually, which is tough for non-tech contributors.

Need a web application to get the ebooks details in a form, then add those details in XML file and commits to the repo automatically.

 

9. Add ebooks automatically in GoodReads.com

We can add the details about the ebooks in FreeTamilebooks.com to GoodReads.com

We have to fill a long form manually.
Need a command line or web application to simplify this process or automate it for adding info about the books in FreeTamilEbooks.com

10. Build a SAAS version of planet kind of RSS aggregation software.

 

Most tech communities need a planet kind of RSS aggregation software. They have to buy a VPS, install planet software and add the RSS feeds.

It will be good, if we build a SAAS version of planet or similar software, so that they can simply sign in, add rss feeds and start using it.

There are more ideas. Written them somewhere on my notebooks. Will collect them and share soon.

All the projects should be released as Free/Open Source software only.

If you are interested in doing any of the things said above, comment here.

email me to tshrinivasan AT gmail DOT com to know more details on any of the project.

Why are you not using an application in your language?


Last week, listened a conversation between two of my friends, Khaleel and Navin.

Khaleel is contributing to Mozilla community by doing localization. i.e translating the strings on the user interface of Mozilla products like firefox in Tamil. Navin is a tech guy, who likes to read Tamil anywhere.

localization க்கான பட முடிவு

image source – http://www.softwaretestingclass.com/what-is-globalization-internationalization-and-localization-in-software-testing/

 

“Hi Navin, Do you know that the firefox in your mobile and computer can be converted to Tamil?” Khaleel Asked.

“Yes dude. I have heard about it. Tried few times. But, the tamil interface gave me some issues. So reverted back to English UI”. Navin replied.

 

khaleel

Khaleel

“Oh. Is it? It is just a habital issue. You are so used to English. I never faced any issues on using Tamil interface. What are the issues you faced?” Khaleel asked.

“New words to learn. All the new words make me to feel very unfriendly.” This is Navin.

“Yes. We have to learn something new. When dont hesitate to learn new words in English, why do we feel tired to learn new words in Tamil? Did you born with all the english words as File, Edit, Options menu? ”

“Agreed. It is just a one time learning to matching the words. Still, Laziness prevents me.”

“Fine. What are the other issues?”

“Seeking for help on any issues, is one big issue. When I am in Tamil interface, if somethings goes wrong, I have to search internet with the proper english words. When I do translate from Tamil to English, it goes wrong and not getting answers. On such times, I have to find menus, for switching languages. It is hidden somewhere deeper. Once I switched to english, I am not coming back to tamil interface to avoid a pressure on emergency”.

“True. For that only, we are trying to bring entire documentation in Tamil itself. Then, you can search in Tamil itself”. Khaleel answered. “To make you to use tamil interface, what we have to do?” Khaleel asked.

navin

Navin

Here comes an important answer from a different point of view, from a good user.

“The switching of languages in the interface should be one click or a simple gesture. Why you guys are buried that option in a deep menu?” Navin asked.

While listening this conversation, I searched and found on how to switch languages for Firefox and Libreoffice.

To change the UI of firefox to a new language:

Unlike themes, enabling a language pack in the Add-ons Manager only does the languages it provides available. To change the preferred language for the interface:

  1. In the address bar, type about:config and press Enter.
    • The about:config “This might void your warranty!” warning page may appear. Click I accept the risk! to continue to the about:config page.
  2. In the FilterSearch field, type intl.locale.matchOS.
  3. If the intl.locale.matchOS preference has a value of true, double-click it to toggle its value to false.
  4. Clear the FilterSearch field, and type general.useragent.locale.
  5. Double-click the general.useragent.locale preference, and enter the code of the language you want to use. This page lists most of the language codes used for Mozilla localizations.
  6. Click the menu button New Fx Menu and then click Quit Close 29 .

When you start Firefox again, you will see the interface in the new specified language.

source : https://support.mozilla.org/t5/Manage-preferences-and-add-ons/Use-the-Firefox-interface-in-other-languages-with-language-packs/ta-p/23542#w_how-to-change-the-language-of-the-user-interface

For libreoffice,   Tools▸Options▸Language settings▸Languages▸Language Of: User interface (applied after restart).

source: https://ask.libreoffice.org/en/question/61894/how-do-i-change-the-default-language-from-french-to-english/

Like this, KDE and Gnome have their own deep menus to change the language. For most of them, we have to restart the application or logout/login or restart the entire system.

“Why there is no one click or one gesture switching of user interface languages? If there is such option, I can use all the application in Tamil itself. Whenever I get any issues, I will hover on UI or do some gesture to know the equivalent English words, search for them, get answers, fix issues, switch back to Tamil interface.” Navin explained.

All he said is true. Being an old times contributor of localizing Gnome, KDE in Tamil, today I am not using them in Tamil. Suffering by the same issue what Navin explained.

Found that Firefox has a useful addon to switch languages easily. Simple Locale Switcher

https://addons.mozilla.org/en-US/firefox/addon/simple-locale-switcher/

This seems useful. But why do I have to restart entire firefox with all my 80 tabs, just to know how to mention something on another language?  When KDE or gnome ask me to logout and login, I never think to switch a language.

Thanks Navin and Khaleel for bringing out a wonderful design issues with the application architecture.

When a software supports localization, switching language should be as one click.

This should be implemented on the software, then only new people will start using the localized application without any hesitation.

Till then, we have to keep on worrying why the new people are not using the local language interfaces.

I will report this as a feature request for kde, gnome, firefox and libreoffice. If you are interested in contributing to any open source software, implement this feature to it or report this as feature request in their issue tracking system.

What do you think on this issue? What are the other possible solutions? Share your thoughts in the comments and start discussing about this with your tech communities.

 

 

 

30 day blogging challenge


Blogging is one of my sweet hobbies. It gives immense pleasure to share my ideas, thoughts, problems and solutions in this blog.

But on recent years, I write very rarely here. To kickstart my blogging habit, started a 30 day blogging challenge for March month.

You will see one or more post for the entire month. Inviting you to start such a interesting project to do for an entire month.

Will share the pitfalls, failures and the success stores after a month.

 

 

Use open platforms your tech communities


https://blog.kissmetrics.com/wp-content/uploads/2012/07/facebook-twitter-compared-to-email.jpg

photo source : https://blog.kissmetrics.com/email-crushes-social-media/

 

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.

 

 

Tamil Wikipedia edit-a-thon – Automation


Tamil Wikipedians are conducting a two day automation workshop & edit-a-thon to Upload articles about Temples in Tamil Nadu.

Recently, Tamil Nadu government provided data about ~40,000
temples in Tamilnadu in an excel sheet. As the data is authentic, Tamil Wikipedians wish to publish all the details in Tamil Wikipedia.

Instead of manually creating articles with the content, we can write bot, a.k.a small program to publish the contents in ta.wikipedia.org, automatically.

Tamil Wikipedia team, conducting a two days event to complete this task in a single go.

We invite you learn about Wikipedia, Wikipedia API, writing bots for wikipedia etc.,

Dates : Feb 18,19 2017 (two days)

Time : 10.00 – 4.00

Venue : Chennai Institute of Technology

Sarathi Nagar, Kundrathur, State Highway 113, Chennai – 69

Route : Free College bus will be available from Kundrathur Bus stand by 9 AM.

Govt buses are available from Pammal Bus Stand. Google Map directions here . https://goo.gl/maps/VJrtpHmj3Mx

Contact : Ravi – (Nine 94316830 Four, Nine 98699333 Six)

All are welcome.

Formal announcement on Tamil Wikipedia can be found here.
https://goo.gl/AG4hdY

Attend the event to learn wikipedia APIs, writing bots, helping wikimedia community with programming.

Attending the event, any one the day also fine.

Thinking on a hosted planet solution – share your thoughts


Planet is a awesome RSS aggregation software used to collect blog posts from a list of blogs.

http://www.planetplanet.org/

Most of the free software communities host their planet instance, add all their community member’s blogs.

Example –
http://planet.gnome.org/
http://planet.gnome.org/

The community members can write their blog posts anywhere, like wordpress.com, blogger.com or on their own site, with RSS feature enabled.

With planet, we can see all their posts on a single place.

But, we need a VPS to install planet.
As this costs money, most of the tech communities dont have a planet RSS aggregation.

Thinking of providing a free SAAS model planet solution for the tech communities.

Example domain is freeplanet.org

Now, anyone can register, get a subdomain, get a planet instance for that subdomain, and add blogs of their members.

Example – ilugc.freeplanet.org, chennaipy.freeplanet.org,
chennaigeeks.freeplanet.org

Is there any such available already?

Is it possible to build such a system with planet software or similar software?

The current planet support a single instance. How can we make it as SAAS software?

Share your thoughts.

Thanks.