Planet SMC

August 23, 2016

Anwar N

GSoC 2016 IBus-Braille-Enhancement Project - Summary

Hi,
   First of all my thanks to Indic Project and Swathanthra Malayalam Computing(SMC) for accepting this project. All hats off to my mentors Nalin Sathyan and Samuel Thibault. The project was awesome and I believe that I have done my maximum without any prior experience

Project Blog : http://ibus-braille-enhancement.blogspot.in/


Now let me outline what we have done during this period.

Braille-Input-Tool (The on-line version)
  Just like Google transliteration or Google Input Tools online. This is required because it's completely operating system independent and it's a modern method which never force user to install additional plugin or specific browser. The user might use this form temporary places like internet cafe. This is written using JQuery and Html. And works well in GNU/Linux, Microsoft windows, Android etc

See All Commits : https://github.com/anwar3746/braille-input/commits/gh-pages
Test with following link : http://anwar3746.github.io/braille-input/


IBus-Braille enhancements
See All Commits : https://gitlab.com/anwar3746/ibus-braille/activity

1 IBus-Braille integrated with Liblouis : The Liblouis software suite provides an open-source braille translator, back-translator and formatter for a large number of languages and braille codes. So maintaining and shipping separate braille maps(located at /share/ibus-sharada-braille/braille) with ibus-braille is a bad idea. Through this we completely adopted Ibus-Braille to use Liblouis. The conversion is done in an entire word manner instead of each letter. ie the conversion does after writing direct braille unicode and pressing space.
Commit 1 : https://gitlab.com/anwar3746/ibus-braille/commit/6826982fa39cbd2e155bfb389658e16cc57b0dae
Commit 2 : https://gitlab.com/anwar3746/ibus-braille/commit/7032cf7b0c8cea7ce6c619c39750f5110effcfa3
Commit 3 : https://gitlab.com/anwar3746/ibus-braille/commit/46ec83a1caab75b2b25bbd06e1156d927b33c211

See Picture of Ibus-Braille preferences given below

2 8-Dot braille Enabled : Yes languages having more than 64 characters which can't be handled with 64 (6 dots ) combination are there, Music notations like  “Abreu” and LAMBDA (Linear Access to Mathematics for Braille Device and Audio Synthesis) uses 8-dot braille system.  unicode support 8-dot braille.
Commit 1 : https://gitlab.com/anwar3746/ibus-braille/commit/54d22c0acbf644709d72db076bd6de00af0e20b9

See key/shortcut page picture of ISB preferences dot setting

3 Dot 4 issue Solved :  In IBus-Braille when we type in bharati braille such as Malayalam, Hindi, etc. we have to use 13-4-13 to get letter ക്ക(Kka). But according to braille standard in order to get EKKA one should press 4-13-13. And this make beginners to do extra learning to start typing. Through this project we solved this issues and a conventional-braille-mode switch is provided in preferences in order to switch between.

Commit : https://gitlab.com/anwar3746/ibus-braille/commit/089edca78d31355c3ab0e08559f0d9fe79929de6

4 Add Facility to write direct Braille Unicode : Now one can use IBus-Braille to type braille dot notation directly with the combination.  The output may be sent to a braille embosser. Here braille embosser is an impact printer that renders text in braille characters as tactile braille cells.

Commit : https://gitlab.com/anwar3746/ibus-braille/commit/4c6d2e3c8a2bbe86e08ca8820412201a52117ad1


5 Three to Six for disabled people with one hand : A three key implementation which uses delay factor between key presses for example 13 followed by
13 having delay less than delay factor (eg:0.2) will give X. If more, then output would be KK. If one want to type a letter having combination only 4,5,6 he have to press "t" key prior. The key and the Conversion-Delay can be adjusted from preferences.

Commit : https://gitlab.com/anwar3746/ibus-braille/commit/dda2bd83ba69fb0a0f6b526a940bc878bf230485

6 Arabic language added
Commit : https://gitlab.com/anwar3746/ibus-braille/commit/bd0af5fcfabf891f0b0e6649a3a6c647b0d5e336

7 Many bugs solved
Commit : https://gitlab.com/anwar3746/ibus-braille/commit/da0f0309edb4915ed770e9ab41e4355c2bd2c713
others are implied

Project Discourse : https://docs.google.com/document/d/16v-BMLLzWmzbo1n5S-wDTnUmFV-cwhoon1PeJ0mDM64/edit?usp=sharing
IBus-Sharada-Braille (GSoC 2014) : http://ibus-sharada-braille.blogspot.in/

Plugins for firefox and chrome
    This plugin can be installed will work with every text entry on the web pages no need for copy paste. extensions are written in Javascript.
See All Commits : https://github.com/anwar3746/braille-browser-addons/commits/master


Modification yet desirable are as following

1 Announce extra information through Screen Reader:  When user expand abbreviation or a contraction having more than 2 letters is substituted the screen reader is not announcing it. We have to write a orca(screen reader) plugin for Ibus-Braille

2 A UI for Creating and Editing Liblouis Tables

3 Add support for more Indic Languages and Mathematica Operators via liblouis

Braille-input-tool (online version)
                             
                       Liblouis integration
Conventional Braille, Three Dot mode and Table Type selection 
Chrome Extension

Direct braille unicode typing
 Eight dot braille enabled

by Anwar N (noreply@blogger.com) at August 23, 2016 04:39 AM

August 22, 2016

malayaleecoder

GSoC — Final Report!

So finally it’s over. Today is the last date for submission of the GSoC project. This entire ride was a lot informative as well as…

by malayaleecoder at August 22, 2016 08:06 PM

Sreenadh T C

It’s a wrap!

“To be successful, the first thing to do is to fall in love with your work — Sister Mary Lauretta”

by Sreenadh T C at August 22, 2016 07:01 AM

August 21, 2016

Arushi Dogra

GSoC Final Report

Its almost the end of the GSoC internship. From zero knowledge of Android to writing a proposal, proposal getting selected and finally 3 months working on the project was a great experience for me! I have learned a lot and I am really thankful to Jishnu Mohan for mentoring throughout .

Contributions include :-

All the tasks mentioned in the proposal were discussed and worked upon.

Layouts 
I started with making the designs of the layouts. The task was to make Santali Olchiki and Soni layouts for the keyboard. I looked at the code of the other layouts to get a basic understanding of how phonetic and inscript layouts work. Snapshot of one of the view of Santali keyboard :

Screen Shot 2016-08-21 at 6.53.03 PM

Language Support Feature 
While configuring languages, the user is prompted about the locales that might not be supported by the phone.

Screen Shot 2016-08-21 at 6.33.25 PM

Adding Theme Feature
Feature is added at the setup to enable user to select the keyboard theme

Screen Shot 2016-08-21 at 6.49.21 PM

Merging AOSP code
After looking at everything mentioned in the proposal, Jishnu  gave me the job of  merging AOSP source code to the keyboard as the current keyboard doesn’t have changes that were released along with  android M code drop because of which target sdk is not 23 . There are a few errors yet to be resolved and I am working on that😀

Overall, it was a wonderful journey and I will always want to be a contributor to the organisation as it introduced me to the world of open source and opened a whole new area to work upon and learn more.
Link to the discourse topic : https://discourse.indicproject.org/t/indic-keyboard-project/45

Thank You!  :D


by arushidogra at August 21, 2016 01:29 PM

August 17, 2016

Balasankar C

GSoC Final Report

Heya,

It is finally the time to wind up the GSoC work on which I have been buried for the past three months. First of all, let me thank Santhosh, Hrishi and Vasudev for their help and support. I seem to have implemented, or at least proved the concepts that I mentioned in my initial proposal. A spell checker that can handle inflections in root word and generate suggestion in the same inflected form and differentiate between spelling mistakes and intended modifications has been implemented. The major contributions that I made were to

  1. Improve LibIndic’s Stemmer module. - My contributions
  2. Improve LibIndic’s Spell checker module - My contributions
  3. Implement relatively better project structure for the modules I used - My contributions on indicngram

1. Lemmatizer/Stemmer

TLDR

My initial work was on improving the existing stemmer that was available as part of LibIndic. The existing implementation was a rule based one that was capable of handling single levels of inflections. The main problems of this stemmer were

  1. General incompleteness of rules - Plurals (പശുക്കൾ), Numerals(പതിനാലാം), Verbs (കാണാം) are missing.
  2. Unable to handle multiple levels of inflections - (പശുക്കളോട്)
  3. Unnecessarily stemming root words that look like inflected words - (ആപത്ത് -> ആപം following the rule of എറണാകുളത്ത് -> എറണാകുളം)

The above mentioned issues were fixed. The remaining category is verbs which need more detailed analysis.

Long Version

A demo screencast of the lemmatizer is given below.

So, comparing with the existing stemmer algorithm in LibIndic, the one I implemented as part of GSoC shows considerable improvement.

Future work

  1. Add more rules to increase grammatical coverage.
  2. Add more grammatical details - Handling Samvruthokaram etc.
  3. Use this to generate sufficient training data that can be used for a self-learning system implementing ML or AI techniques.

2. Spell Checker

TLDR

The second phase of my GSoC work involved making the existing spell checker module better. The problems I could identify in the existing spell checker were 1. It could not handle inflections in an intelligent way. 2. It used a corpus that needed inflections in them for optimal working. 3. It used only levenshtein distance for finding out suggestions.

As part of GSoC, I incorporated the lemmatizer developed in phase one to the spell checker, which could handle the inflection part. Three metrics were used to detect suggestion words - Soundex similarity, Levenshtein Distance and Jaccard Index. The inflector module that was developed along with lemmatizer was used to generate suggestions in the same inflected form as that of original word.

Long Version

A demo screencast of the lemmatizer is given below.

3. Package structure

The existing modules of libindic had an inconsistent package structure that gave no visibility to the project. Also, the package names were too general and didn’t convey the fact that they were used for Indic languages. So, I suggested and implemented the following suggestions

  1. Package names (of the ones I used) were changed to libindic-. Examples would be libindic-stemmer, libindic-ngram and libindic-spellchecker. So, the users will easily understand this package is part of libindic framework, and thus for indic text.
  2. Namespace packages (PEP 421) were used, so that import statments of libindic modules will be of the form from libindic.<module> import <language>. So, the visibility of the project ‘libindic’ is increased pretty much.

August 17, 2016 04:47 AM

August 16, 2016

Anwar N

IBus-Braille Enhancement - 3

Hi,
 A hard week passed!

1 Conventional Braille Mode enabled : Through this we solved dot-4 issue and now one can type using braille without any extra knowledge

commit 1 : https://gitlab.com/anwar3746/ibus-braille/commit/089edca78d31355c3ab0e08559f0d9fe79929de6

2 handle configure parser exceptions : corrupted isb configuration file can make it won't start. so I solved this by proper exception handling

commit 2 : https://gitlab.com/anwar3746/ibus-braille/commit/da0f0309edb4915ed770e9ab41e4355c2bd2c713

3 Liblouis integration : I think our dream is about to come true!  But still also we are struggling with vowel substitution on the middle.
commit 3 : https://gitlab.com/anwar3746/ibus-braille/commit/6826982fa39cbd2e155bfb389658e16cc57b0dae
commit 4 : https://gitlab.com/anwar3746/ibus-braille/commit/46ec83a1caab75b2b25bbd06e1156d927b33c211
commit 5 : https://gitlab.com/anwar3746/ibus-braille/commit/7032cf7b0c8cea7ce6c619c39750f5110effcfa3

by Anwar N (noreply@blogger.com) at August 16, 2016 08:35 PM

August 09, 2016

Sreenadh T C

What now?

“Now that the basic aim was fulfilled, what more can we work on, given there is almost half a month to GSoC Submission!”

by Sreenadh T C at August 09, 2016 01:56 PM

Anwar N

IBus-Braille Enhancement - 2

Hi, with this week I where fighting with my final semester exams! and it's over.  Also within this week I added the facility for typing direct braille Unicode.

https://gitlab.com/anwar3746/ibus-braille/commit/4c6d2e3c8a2bbe86e08ca8820412201a52117ad1

instead of converting to Unicode I added it as a new language so that one can later edit and use. 

by Anwar N (noreply@blogger.com) at August 09, 2016 03:40 AM

July 31, 2016

malayaleecoder

Sreenadh T C

July 30, 2016

Rajeesh K Nambiar

Convert iPhone contacts to vCard

On a recent troubleshooting attempt, I lost all the contacts in my Android phone. It had also received a recent update which took away the option to import contacts from another phone via bluetooth.
I still had some contacts in the old iPhone, but now that mass transfer via bluetooth is gone, it was a question of manually sending each contact in vCard format to the Android phone. That means I should probably find a less dreadful way to get the contacts back.

Here is one way to extract contacts en-masse from iPhone into popular vCard format. The contact and address details in iOS are stored by AddressBook application in a file named ‘AddressBook.sqlitedb‘ which is an sqlite database. The idea is to open this database using sqlite, extract the details from a couple of tables and convert the entries into vCard format.

Disclaimer: the iPhone is an old 3GS running iOS 6 and it is jailbroken. If you attempt this, your mileage would vary. Required tools/softwares are usbmuxd (especially libusbmuxd-utils) and sqlite, with the prerequisite that openssh server is running on the jailbroken iPhone.

  1. Connect iPhone via USB cable to the Linux machine. Run iproxy 2222 22 to connect to the openssh server running on the jailbroken phone. iproxy comes with libusbmuxd-utils package.
  2. Copy the addressbook sqlite database from phone:scp -P 2222 mobile@localhost:/var/mobile/Library/AddressBook/AddressBook.sqlitedb .

    Instead of steps 1 and 2 above, it might be possible to copy this file using Nautilus (gvfs-afc) or Dolphin (kio_afc) file manager, although I’m not sure if the file is accessible.

  3. Extract the contact and address details from the sqlite db (based on this forum post):sqlite3 -cmd ".out contacts.txt" AddressBook.sqlitedb "select ABPerson.prefix, ABPerson.first,ABPerson.last,ABPerson.organization, c.value as MobilePhone, h.val ue as HomePhone, he.value as HomeEmail, w.value as WorkPhone, we.value as WorkEmail,ABPerson.note from ABPerson left outer join ABMultiValue c on c.record_id = ABPerson.ROWID and c.label = 1 and c.property= 3 left outer join ABMultiValue h on h.record_id = ABPerson.ROWID and h.label = 2 and h.property = 3 left outer join ABMultiValue he on he.record_id = ABPerson.ROWID and he.label = 2 and he.property = 4 left outer join ABMultiValue w on w.record_id = ABPerson.ROWID and w.label = 4 and w.property = 3 left outer join ABMultiValue we on we.record_id = ABPerson.ROWID and we.label = 4 and we.property = 4;"
  4. Convert the extracted contact details to vCard format:cat contacts.txt | awk -F\| '{print "BEGIN:VCARD\nVERSION:3.0\nN:"$3";"$2";;;\nFN:"$2" "$3"\nORG:"$4"\nEMAIL;type=INTERNET;type=WORK;type=pref:" $9"\nTEL;type=CELL;type=pref:"$5"\nTEL;TYPE=HOME:"$6"\nTEL;TYPE=WORK:"$8"\nNOTE:"$9"\nEND:VCARD\n"}' > Contacts.vcf
  5. Remove the empty content lines if some contacts do not have all the different fields:sed -i '/.*:$/d' Contacts.vcf

Now simply transfer the Contact.vcf file containing all the contact details to Android phone’s storage and import contacts from there.


Tagged: hacking, linux, mac

by Rajeesh at July 30, 2016 09:16 AM

Anwar N

IBus-Braille Enhancement - 1

Hi,
  This week I forked IBus-Braille project from SMC GitLab repository  added two things.

1 Eight-Dot braille enabled. Now one can add languages with 8 dot's. The default keys are Z for dot 7 and period for dot-8. This can be remapped using preferences. 
https://gitlab.com/anwar3746/ibus-braille/commit/54d22c0acbf644709d72db076bd6de00af0e20b9


2 Arabic Language added and tested with users
https://gitlab.com/anwar3746/ibus-braille/commit/bd0af5fcfabf891f0b0e6649a3a6c647b0d5e336

See commits : https://gitlab.com/anwar3746/ibus-braille/commits/master

by Anwar N (noreply@blogger.com) at July 30, 2016 03:23 AM

July 26, 2016

Arushi Dogra

Updates on work

My next task was to show instead of all layouts, filter them on the basis of language. My first option I decided to do filtering based on locale. So instead of ACTION_INPUT_METHOD_SUBTYPE_SETTINGS we can use ACTION_LOCALE_SETTINGS but the problem here was that it was giving a list of all the locales in the system instead of the locales in our app. So I skipped this idea. And then decided to create a list and enable users selection on that. But there was no way to connect that to enabled system subtypes. I was stuck on this for quite some time .We ditched the plan and moved on to the “Theme selection” task.

I am currently working on the Theme Selection task . I have successfully added the step . But now I am working on adding the fragment instead of the whole activity . After I am done with this, I will move to adding the images of the themes. I will hopefully complete this task by the weekend.

Also , after a meeting with the mentor, it is decided that after this task I will work on merging AOSP source code to the keyboard as the current keyboard doesn’t have changes that were released along with  android M code drop because of which target sdk is not 23 . So my next task will be merging AOSP code which will give the benifit of run time permissions.😀


by arushidogra at July 26, 2016 12:34 AM

July 25, 2016

Balasankar C

4 Days. 22 Hours. LaTeX.

Heya folks,

One of the stuff I love doing is teaching what I know to others. Though it is a Cliché dialogue, I know from experience that when we teach others our knowledge expands. From 10 students, you often get 25 different doubts and minimum 5 of them would be ones you haven’t even thought yourself earlier. In that way, teaching drives a our curiosity to find out more.

I was asked to take a LaTeX training for B.Tech students as a bridge course (happening during their semester breaks. Poor kids!). The usual scenario is faculty taking class and we PG students assisting them. But, since all the faculty members were busy with their own subjects’ bridge courses and LaTeX was something like an additional skill that the students need for their next semesters for their report preparation, I was asked to take to take it with the assistance of my classmates. At first, I was asked to take a two-day session for third year IT students. But later, HOD decided that both CS and IT students should have that class, and guess what - I had to teach for four days. Weirdly, the IT class was split to two non-continuous dates - Monday and Wednesday. So, I didn’t have to take class for four consecutive days, but only three. :D

The syllabus I followed is as follows:

  • Basic LaTeX – Session I
    1. Brief introduction about LaTeX, general document structure, packages etc.
    2. Text Formatting
    3. Lists – Bullets and Numbering
  • Graphics and Formulas – Session II
    1. Working with Images
    2. Tables
    3. Basic Mathematical Formulas
  • Academic Document Generation (Reports and Papers) – Session III
    1. Sectioning and Chapters
    2. Header and Footer
    3. Table of Contents
    4. Adding Bibliography and Citations
    5. IEEETran template
  • Presentations using Beamer – Session IV

As (I, not the faculty) expected, only half of the students came (Classes on semester breaks, I was surprised when even half came!). Both the workshops - for CS and IT - were smooth without any much issues or hinderences. Students didn’t hesitate much to ask doubts or tips on how to do stuff that I didn’t teach (Unfortunately, I didn’t have time to go off-syllabus, so I directed them to Internet. :D). Analysing the students, CS students were more lively and interactive but they took some time to grasp the concept. Compared to them, even though kind of silent, IT students learned stuff fast.

By Friday, I had completed 4 days, around 22 hours of teaching and that too non-stop. I was tired each day after the class, but it was still fun to share the stuff I know. I would love to get this chance again.

IT Batch

IT Batch




CSE Batch

CSE Batch

July 25, 2016 04:00 AM

July 24, 2016

Sreenadh T C

Developing the Language Model

Finally, I can start the work towards Milestone — 2, which is completing the development of Language Model for Malayalam. Time to…

by Sreenadh T C at July 24, 2016 06:13 AM

July 23, 2016

Santhosh Thottingal

Manjari Font

I am happy to announce the new Malayalam font I was designing for past several months. The new font is named “Manjari”.

Malayalam blogpost: https://blog.smc.org.in/manjari-font/

Malayalam script is known for its curly characters with beautiful loops. Encoded in unicode around 2001, it is relatively new to the digital age. The script has been evolving from rectangle shaped to oval shaped types of varying proportions. The popular culture is more of oval/ellipse shaped curves, mainly because writing methods using stensils or pens demanded less sharp corners. The character or ligature shapes has also been changing gradually towards the shapes that are easy with pens. The Manjari font takes that to another level by smoothening all curves to its maximum.

The curves are constructed along the spiral segments. The resulting shapes are extra smooth. The curve perfection resulted in whitespaces that aquired beautiful leaf and drop shapes between the bowls and loops of the script. It is illustrated in the specimen. The spiral smoothness of curves were complemented by rounded terminals which gives very soft feeling for the eyes.

The design of the curves in Manjari are theoretically based on the PHD thesis by Raph Levien – “From Spiral to Spline: Optimal Techniques in Interactive Curve Design” (http://www.levien.com/phd/thesis.pdf). The Inconsolata monospace humanist latin font known for its clean lines and elegant design by Levien himself is based on this theory.

Normal, Bold, Thin style variants are available. This is the first Malayalam unicode font with thin style variant

Download

The curve strokes in Manjari were drawn in Inkscape using the spiral library written by Raph Levien himself  and opentype feature compilation was done using FontForge. The font is about to release in next few days, SVGs, scripts and source is available at https://gitlab.com/smc/manjari 

Orion Champadiyil prepared some illustrations using the font, you can see them in our font download page

News reports

 

by Santhosh Thottingal at July 23, 2016 06:29 AM

July 21, 2016

Balasankar C

Kerala State IT Policy - A Stakeholder Consultation

Heya folks,

Last Saturday, that is 16th July, I attendeda a meeting regarding the upcoming Kerala State IT Policy. It was a stakeholder consultation organized by DAKF, Software Freedom Law Centre and Ernakulam Public Library Infopark branch. The program was presided by Prasanth Sugathan of SFLC (I had met him during Swatanthra, when I helped Praveen in the privacy track) and was inaugurated by M. P Sukumaran Nair, advisor to the Minister of Industries. The agenda of the meeting was to discuss about the suggestions that needs to be submitted to the Government before they draft the official IT policy, that will be in effect for the next few years. I attended the meeting representing Swathanthra Malayalam Computing. Even though the meeting had a small audience, some of the key topics were brought into the mix.

Professor Jyothi John, retired principal of Model Engg. College, discussed about MOOCs to improve the education standard of the State. He also talked about improving the industry-academia-research relationship that is in a pathetic state as of now. I was asked to talk a few words. But, since SMC hadn’t taken any official stand or points for the meeting, I actually talked about my views about the issue. Obviously, my topics were more focused on Language Computing, Digital empowerment of the language and as well as how FOSS should be the key stone of the IT policy. I also mentioned about the E-Waste problem that Anivar had discussed the other day on the Whatsapp group.

Me Talking

Me Talking | PC: Sivahari

Mr. Joseph Thomas, the president of FSMI also talked on the importance of FOSS in IT policy (Kiran Thomas had some pretty strong disagreements with it. :D ). Following that, Babu Dominic from BSNL talked about their success stories with FOSS and how the project was scraped by government. There were some brilliant insights from Satheesh, who is a Social Entrepreneur now and once ran an IT-based company.

Following that, the meeting took the form of a round table discussion where interesting points regarding E-Waste and the money-saving nature of FOSS (Microsoft has been targetting Institutions for pirated copies, not home users) were raised by Mr. Bijumon, Asst Professor of Model Engg College. Mr. Jayasreekumar, who is a journalist talked about the important issue of the downtrodden people, or the people in the lower socio-economic belt were not part of the discussion and the image of digital divide that carves. We have to seriously increase diversity of participants in these meetings, as a large part of the population has no representation in them. Such meetings will be only fruitful, if the sidelined communities who also should benefit from this policy are brought together to participate in them.

The general theme of the meeting was pointing towards how the IT policy should focus more on the internal market, and how it should be helpful in entrepreneurs in competing with foreign competitors, atleast in the domestic market.

News Coverage in Deshabhimani

News Coverage | PC: Deshabhimani

More and more meetings of this nature are a must, if the state is to advance in the domain of IT.

July 21, 2016 04:00 AM

July 20, 2016

Anwar N

work progress in browser-addon

Hi,
 About two months passed. We do many testing on online braille-input tool. And some widgets rearranged for user comforts. In the recent weeks we made a good progress in both Firefox and Chrome browser addons. But still we suffer from a grate problem with  these addons, The plugins are not working in google chat and Facebook chat entry's.  We are seeking the solution...

by Anwar N (noreply@blogger.com) at July 20, 2016 08:15 PM

July 19, 2016

Balasankar C

GSoC Update: Week #7 and #8

Heya,

Last two weeks were seeing less coding and more polishing. I was fixing the LibIndic modules to utilize the concept of namespace packages (PEP 420) to obtain the libindic.module structure. In the stemmer module, I introduced the namespace package concept and it worked well. I also made the inflector a part of stemmer itself. Since inflector's functionality was heavily dependent on the output of the stemmer, it made more sense to make inflector a part of stemmer itself, rather than an individual package. Also, I made the inflector language-agnostic so that it will accept a language parameters as input during initialization and select the appropriate rules file.

In spellchecker also, I implemented the namespace concept and removed the bundled packages of stemmer and inflector. Other modifications were needed to make the tests run with this namespace concept, fixing coverage to pick the change etc. In the coding side, I added weights to the three metrics so as to generate suggestions more efficiently. I am thinking about formulating an algorithm to make comparison of suggestions and root words more efficient. Also, I may try handling spelling mistakes in the suffixes.

This week, I met with Hrishi and discussed about the project. He is yet to go through the algorithm and comment on that. However he made a suggestion to split out the languages to each file and make init.py more clean (just importing these split language files). He was ok with the work so far, as he tried out the web version of the stemmer.

[caption id="attachment_852" align="aligncenter" width="800"]hrishi_testing_spellchecker Hrishi testing out the spellchecker[/caption]

July 19, 2016 12:47 AM

July 16, 2016

malayaleecoder

GSoC Progress — Week 6 & 7

Alright, for the past two weeks, me and my mentor have been trying a lot to call the varnam library in Java. First we went on trying to…

by malayaleecoder at July 16, 2016 06:49 AM

Sreenadh T C

Mentioning the huge contributions

“ In open source, we feel strongly that to really do something well, you have to get a lot of people involved. — Linus Torvalds ”

by Sreenadh T C at July 16, 2016 06:14 AM

Santhosh Thottingal

A short story of one lakh Wikipedia articles

At Wikimedia Foundation, I am working on a project to help people translate articles from one language to another. The project started in 2014 and went to production in 2015.

Over the last one year, a total of 100,000 new artcles were created across many languages. A new article get translated in every five minutes, 2000+ articles translated per week.

The 100000th Wikipedia page created with Content Translation is in Spanish, for the song ‘Crying, Waiting, Hoping

I designed the technical architecture and continue to be the main developer. I am so proud to be part of a project that contributed this much for free knowledge.

Related blog posts in Wikimedia blog:

Content translation tool hits milestone with one hundred thousand articles

Wikipedia’s coverage of essential vaccines is expanding

Content Translation tool has now been used for 50,000 articles

Semi-automated content translation is coming to Scandinavian Wikipedias

Naradanews Malayalam published a note on this

ഓരോ അഞ്ച് മിനിറ്റിലും പുതിയ ലേഖനം; വിക്കിപീഡിയ ബഹുഭാഷാ സാന്നിധ്യം വർദ്ധിപ്പിക്കുന്നു

by Santhosh Thottingal at July 16, 2016 05:29 AM

July 15, 2016

Santhosh Thottingal

FOSS migration of electronic circuit simulation lab

My proposal for migrating basic electronic circuit simulation lab to the FOSS tool eSim has been approved. The source code and documentation of experiments can now be downloaded from here.

eSim is an open source EDA tool for circuit design, simulation, analysis and PCB design. eSim is developed by FOSSEE (Free and Open Source Software for Education) – an initiative of MHRD, Govt. of India. FOSSEE promotes the migration of labs in educational institutions from proprietary tools to FOSS only ones through lab migration projects.

I am really happy to have become a part of this project. You can read my previous post on eSim usage here.

by Kavya Manohar at July 15, 2016 02:41 PM

July 11, 2016

Arushi Dogra

Update on work

The week started with continuing the task for detection of supported locales. I was facing some problems initially. I was trying to first change the contents of a static file during runtime which I later realised couldn’t be done. So as directed by mentor I changed the approach and decided to prompt the user at the setup time about which languages might not be supported by the phone.
It looks something like this:

Screenshot_2016-07-12-00-24-21

Unfortunately my system crashed and the later part of my time was given to formatting the laptop,taking backup, installing the OS and re-setup of the project. Then I went home for my parents wedding anniversary for 3 days.

My next task : Improving the setup wizard . Since the user might not be interested in all the languages , so instead of showing all the layouts at once , we are planning to first ask the user to chose the language and then the corresponding layout in it. I have to discuss more with Jishnu regarding this task.


by arushidogra at July 11, 2016 07:16 PM

July 08, 2016

Hrishi

ട്രോളുകളുടേ ജനാധിപത്യം – മനോരമ ന്യൂസിലെ നിയന്ത്രണരേഖയിൽ

മനോരമ ന്യൂസിലെ നിയന്ത്രണരേഖയിൽ ട്രോളുകളുടേ ജനാധിപത്യം എന്ന വിഷയത്തിൽ നടന്ന ചർച്ചയിൽ ഐ.സി.യു. വിനെ പ്രതിനിധീകരിച്ച് പങ്കെടുത്തു. വി.ടി ബൽറാം, ഉഴവൂർ വിജയൻ, വി.വി രാജേഷ്, ആർദ്ര നമ്പ്യാർ , സുഭാഷ് നായർ എന്നിവരും പങ്കെടുത്തിരുന്നു

by Hrishi at July 08, 2016 07:46 PM

July 06, 2016

Anwar N

Braille-Input-Tool : The final touch

Hi,

            With this two weeks we have done many testing with users and done many additions according to their needs. The first one  is Key reassigning. as you know there are many keyboard variants also user like to set there own keys instead of using f,d,s,j,k and l. But this make the necessity of saving user preferences. So we done this using jstorage. it's working fine
https://github.com/anwar3746/braille-input/commit/9e8bb0b5ef9a54d61dfa5081d0966ec9d10f01a0


Key reassigning can be done by clicking "Configure Keys" button which will popup many entry's where user can remap his keys. Restore option is also provided there.
https://github.com/anwar3746/braille-input/commit/3d3469ab8a68711ba0189d61f02c7231297ded3a


New and Save are the basic things that should be provided by a online editor
https://github.com/anwar3746/braille-input/commit/074829d2f4be81b7fa984931a90a108e3bac03ab

Changing font color, font size and background color are very impotent for partially impaired blind people. For keeping the page accessible we choose combobox containing major color list instead of providing graphical color picker
https://github.com/anwar3746/braille-input/commit/f1f6d3de308386d08977f40bc417c4c1ac0b3eb9

Various bugfixes
https://github.com/anwar3746/braille-input/commit/9b8cbc8d54051e9cb330514aacc6d8e6066cf7c6
https://github.com/anwar3746/braille-input/commit/d8127ceb3dc567bfb1778a437d29c2cfe989b24f
https://github.com/anwar3746/braille-input/commit/d3a01c17db64d4fabbad29b18d605992b633270f
https://github.com/anwar3746/braille-input/commit/f34104bfb55c3e4e7735a23016ee913311444702

Braille-Input-Tool : http://anwar3746.github.io/braille-input/
See all commits : https://github.com/anwar3746/braille-input/commits/gh-pages


by Anwar N (noreply@blogger.com) at July 06, 2016 09:09 PM

July 05, 2016

Balasankar C

GSoC Update: Week #5 and #6

Heya,

Last two weeks were spent mostly in getting basic spellchecker module to work. In the first week, I tried to polish the stemmer module by organizing tags for different inflections in an unambiguous way. These tags were to be used in spellchecker module to recreate the inflected forms of the suggestions. For this purpose, an inflector module was added. It takes the output of stemmer module and reverses its operations. Apart from that, I spent time in testing out the stemmer module and made many tiny modifications like converting everything to a sinlge encoding, using Unicode always, and above all changed the library name to an unambiguous one - libindic-stemmer (The old name was stemmer which was way too general).

In the second week, I forked out the spellchecker module, convert the directory structure to match the one I've been using for other modules and added basic building-testing-integration setup with pbr-testtools-Travis combination. Also, I implemented the basic spell checking and suggestion generation system. Like stemmer, marisa_trie was used to store the corpus. Three metrics were used to generate suggestions - Soundex similarity, Levenshtein Distance and Jaccard's Index. With that, I got my MVP (Minimum Viable Product) up and running.

So, as of now, spell checking and suggestion generation works. But, it needs more tweaking to increase efficiency. Also, I need to formulate another comparison algorithm, one tailored for Indic languages and spell checking.

On a side note, I also touched indicngram module, ported it to support Python3 and reformatted it to match the proposed directory that I have been using for other modules. A PR has been created and am waiting for someone to accept it.

July 05, 2016 01:57 PM

July 03, 2016

Santhosh Thottingal

ഡോക്ടർ ബി എം ഹെഗ്ഡേ – മാതൃഭൂമി ആഴ്ചപ്പതിപ്പിൽ വന്ന അഭിമുഖത്തെപ്പറ്റി

മാതൃഭൂമി ആഴ്ചപ്പതിപ്പിന്റെ കഴിഞ്ഞയാഴ്ച പുറത്തിറങ്ങിയ പതിപ്പിൽ(ലക്കം 16) ഡോ ബി എം ഹെഗ്‌ഡെയുമായി അഭിമുഖമുണ്ട്. കവർസ്റ്റോറിയാണു്.  ലോകപ്രശസ്ത ജനപക്ഷ ഡോക്ടറാണു്, ആരോഗ്യം സമൂഹത്തിന്റെ ആരോഗ്യമാണെന്നൊക്കെ പറഞ്ഞുള്ള ആമുഖത്തിനപ്പുറം വായിച്ച് പോയപ്പോൾ എന്റെ പരിമിതമായ ശാസ്ത്രവിജ്ഞാനത്തിനൊരിക്കലും അംഗീകരിക്കാൻ കഴിയാത്ത കപടവാദങ്ങളാണു് കാണാനിടയായതു്.  പത്മ ഭൂഷൺ ലഭിച്ച, മണിപ്പാൽ യൂണിവേഴ്സിറ്റിയുടെ വൈസ് ചാൻസ്‌ലറായിരുന്ന, നിരവധി ബിരുദങ്ങളും വർഷങ്ങളുടെ വൈദ്യശാസ്ത്ര അനുഭവപരിചയവുമുള്ള ഇദ്ദേഹം ഇങ്ങനെയൊക്കെ ശാസ്ത്രത്തെ അവതരിപ്പിക്കുന്നതിൽ എനിക്കത്ഭുതമുണ്ട്.

ആരോഗ്യരംഗത്തെ സാമ്പത്തിക ചൂഷണങ്ങൾ, ഡോക്ടർ രോഗി ബന്ധങ്ങളിലെ തെറ്റായ പ്രവണതകൾ തുടങ്ങി ആർക്കും അംഗീകരിക്കാൻ അത്ര വിഷമമൊന്നുമില്ലാത്ത വിഷയങ്ങളുടെ മറവിൽ ആധുനിക വൈദ്യശാസ്ത്രത്തെയും അതിന്റെ നേട്ടങ്ങളെയും അപ്പാടെ നിരാകരിയ്ക്കുകയാണു് ഹെഗ്‌ഡെ ചെയ്യുന്നതു്. അദ്ദേഹത്തിനു ലഭിച്ച ശാസ്ത്ര വിദ്യാഭ്യാസത്തെയും അലങ്കരിച്ച പദവികളെയും അപ്പാടെ ചോദ്യചിഹ്നമാക്കുന്ന രീതിയിലുള്ള നിരീക്ഷണങ്ങൾ നമ്മുടെ നാട്ടിലെ ലാടവൈദ്യൻമാരുടെയോ കപടശാസ്ത്രവാദക്കാരുടെയോ വാദങ്ങളിൽ നിന്നും ഒട്ടും ഭിന്നമല്ല.

അഭിമുഖത്തിൽ നിന്നുള്ള ചില ഭാഗങ്ങൾ താഴെകൊടുക്കുന്നു.

“ഞാൻ പഠിക്കുന്ന കാലത്തു് ഹൃദയാഘാതം വന്നാൽ രോഗിക്ക് ഓക്സിജൻ നൽകുമായിരുന്നു. ഹൃദയാഘാതം വന്നവർക്ക് ഓക്സിജന്റെ അളവ് കുറച്ചുമതിയെന്ന്(Hypoxia)  പിന്നീടാണു് കണ്ടെത്തിയതു്. എത്രപേരെ നമ്മൾ ഓക്സിജൻ കൊടുത്തു് കൊന്നു?” ഹാർവാഡ് മെഡിക്കൽ സ്കൂളിൽ നിന്നും നോബൽ സമ്മാനം നേടിയ ബെർണാഡ് ലോണിന്റെ കീഴിൽ കാർഡിയോളജിയിൽ പരിശീലനം നേടിയ ആളാണ് ഡോ ഹെഗ്ഡെ എന്നു് അദ്ദേഹത്തിനെക്കുറിച്ചുള്ള വിക്കിപീഡിയ ലേഖനത്തിൽ പറയുന്നു.  ഓക്സിജൻ കൊടുത്തുവെന്ന അമിതമായി ലളിതവത്കരിച്ച മേൽപ്രസ്താവന കൊണ്ട് ഡോ ഹെഗ്ഡെ എന്താണുദ്ദേശിക്കുന്നതു്? ഓക്സിജന്റെ അളവു ക്രമീകരിച്ചുകൊണ്ടുള്ള ചികിത്സാപഠനങ്ങൾ നടന്നിട്ടുണ്ട് എന്നതുകൊണ്ട് ഓക്സിജൻ കുറച്ചു മതിയെന്നും ഓക്സിജൻ കൊടുത്തുകൊന്നുവെന്നും പറയുന്നതു് അദ്ദേഹത്തിന്റെ വിദ്യാഭ്യാസത്തിനു ചേർന്നതാണോ? ഇതുവായിക്കുന്ന സാധാരണക്കാർ എന്താണതിൽ നിന്നും മനസ്സിലാക്കേണ്ടതു്?.

വെളിച്ചെണ്ണയുടെ മാഹാത്മ്യത്തെപ്പറ്റി അദ്ദേഹം വിവരിക്കുന്നുണ്ട്. അമേരിക്കയിൽ അൾഷെമേഴ്സിനും ജീവിതശൈലീരോഗങ്ങൾക്കും വെളിച്ചെണ്ണ ഡോക്ടർമാർ നിർദ്ദേശിക്കുന്നുവെന്നു അദ്ദേഹം പറയുന്നു. അറുപതുകളിൽ ഡോ ഹെഗ്ഡേ ഇതുപറഞ്ഞപ്പോൾ ആരും കണക്കിലെടുത്തില്ല പോലും. “നവജാതശിശുവിനുപോലും വെളിച്ചെണ്ണ വായിൽവെച്ച് കൊടുക്കാം, വായിൽവെച്ചുതന്നെ ദഹിക്കും”-മലയാളികൾ വെളിച്ചെണ്ണ ഉപേക്ഷിക്കാനുള്ള ബുദ്ധി കാണിച്ചതുകൊണ്ടാണു് രോഗങ്ങൾ കൂടിയതു്. നവജാതശിശുക്കൾക്ക് മുലപ്പാലിനുപകരം വെളിച്ചെണ്ണ കൊടുക്കാം എന്ന് അദ്ദേഹം വേറേ പലയിടങ്ങളിൽ പറയുന്നതായും വായിച്ചു(https://www.youtube.com/watch?v=NwIKE590_8Q). ഈ വാദത്തിന്റെ ഉള്ളടക്കത്തിലേയ്ക്ക് ഞാൻ പോകുന്നില്ല, പക്ഷേ ശാസ്ത്രീയമായ നിഗമനങ്ങളിൽ എത്തിച്ചേരുന്ന മാർഗങ്ങളും അവയുടെ അംഗീകാരത്തിനു് അവലംബിയ്ക്കുന്ന മാർഗങ്ങളും അറിയൊന്ന ഏതൊരാൾക്കും ഈ “ഒറ്റമൂലി” വാദങ്ങൾ മുഖവിലയ്ക്കെടുക്കാൻ എളുപ്പമല്ല. പൊതുജനങ്ങളുടെ മുന്നിൽ ഇത്തരം വാദങ്ങൾ അവതരിപ്പിക്കുന്നതു് എത്രമാത്രം ഉത്തരവാദിത്തത്തോടുകൂടിയായിരിക്കണം എന്നും അദ്ദേഹത്തിനറിയേണ്ടതല്ലേ?

“കോശങ്ങൾ സ്വയം അറ്റകുറ്റപ്പണികൾ നടത്തുമെന്ന വിപ്ലവകരമായ അറിവ് ശാസ്ത്ര ലോകം രഹസ്യമാക്കിവെച്ചിരിക്കുകയാണു്”. ഈ രഹസ്യം ഡോ ഹെഗ്ഡേ മാതൃഭൂമി ആഴ്ചപ്പതിപ്പ് ലക്കം 16 ൽ പുറത്തുവിട്ടു.

“അവയവം മാറ്റിവെയ്ക്കൽ ഒരു രോഗത്തിനും പരിഹാരമല്ല, കാറിനെപ്പോലെ യാന്ത്രികമായാണ് ശരീരം പ്രവർത്തിക്കുന്നതെന്ന പഴയ ശാസ്ത്രം പഠിച്ചവരാണു് ട്രാൻസ്പ്ലാന്റേഷൻ തുടരുന്നത്”

“ശാസ്ത്രത്തെ കിഴക്കെന്നും പടിഞ്ഞാറെന്നും നാം ഒരിക്കലും വേർതിരിക്കേണ്ടതില്ല ” എന്നുപറയുന്ന ഡോ ഹെഗ്ഡേ അടുത്ത വാചകത്തിൽ പറയുന്നു:  “പാശ്ചാത്യ ശാസ്ത്രം ഇന്ന് എല്ലാ രംഗത്തും ആധിപത്യം നേടിയിട്ടുണ്ട്, അതു് താമസിയാതെ തകർന്നു വീഴും”. ഡോ ഹെഗ്ഡേ അദ്ദേഹത്തിന്റെ പ്രൊഫഷനിൽ സ്വയം വിശ്വസിക്കുന്നുണ്ടോ എന്നാർക്കെങ്കിലും ചോദിക്കാൻ തോന്നിയാൽ കുറ്റപ്പെടുത്താനാവുമോ?

“പണ്ട് അമ്പലങ്ങളിൽ വെള്ളിപ്പാത്രത്തിൽ തീർഥജലം നൽകുമായിരുന്നു, പന്ത്രണ്ടുവർഷമൊക്കെ മണ്ണിനടിയിൽ സൂക്ഷിക്കുന്ന നാനോപാർട്ടിക്കിൾസ് അതിലുണ്ടാവും. “.  ക്വാണ്ടം മെക്കാനിക്സ് പോലെ പറയുന്ന വിഷയത്തിനു കനം കൂട്ടാൻ വേണ്ടി ചേർക്കുന്ന മറ്റൊരു വാക്കാണ് നാനോ സയൻസ്. കേൾക്കുന്നവർക്ക് അറിയാൻ സാധ്യത കുറവാണെന്ന വിശ്വാസമാണതിനു പിന്നിൽ. ഡോ ഗോപാലകൃഷ്ണനൊക്കെ നന്നായി ഉപയോഗിക്കുന്ന വിദ്യയാണതു്. വെള്ളത്തിൽ നാനോ പാർട്ടിക്കിൾസ് ഉണ്ടാവും എന്നതുകൊണ്ട് എന്തുണ്ടാവാനാണു്? വെള്ളത്തിൽ മൺതരികളുണ്ടാവുമെന്നോ, പായലുണ്ടാവുമെന്നോ പറയുന്നതിനേക്കാൾ ഇതിനൊക്കെ എന്തെങ്കിലും അർത്ഥമുണ്ടോ?  “ഞങ്ങളുടെ നാനോ സിൽവർ ലായനിക്ക് വില പത്തുരൂപയേ ഉള്ളൂ, ഉപകാരികളായ അണുക്കളെ അതു നശിപ്പിക്കില്ല, രോഗകാരികളെ പെരുകാൻ അതു് അനുവദിക്കുകയുമില്ല”-പേറ്റന്റ് കിട്ടാൻ കൈക്കൂലി കൊടുക്കാൻ തയ്യാറാകാത്തതുകൊണ്ട് പുറത്തിറക്കിയിട്ടില്ലെന്നും അദ്ദേഹം പറയുന്നു. ഹൃദയാഘാതം തടയാൻ ഒരു ഇലക്ട്രോമാഗ്നറ്റിക് ഉപകരണവും ഇദ്ദേഹം കണ്ടുപിടിച്ചതായി അവകാശപ്പെടുന്നു. അതിനും പേറ്റന്റ് കിട്ടിയിട്ടില്ല. കൈക്കൂലി തന്നെ പ്രശ്നം.

“പ്രാചീനമായ ആചാരങ്ങളെ ശാസ്ത്രീയമായി വിശകലനം ചെയ്തു് നമുക്ക് പല ആരോഗ്യപ്രശ്നങ്ങളെയും പരിഹരിക്കാം”. പ്രധാനമന്ത്രി മുതൽ നാട്ടിലെ ഒറ്റമൂലി വൈദ്യൻമാർവരെ  പറയുന്ന ഈ മന്ത്രം ഇദ്ദേഹവും ഉരുവിട്ടു. ഒരു കണക്കിൽ അഭിമുഖത്തിന്റെ ഒറ്റവാചകത്തിലുള്ള ചുരുക്കമായും ഈ പ്രസ്താവനയെ പരിഗണിക്കാം. പക്ഷേ അഭിമുഖം വരും ലക്കങ്ങളിൽ തുടരും എന്നു മുന്നറിയിപ്പുണ്ട്.

“നിങ്ങൾ ആരോഗ്യത്തോടെയിരിക്കുമ്പോൾ ഒരിക്കലും ഡോക്ടറുടെയടുത്തു് ചെക്ക് ചെയ്യാൻ പോകരുതു്” ഹെൽത്ത് ചെക്കപ്പുകൾക്കെതിരെ അദ്ദേഹം സംസാരിക്കുന്നുണ്ട്.

“ഡോക്ടർമാർ ഹാർട്ട് ബ്ലോക്കെന്നു പറഞ്ഞാൽ ഒരിക്കലും ഭയക്കരുതു്, എല്ലാ മനുഷ്യർക്കും ബ്ലോക്ക് ഉണ്ടാവും” -” സ്കൂളിൽ പോകുന്ന കുട്ടികൾക്കും ബ്ലോക്കുണ്ടാവും, വിയറ്റ്നാം കൊറിയൻ യുദ്ധങ്ങളിൽ വെടിയേറ്റ് വീണ അമേരിക്കൻ പട്ടാളക്കാരിൽ എല്ലാർക്കും ബ്ലോക്കുണ്ടായിരുന്നു!”. വെടിയേറ്റ് മരിച്ച പട്ടാളക്കാരുടെ ബ്ലോക്കിന്റെ കാര്യം സ്വല്പം വിശ്വസിക്കാൻ തോന്നുന്നു. ലേസർ ബൈപാസ് സർജറി നടത്തിയ  തെരഞ്ഞെടുത്തവരിൽ നടത്തിയപ്പോൾ, കുറച്ചുപേർക്ക് വെറും ബോധം കെടുത്തുകയേ ഉണ്ടായുള്ളൂ. “പക്ഷേ അവർ പുർണ ആരോഗ്യവാൻമാരായിരുന്നു. ശസ്ത്രക്രിയ നടത്തിയവർക്ക് ആരോഗ്യപ്രശ്നങ്ങളുണ്ടായിരുന്നു. പ്ലസിബോ ഇഫക്ടാണ് രോഗം മാറ്റുന്നതെന്ന് ഇതു് സംശയാതീതമായി തെളിയിക്കുന്നു”. പൂർണ ആരോഗ്യമുള്ളവരിലാണോ ഇങ്ങനെ ബോധംകെടുത്തി ശസ്ത്രക്രിയ നടത്തിയെന്നു പറഞ്ഞു വിശ്വസിപ്പിച്ചതെന്നു വ്യക്തമല്ല.

“രോഗമൊന്നുമുണ്ടാവില്ലെന്ന ശുഭാപ്തിവിശ്വാസമുള്ളവരായാൽ തന്നെ ശരീരത്തിലെ കാൻസർ കോശങ്ങൾക്ക് പെരുക്കാൻ കഴിയില്ല”. കാൻസർ ചികിത്സയ്ക്ക് സെൽഫ് ഹെൽപ് പുസ്തകങ്ങൾ ഉപയോഗിക്കാമോ?

“അറിവില്ലായ്മയുണ്ടാക്കുന്ന അഹങ്കാരമാണ് എല്ലാ ആരോഗ്യപ്രശ്നങ്ങളും സൃഷ്ടിക്കുന്നതു്. പണം മുടക്കി ലോകത്തൊരാൾക്കും ആരോഗ്യം വാങ്ങാനാവില്ല”

“പരിണാമജീവശാസ്ത്രം പഠിച്ചാൽ ഡാർവിനും മെൻഡലുമൊക്കെ പഴഞ്ചനാണെന്നും അണുക്കളിൽ നിന്നും പരിണമിച്ചുണ്ടായവരാണ് മനുഷ്യരെന്നും ബോധ്യമാകും”.

“ഫിസിക്സിലെ തത്വമെടുത്തു് വിമാനവും മിസൈലുകളുണ്ടാക്കുന്നതും ശാസ്ത്ര സാങ്കേതികവിദ്യയുടെ പേരിൽ ഒരു ലക്ഷം കോടി ചെലവു ചെയ്തു് ചന്ദ്രനിൽ പോകുന്നതും വെറും ഈഗോയെ തൃപ്തിപെടുത്തലാണ്. അതുകൊണ്ട് ഭൂരിപക്ഷം വരുന്ന സാധാരണകാർക്കും ഒരു നേട്ടവും ഇല്ല” – ഇന്ത്യയിലെ ശാസ്ത്ര വിദ്യാർത്ഥികൾക്കും പൊതുജനത്തിനും ഇദ്ദേഹം നൽകുന്ന സന്ദേശമെന്താണു്?

ഇനിയുമുണ്ട്. പക്ഷേ ഇതെല്ലാം നമ്മുടെ നാട്ടിലെ ലാടവൈദ്യൻമാരും വടക്കഞ്ചേരിമാരും ഗോപാലകൃഷ്ണനെപ്പോലുള്ളവരും എത്രയോവട്ടം പറഞ്ഞ് നമ്മൾ കേട്ടിട്ടുള്ളതുതന്നെ. പ്രതിരോധവാക്സിനുകളെ സംബന്ധിച്ച് ഗൌരവകരമായ ചർച്ചകൾ നടക്കുന്ന ഇക്കാലത്തു്, ആ വിഷയത്തിൽ പ്രതിലോമകരമായ ആശയങ്ങൾ പ്രചരിപ്പിച്ച മാതൃഭൂമി തന്നെ ഇത്തരം കപടശാസ്ത്ര വാദങ്ങൾക്ക് വേദിയൊരുക്കുന്നതു് ആശങ്കയുണ്ടാക്കുന്നു. പത്മഭൂഷൻ നേടിയ ശാസ്ത്രഞ്ജൻ, നിരവധി വൈദ്യശാസ്ത്ര ബിരുദങ്ങളുള്ള, പല ഉയർന്ന പദവികൾ അലങ്കരിച്ചയാൾ എന്നൊക്കെയാണ് ആണു് ഡോ ഹെഗ്ഡേയുടെ വിശേഷണങ്ങൾ എന്നോർക്കുമ്പോൾ ഇന്ത്യയിലെ ശാസ്ത്ര വിദ്യാഭ്യാസത്തെയും ശാസ്ത്രജ്ഞർ എന്നു വിളിക്കപെടുകയും ആദരിക്കുകയും ചെയ്യപ്പെടുന്നവരെയും ഓർത്ത് ഒരേ സമയം ലജ്ജിക്കുകയും ആശങ്കപ്പെടുകയും ചെയ്യുന്നു. റോക്കറ്റിനു തുലാഭാരം നടത്തുന്നവരും യുദ്ധവീമാനത്തിനു ശത്രുസംഹാരപൂജനടത്തുവരെയും ശാസ്ത്രജ്ഞൻ എന്ന് നമ്മൾ ഇനിയും വിളിച്ചുകൊണ്ടേയിരിക്കുമോ?

ഹെഗ്ഡേയുടെ ലേഖനങ്ങൾ ‘നിർമുക്ത’ പണ്ട് വിശകലനം ചെയ്തിരുന്നു –

 

This note was later published in Narada news Malayalam

ഹെഗ്‌ഡെയുടെ അഭിമുഖം; ഒരു വിമർശന വായന

by Santhosh Thottingal at July 03, 2016 11:07 AM

June 26, 2016

malayaleecoder

GSoC Progress — Week 4 & 5

Ooh boy, half way through GSoC and lot to be done. Finally we decided to do the entire project in Android Studio so that the later…

by malayaleecoder at June 26, 2016 09:40 PM

Sreenadh T C

Srihari,

Are you referring to the bash command used in the experiment I described or about the ruby scripts from my previous posts. I used the…

by Sreenadh T C at June 26, 2016 05:56 AM

June 25, 2016

Arushi Dogra

Weekly Blog

I am given the task to detect whether a language is supported by the keyboard or not. In my phone Punjabi is not supported so I did all the testing with that. Whenever a language is not supported it is displayed as blank so that gave me an idea on how I will work on this issue. So I created the bitmap for all the characters of the language and compared it with an empty bitmap. So If the language was not supported it had empty bitmap and I declared it as not supported.

I have to improve on : Currently it is checking every time when the keyboard is opening. So I will do it such that it checks for all languages during the setup wizard and stores the info.

My task for next week is checking in setup wizard for all languages and in the list displaying the languages which cannot be supported as not supportable so that the user can know.


by arushidogra at June 25, 2016 01:35 PM

June 23, 2016

Balasankar C

GSoC Update: Week #3 and #4

Heya,

[Sorry for the delay in the post]

I spent the last two weeks mainly testing out the stemmer module and the defined rules. During that I found out there are many issues for a rule based model because different types of inflections to different parts of speech can yield same inflected form. This can be solved only by machine learning algorithm that incorporates a morphological analyzer and is hence out of scope of my proposal. So I decided to move forward with the stemmer.

I tried to incorporate handling of inflections of verb - like tense change - using rules and was able to do a subset of them. Rest of the forms need more careful analysis and I've decided to get the system working first and then optimize it.

I've also decided to tag the rules so that a history of stemming can be preserved. The stemmer will now generate the stem as well as the tags of rules applied. This metadata can be useful to handle the problem of same letter being inflected to different forms that I faced while developing VibhakthiGenerator.

I spent some time in cleaning up the code more and setting up some local testing setup like a CLI and Web interface.

The PR was accepted by Vasudev and the changes are currently a part of the indicstemmer codebase.

BTW, it is time for the Midterm evaluations of GSoC 2016, where the mentors evaluate the progress of the students and give a pass/fail grade to them. Also, the students get to evaluate the mentors, communication with them and their inputs. I have already completed this and am waiting for my mentor to finish it. Hopefully, everything will go well.

June 23, 2016 03:04 PM

June 21, 2016

Anwar N

Bug fixes on Online Braille-Input-Tool

Hi,
  The first month is over, the webpage is almost finished we gone through many bugs in the last week. Sathyaseelan mash and Balaram G really helped us to find out the bugs. One of the crucial and not easy to detect was the bug with map initialization.  We take lot of time to find and fix it.  Another one was with the insertion of text at the middle. following are the names of other commits

CapsLock(G) and Beginning-Middle switch(Alt)
Simple mode checkbox
Word and letter deletion enabled
Abbreviation enabled

https://github.com/anwar3746/braille-input/commits/gh-pages


by Anwar N (noreply@blogger.com) at June 21, 2016 05:45 AM

June 18, 2016

Sreenadh T C

Milestone 1 : Conquered

We look far ahead and calls it ‘future’ but fails to realize the coming step is closest milestone for future.

by Sreenadh T C at June 18, 2016 06:59 AM

June 17, 2016

Arushi Dogra

Working with the layouts!

I started with making the designs of the layouts. The task was to make Santali Olchiki and Soni layouts for the keyboard. I looked at the code of the other layouts to get a basic understanding of how they were working.

Soni Layout
It took some time to understand how the transliteration codes were working.I did changes in the ime submodule for the layout. I messed up with the locale names and fixed that later. The changes were merged! Then I updated  the submodule on the Indic keyboard branch .

Santali Olchiki Layout

Previously I made the inscript layout of Santali Olchiki but after discussion with the mentor, it was decided to work on the phonetic layout as it can fit in smaller layout and thus easier to type too. I made the design of the keyboard and wrote the code for it and tested on the device. It is coming out fine too.

After that I explored various keyboard apps to see their setup wizards.

My task for the next week is to detect whether a language is supported by the system or not. I am planning to do it by checking if a character is typed it gives empty results or not. I will look for other ways too. I will update about the progress in the next blog.

 


by arushidogra at June 17, 2016 12:18 PM

June 14, 2016

Sreenadh T C

Hi shaun,

Am working with CMU Sphinx toolkit that has recognizer libraries written in C. I am focussing on adding Language model and Acoustic model…

by Sreenadh T C at June 14, 2016 07:02 PM

June 13, 2016

malayaleecoder

GSoC Progress — Week 2 & 3

First of all, apologies for skipping the last week’s post. Last two weeks were somewhat a bit rocky :P

by malayaleecoder at June 13, 2016 06:57 PM

June 11, 2016

Anwar N

Basic Online Braille-Input Tool

Hi,

         As three weeks passed, After developing basic Chrome and Firefox extensions we moved to development of webpage braille-input where one can type in six key way. For achieving this we have gone through a lot of things such as Ajax, jQuery, JSON, Apache web server, etc..  The most major referred links are given at the end of this post. even my mentor also new to web based developments he always suggest me to keep it more ideal as possible.  Even the concept of Map switching bitween the begining, middle and contraction list was bit difficult to understand later I realize that's the way it should be. Finaly when we requesting for a space to host the web page one of another mentor from my organization Akshay S Dinesh gave us a hint about facility in Github itself to host. So we done it with a simple effort even we faced jQery download problem and Contraction file listing.

Source Code : https://github.com/anwar3746/braille-input

Now one can try it using the following link
http://anwar3746.github.io/braille-input/

Now we have to implement Abbreviations, Simple-Mode, Open, New , Save, Option to change font, font size, Background and Foreground Color etc.. as done in Sharada-Braille-Writer.




Refered Links :

http://viralpatel.net/blogs/dynamic-combobox-listbox-drop-down-using-javascript/
http://stackoverflow.com/questions/6116474/how-to-find-if-an-array-contains-a-specific-string-in-javascript-jquery
http://stackoverflow.com/questions/4329092/multi-dimensional-associative-arrays-in-javascript
http://stackoverflow.com/questions/7196212/how-to-create-dictionary-and-add-key-value-pairs-dynamically-in-javascript
http://www.w3schools.com/jquery/jquery_events.asp
http://stackoverflow.com/questions/133310/how-can-i-get-jquery-to-perform-a-synchronous-rather-than-asynchronous-ajax-re
http://stackoverflow.com/questions/351409/appending-to-array
http://stackoverflow.com/questions/952924/javascript-chop-slice-trim-off-last-character-in-string

by Anwar N (noreply@blogger.com) at June 11, 2016 12:11 PM

How would be the browser extensions


Hi All,

       Yes the community bonding period is over and coding period started. Me and my mentor really happy to announce that with this community bonding period we just made the basic chrome and firefox extensions that can show how it's going to be!! Once again thanks to my mentor and varnam project. The code is hosted on github with the name braille-browser-addons.

Repository URL : https://github.com/anwar3746/braille-browser-addons

To test it in firefox do the following steps
1 - git clone https://github.com/anwar3746/braille-browser-addons.git
2 - cd braille-browser-addons/firefox/
3 - jpm run -b /usr/bin/firefox
4 - Go to google.com and right click on text entry,from the context menu select Enable from braille sub menu.
5 - Try typing l(fds), k(fs), a(f), b(fd), c(fj)

To test it in chrome
1 - git clone https://github.com/anwar3746/braille-browser-addons.git
2 - Open chrome browser
3 - Go to settings and select extensions
4 - Check Developer mode
5 - Click Load unpacked extensions
6 - Choose chrome folder from braille-browser-addons
7 - Go to google.com and right click on text entry,from the context menu select Enable from braille sub menu.
8 - Try typing l(fds), k(fs), a(f), b(fd), c(fj)

References 
  1. https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_Started_(jpm)
  2. https://developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
  3. https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts 
  4. https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts/port 
  5. https://developer.chrome.com/extensions/getstarted 
  6. ibus-sharada-braille.blogspot.com/
  7. https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

An article that I read from OpenSourceForU May 2016
Courtesy  : CHMK Library, University Of Calicut







Thank You,
Anwar

by Anwar N (noreply@blogger.com) at June 11, 2016 12:01 PM

June 10, 2016

Sreenadh T C

June 06, 2016

Arushi Dogra

Weekly Update

This week started with the successful gradle build of the project on my system.The build was successful with  version of gradle : 2.13, SDK version : 22 , build tools version : 22.0.1  . After that I deployed the app on the emulator and on my phone. I am currently working on making Santali Olchiki and Soni layouts for the keyboard.


by arushidogra at June 06, 2016 11:15 AM

June 05, 2016

Balasankar C

GSoC Update: Week #1 and #2

Heya,

Last two weeks of GSoC mostly involved working on Stemmer module of the proposal. I had discussions with Hrishi and Vasudev regarding the directory structure that I will be using for the stummer. I proposed .. format because it gives more visibility to libindic. Since both of them agreed (I will be converting all the existing modules to this format, after GSoC), I first ported the existing indicstemmer module to this directory structure. With directions and suggestions from Vasudev and Hrishi, we (Me and Jerin, who is working on Sandhi Splitter set up pbr as packaging tool, testtools as testing framework, Travis CI for continuous integration and tox for local automation and testing. The development environment may be summarized as follows

Work on Stemmer

There are several problems with the existing stememr implementation. One is the high count of false positives. This is because, in Malayalam there exists root words which satisfy the structure of an inflected word. An example is ആപത്ത്, which can be considered similar to എറണാകുളത്ത്. The former is a root word whereas the latter is an inflected word. So, based on the stemmer rule ത്ത്=ം, that is used to handle എറണാകുളത്ത്, ആപത്ത് will also get stemmed to ആപം. This, hence, is a false positive. What we need is a root word corpus, that contains the possible root words in Malayalam (well, we need some crowd sourcing to update it) and checking the input word against it so as to detect if it is a root word.

Another problem with the existing stemmer is that it is unable to handle multiple levels of inflection. An example is അതിലേക്ക് (into that) : അതിൽ + ഏക്ക് : അത് (that) + ഇൽ (in) + ഏക്ക് (to). We need to implement a multiple suffix stripping algorithm that will handle it. I wrote an iterative suffix stripping algorithm, that continues suffix stripping and transformation until a root word is encountered or a mis-hit on the rules occurs.

Since linear list obviously is the least optimal solution for storing a large dataset, and tries are good for storing textual data, I decided to go with a Trie for storing the root word corpus. Tailoring a data structure that will suit my need is one of the last tasks of my GSoC proposal. So, I used an existing trie implementation - marisa trie that is available as a Python library.

I have added tests for all the 7 vibhakthis, and form of a word (അവനും, രാമുവും), some of the plural forms (കാളകൾ) etc and the coverage as of now is 100%.

As always, the code and update is available at GitHub repo.

June 05, 2016 04:04 AM

May 29, 2016

malayaleecoder

GSoC Progress — Week 1

A week into GSoC has come to an end and it’s been a wonderful learning experience.

by malayaleecoder at May 29, 2016 05:50 PM

Sreenadh T C

Focusing on the Basics

Excellence is achieved by the mastery of the fundamentals

by Sreenadh T C at May 29, 2016 09:25 AM

May 28, 2016

Santhosh Thottingal

When Breath Becomes Air – Paul Kalanithi

I read this book after my friends recommended it and wrote the following note at Goodreads

I am not rating this book. Not because of the book is bad. It is well written, I read it in a single day. But just that it gave me lot of pain and I would not recommend any of my friends to go through that pain. The reading can be felt very personal, like watching a friend – the author of the book – suffering. I had friends who went through very difficult illness and no longer with us. I have close relatives who is going through similar difficult time.

That is about rating and recommendation.

But, I am thankful to my friends who introduced this book to me. Just with some 100 pages, a friend appears in my life and leaves after a very short visit. Presenting lot of perspectives about the life and its struggles. Earns respect very quickly, and earns your tears towards the last pages. I literally skipped last few pages just because I did not want to.

by Santhosh Thottingal at May 28, 2016 05:49 AM

Gujarat Files – Rana Ayyub

Fear – That would be the single word I can use to describe my feeling after reading the book. My belief in Indian judicial and paraliamentary system is not a firm one. This book shakes it badly. I am nobody to judge the facts revealed in the book, but what make me afraid is there is very less chance that these facts are verified by the current Indian political and legal system.

Lot of respect for the author and her courage for this work.

by Santhosh Thottingal at May 28, 2016 05:41 AM

May 27, 2016

Arushi Dogra

Update on work

In the initial weeks of Community Bonding, I learned Java and Android and made a sample app on Android.

Then I started working on building Indic Keyboard on my system . First problem that I faced was of gradle version. Then maven was not working on proxy net which extended the building process. I am new to android so  many errors came, and it took some time to resolve them. Currently stuck on exception on processDebugResources . My work for the week includes Santali and Soni Keyboard layouts. Building Indic Keybaord on the system is taking longer than I expected.


by arushidogra at May 27, 2016 03:50 PM

May 24, 2016

Anwar N

The initial work


Hi All,
             
It is really good for me to engaged with free software activities which are interesting for me. I felt great to learn new aspects of life. Also as a new one to SMC and Indic project I get a lot's of new experiences such Instant Relay Chat (#smc-project).



As I mentioned earlier my first target is to create the web interface. As the first and easy step I tried to create a webpage that shows a textarea and user can type in braille way. Since I have no previous experience and lot of things to do immediately I asked my mentor for a hint and he said it can be done with a javascript and learn more about Apache2 webserver. After learning the working strategy of IBus-Braille and some works I just implemented a basic mechanism for testing the possibility and it worked!!. The code is as follows.

<html>
<body>
   <textarea id="brailletextarea" cols=60 rows=30 type="textarea" onKeyPress="KeyPress(event)" onKeyUp="KeyRelease(event)"> </textarea>
</body>
<script>
    var items = "";
    function KeyPress(event)
    {
items=items+String.fromCharCode(event.keyCode)
event.preventDefault();
    }
    function case_insensitive_comp(strA, strB) 
    {
  return strA.toLowerCase().localeCompare(strB.toLowerCase());
    }

    function KeyRelease(event)
    {
brailletextarea = document.getElementById('brailletextarea');
if(items != ""){
items = items.split("");
items = items.sort( case_insensitive_comp )
items = items.join("");
console.log(items);

if(items == "f"){
brailletextarea.value = brailletextarea.value+"a";
}
if(items == "df"){
brailletextarea.value = brailletextarea.value+"b";
}
if(items == "fs"){
brailletextarea.value = brailletextarea.value+"k";
}
if(items == "dfs"){
brailletextarea.value = brailletextarea.value+"l";
}
if(items == "fj"){
brailletextarea.value = brailletextarea.value+"c";
}
if(items == " ")
{
brailletextarea.value = brailletextarea.value+" ";
}
}
items="";
event.preventDefault();
    }
</script>
</html> 


Then I where searching over the internet for how extensions are created. On that time mentor Nalin gave me a good hint(https://github.com/varnamproject/varnam-browser-addons) which is varnam project(https://www.varnamproject.com/). Varnam is a cross platform opensource transliterator for Indian languages which have browser extentions hosted on github. I cloned the codebase of varnam-browser-addon and read it and I understand that it's the best place start the project. Also later I realize that varnam project is also a part of Swathanthra Malayalam Computing(SMC) done by navaneeth.

by Anwar N (noreply@blogger.com) at May 24, 2016 06:41 AM

May 23, 2016

Balasankar C

GSoC Community Bonding - VibhakthiGenerator

Hi,

So the community bonding period of Google Summer of Code 2016 comes to an end today. During this period, the participants were expected to mingle with the community, get to know more about its basic workflow, make small small contributions to the projects undertaken by community, understand the coding standards, deployement models and version control schemes, the communication model used etc.

VibhakthiGenerator

I have been contributing to the community before GSoC, in form of localization and packaging etc. Still, as a contribution to the community during the GSoC Community Bonding period, I have written a small library in Python, that can be used to generate different Vibhakthi forms of Malayalam words (like രാമൻ -> രാമന്റെ, രാമനെ, രാമനോട്, രാമനാൽ etc). The project was inspired by Santhoshettan's similar project using jQuery.i18n library. The code is available in my personal repo now and I will be pushing it to the organization's repo soon. I am yet to make it follow libindic's directory structure.

The library now uses a rule based approach to generate the Vibhakthi forms, which is not 100% efficient. It will fail in words ending with those letters (usually Chillu characters) whose base forms are still ambiguous. Example, the words ending with ർ whose base form can be either ര or റ. Different words ending with ർ, that have similar structure has different results when applying the same vibhakthi.

Example :
അനിവർ + സംബന്ധിക = അനിവറിന്റെ
മലർ + സംബന്ധിക = മലരിന്റെ
കൗരവർ + സംബന്ധിക = കൗരവരുടെ

(Thanks to Santhoshettan for the following info) This shows a drawback of rule based method and we need to develop a method where the word etymology is also considered . That can be expected to be done when Machine Learning techniques become more clear and usable for Malayalam. For now, since no such library exists, I follow the concept of "99% is better than 0%" and guess the library is worth using until we can find something better. I have a plan to use this library during the development of the spell checker (I will post its proposal in detail, soon), which I have to dig more on. For now, you can try out the library at this online demo. Happy if you people can test and report issues/suggestions etc.

Stemmer

Also, to handle inflections, the spellchecker should have a stemming phase in between. So, I have read the stemmer code of libindic and found out that it is actually halfway between a stemmer and lemmatizer (and I intend to keep it as such). However, the existing method is highly inefficient, causing many false positives and has to be made more efficient. I intend to follow the rule based approach for it, with an option to crowd source the root word corpus. This will be the first phase of the project.

May 23, 2016 09:41 PM

Santhosh Thottingal

Introductory Workshop on Version Control Systems

The IEEE student branch of College of Engineering, Chengannur is doing a commendable initiative conducting a week long student quality improvement programme. I was invited to give an introductory workshop on version control systems as part of ISQIP 2016.

It was a good experience to be with a group of enthusiastic youngsters. The need of version control systems and demonstration of version controlling using git was done during the workshop. The slides of presentation is here.

by Kavya Manohar at May 23, 2016 01:54 PM

May 22, 2016

malayaleecoder

Community Bonding Period comes to an end

Alright, so the almost one month long Community Bonding Period is over. During this time I went through the codebase of libvarnam…

by malayaleecoder at May 22, 2016 07:22 PM

GSoC — 2016 under Indic Project

Your proposal Add Varnam support to Indic Keyboard has been accepted!

by malayaleecoder at May 22, 2016 10:10 AM

Sreenadh T C

First set back?

being sick is just your body’s way of saying you’re way too awesome, and you need to slow down, so everyone else can catch up!

by Sreenadh T C at May 22, 2016 06:53 AM

May 18, 2016

Santhosh Thottingal

Feedback on KTU Syllabus of Electronics and Communication Engineering

Kerala Technological University (KTU) published a draft syllabus for the third and fourth semesters of Electronics and Communication Engineering for the coming academic year. It raised widespread concerns regarding:

  • The depth and vastness of contents
  • The obsoleteness of contents
  • Sequence of introducing concepts and the pedagogy involved
  • FOSS friendliness

To discuss the matter and collect feedback from a wider academic community, KTU called for a syllabi discussion meeting at its office on 13th May, 2016. More than a hundred faculties from various engineering colleges in Kerala came over and expressed their genuine concerns, comments and suggestions. I got opportunity to attend the same.

The syllabi committee agreed to wait till 20th May, to receive more comments before they publish the revised draft by 25th of May. Theare collaboratively created document on the changes to be incorporated to the content of various courses can be found here.

Concerns on Electronic Design Automation Lab

As per the draft syllabi published, KTU plans to introduce a new course ‘ELECTRONICS DESIGN AUTOMATION LAB’ to its third Semester Electronics and Communication Engineering syllabus. Its well and good to familiarize the software tools needed to automate many tasks like design and simulation of electronic circuits, introduction to numerical computations, PCB Designing, Hardware Description using HDL etc.

Many pedagogical concerns were raised in the meeting about the introduction of all these diverse EDA tools as a single course. The need of the tools should be obvious to the students while they learn it. It was proposed that SPICE simulations should go along with the Network Theory and Electronic Circuits. Also Logic Circuit Design should be taught with the aid of HDL.

What is more of  a concern is that the syllabus is not FOSS friendly. It clearly specifies some proprietary tools like MATLAB for numerical computation, analysis and plotting. It specifies PSICE for electronic circuit simulation and  VHDL for logic design. This proposal would be like forcing every technology institute to buy a licensed version of these software.

The Govt. of India has an Open Source Software adoption policy. Kerala State Govt. too has a  policy to adopt Free and Open Source software. As per this policy  use of proprietary tools are allowed only when there are no open source alternatives. There are open source software like Scilab and xcos, Octave, Scipy and Numpy etc. that can be used for the numerical computation experiments specified in the syllabus.

Why FOSS adoption is important?

Teaching and learning should not be tool/product specific. Syllabus should be neutral and should not endorse a brand. The students should not be locked on to a specific vendor. The learners who wish to install the software and experiment further shouldn’t  be restricted by any licensing terms and high cost. It would otherwise encourage unethical practices like usage of pirated copies of software.

Development of open source software is through open collaboration.  The algorithmic implementations are not black boxes as in proprietary tools. They are openly licensed for learning and modifications, for the enthusiasts. Learning an EDA tools should not end with the lab course. Students should acquire the skill necessary to solve any engineering problem that comes on their way using these tools.

There are MHRD initiatives like FOSSEE (Free and Open Software in Education) project to promote the use of FOSS tools to improve the quality of education in our country. The aim is to reduce dependency on proprietary software in educational institutions. FOSSEE encourages the use of FOSS tools through various activities to ensure commercial software is replaced by equivalent FOSS tools. They even develop new FOSS tools and upgrade existing tools to meet requirements in academia and research. FOSSEE supports academic institutions for FOSS adoption through lab migration and textbook companion projects.

Why not KTU collaborate with FOSSEE?

FOSS adoption might not be a very easy task. There might be a need for technical support to institutions and faculty members. KTU can collaborate with FOSSEE in this regard. They have created a repository of spoken tutorials for various FOSS tools for numerical computations, analog and digital circuit simulation etc.

Free software will have cost for training, maintenance just like proprietary software. But the learning curve can be smoothed through joint efforts.

If the tools and software used are open source, KTU can plan to create an open repository of solved simulation experiments, which can be continuously enriched by contributions from faculties and students. Hope KTU takes some steps in this direction as per the suggestions submitted.

by Kavya Manohar at May 18, 2016 03:03 PM

May 15, 2016

Arushi Dogra

Working with the Libindic Modules

After I had successfully completed the setup of libindic on my system. My next target was looking for bugs and solving them. So I started playing around with the modules and started looking for bugs.

The first module that I started with was Soundex. The module was not showing proper  results , so I started to work on that . I added conditions for the inter and intra language cases and the module started to work fine after that. I made a pull request to merge the changes.I was new to open source , so initially I faced hurdles like  travis test failure. I used to check my mail almost all day to see if the changes were merged or not. After successful merge of my first pull request, I was very happy!😀  This gave me motivation to explore more modules and work on them.

The next module that I worked on was Spellchecker. I realized that the dictionaries taht were used didn’t have many words. So I started looking for more datasets(ILCI, ILMT, WikiDump, IITB Hindi Wordnet )and started to make dictionaries out of them. Since they were huge corpus, I spent my whole week sitting in the lab day and night watching the code run .

Next module and the one which I enjoyed the most working on was the Scriptrender module. The pdf generated from the urls had alignment problems , so I decided to work on that. I started looking for python libraries and pdfkit library solved the alignment problems. So I made a pull request. But there were some rendering problems with the Malayalam Font and complex script rendering was broken. Slowly, many people from the community got involved in helping me get better results. And I started to try different fonts.”Meera” font solved the problem.  And we got the desired results. The appreciation for my work gave me a lot of confidence to work more.  While working on this module , I realized how helpful everyone in the community was , which gave me courage to work more.

Next was the IndicStemmer module. The community already had stemmer for Malayalam . I made stemmers for Hindi and Punjabi . I followed research papers for the rule based approach for the 2 languages and implemented them. Whenever I am bored, I start adding quotes to the fortune corpus for Hindi and really enjoy reading them .

I really enjoy contributing to the modules and will continue exploring them whenever I get time .   Primary focus is my GSoC project. ( yes , thats what the next blog post will be about  :D)

 

 


by arushidogra at May 15, 2016 09:32 AM

Libindic Installation Guide


by arushidogra at May 15, 2016 08:20 AM

May 14, 2016

Sreenadh T C

May 05, 2016

Anwar N

My Observations on the Ibus Braille Project

Hi,

I am very happy about GSOC 2016 has accepted my proposal on IBus Braille Enhancemnet.   


I convey my thanks to the Indic Project Team for requesting a slot for my project proposal.
 

Here I am writing about the staus of the Ibus Braille Enhancement Project.
As the coding has officially not started. I also didn't started coding till today.
I am making the analysis and studying about the Ibus Sharada Braille project done by Mr. Nalin Sathyan. I am happy to say that he is mentoring me in this project along with Samuel Thibault. So I got 2 experts as mentors. I am thanking Indic team for giving me those potential mentors.


As of today

Communicating with the mentor Nalin Sathyan directly because he is in the   same university where I am from. He gave me so many suggestion regarding how the User Interface should look like and how the mapping of the keys should be done. He told me about how he implemented the Ibus Sharada Braille project.

Had lots of communication with Mr.Sathyan Master One of the Potential users of the Ibus Sharada Braille Project. He is a teacher in Kasargod Govt School for the Blind. He trains his students typing using the Ibus Braille Project. I got some opinions from so many students those who are using the project. they like the project a lot and felt simple to type the languages Malayalm and English using the Ibus Braille Keyborad.

Some people suggested me about they are not able to use this because they are from the Windows platform. I am now a little bit concerned about the Web User Interface one of the core component of my proposed project.


I am getting into the other segments of the project which I described in my Proposal. It may be spotted after getting it thoroughly.

Thank You
Anwar
  




by Anwar N (noreply@blogger.com) at May 05, 2016 09:12 AM

April 27, 2016

Santhosh Thottingal

Internationalized Top Level Domain Names in Indian Languages

Medianama recently published a news report- “ICANN approves Kannada, Malayalam, Assamese & Oriya domain names“, which says:

ICANN (Internet Corporation for Assigned Names and Numbers) has approved four additional proposed Indic TLDs (top level domain names), in Malayalam, Kannada, Assamese and Oriya languages. The TLDs are yet to be delegated to NIXI (National Internet exchange of India). While Malayalam, Kannada and Oriya will use their own scripts, Assamese TLDs will use the Bengali script.

The news title says “domain names” and the report talks about TLDs. For many people domain name is simply something like “google.com” or “amazon.in” etc. So people may misinterpret the news report as approval for domain names like “കേരളസർവ്വകലാശാല.ഭാരതം”. Many people asked me if that is the case.  We are going to have such domain names in future, but not yet.

I will try to explain the concept of TLD and IDN and the current status in this post.

The Internet Corporation for Assigned Names and Numbers (ICANN) is a non-profit organization which takes care of the whole internet domain name system and registration process. It achieves this with the help of lot of domain process and policies and domain registrars. In India NIXI owns the .in registration process.

A domain name is a string, used to identify member of a network based on a well defined Domain Name System(DNS). So, “google.com”, “thottingal.in” etc are domain names. There are dots in the domain name. They indicate the hierarchy from right to left. In the domain name “thottingal.in”, “.in” indicates a top level or root in naming and under that there is “thottingal”. If there is “blog.thottingal.in”, “blog” is a subdomain under “thottingal.in” and so on.

The top level domains are familiar to us. “.org”, “.com”, “.in”, “.uk”, “.gov” are all examples. Out of these “.com”, “.org” and “.gov” are generic top level domains. “.in” and “.uk” are country code top level domains, often abbreviated as ccTLD.  “.in” is obviously for India.

In November 2009, ICANN decided to allow these domain name strings in the script used in countries. So “.in” should be able to represent in Indian languages too. They are called Internationalized country code Top Level Domain names, abbreviated as IDN ccTLD.

ICANN also defined a fast track process to do the definition of these domains and delegation to registrars so that website owners can register such domain names. The actual policy document on this is available at ICANN website[pdf], but in short, the steps are (1) preparation, (2) string validation and approval, (3) delegation to registrars.

So far the following languages finished all 3 steps in 2014.

  1. Hindi:  .भारत
  2. Urdu: بھارت
  3. Telugu: .భారత్
  4. Gujarati: .ભારત
  5. Punjabi: .ਭਾਰਤ
  6. Bengali: .ভারত
  7. Tamil: .இந்தியா

What this means is, NIXI owns this TLDs and can assign domains to website owners. But as far as I know, NIXI is yet to start that.

And the following languages, just got approval for second step – string validation. ICANN announced this on April 13, 2016. String validation means,  Requests are evaluated in accordance with the technical and linguistic requirements for the IDN ccTLD string(s) criteria.  IDN ccTLD requesters must fulfill a number of requirements:

  • The script used to represent the IDN ccTLDs must be non-Latin;
  • The languages used to express the IDN ccTLDs must be official in the corresponding country or territory; and
  • A specific set of technical requirements must be met.

The languages passed the second stage now are:

  1. Kannada: .ಭಾರತ
  2. Malayalam: .ഭാരതം
  3. Assamese: .ভাৰত
  4. Oriya: .ଭାରତ

As a next step, these languages need delegation- NIXI as registrar. So in short, nothing ready yet for people want to register domain names with the above TLDs.

We were talking about TLDs- top level domain names. Why there is a delay in allowing people to register domains once we have TLD? It is not easy. The domain names are unique identifiers and there should be well defined rules to validate and allow registering a domain. The domain should be a valid string based on linguistic characteristics of the language. There should be a de-duplication process- nobody should be allowed to take a domain that is already registered. You may think that it is trivial, string comparison, but nope, it is very complex. There are visually similar characters in these scripts, there are rules about how a consonant-vowel combination can appear, there are canonically equivalent letters. There are security issues[pdf] to consider.

Before allowing domain names, the IDN policy for each script need to be defined and approved. You can see a sample here: Draft IDN Policy for Tamil[PDF]. The definition of these rules were initially attempted by CDAC and was controversial and did not proceed much. I had reviewed the Malayalam policy in 2010 and participated in the discussion meetings based on a critique we prepared.

ICANN has created Generation Panels to Develop Root Zone Label Generation Rules with specific reference to Neo-Brahmi scripts. I am a member of this panel as volunteer. Once the rules are defined, registration will start, but I don’t know exactly when it will happen.  The Khmer Generation Panel has completed their proposal for the Root Zone LGR. The proposal has been released for public comments.

by Santhosh Thottingal at April 27, 2016 05:33 PM