Famous Indian Computer Science / Math scientists [WIP]

Who are the famous Indian men and women in computers/math ? Help me make a list!
My list ofcourse (is incomplete I’m sure) and currently includes Ramanujan, (Honorary Indian) Alan Turing (born in India), Aryabhatta, Narendra Karmarkar, Agrawal–Kayal–Saxena of AKS primality test, email inventor Shiva Ayyadurai, Raj Reddy (CMU), late Rajeev Motwani, Madhu Sudan, Arokiasamy Paulraj, P Vaidyanathan, Venkatesan Guruswami, Ravi Sethi, Jitendra Malik, …
This is work-in-progress. Please leave comments, critiques below.

Ezhil, Open-Tamil conference articles – 2017

One of major achievements of last year has been collecting inputs from our team and writing up two important papers – one for historical review and other for collective call to action on great opportunity that is Tamil open-source software.


We also take time to thank all co-authors who have pulled together their efforts at short notice to make these research works happen! Together these two papers represent a value of tens of thousands of Indian rupees, or more in the making (going by estimates of other Tamil software foundations).

We also thank conference organizers for partial travel grant toward making this presentation happen. Thank you!

Conference Articles – 2017

Ezhil, Open-Tamil conference articles – 2017 presented at Tamil Internet Conference, August, 2017, in Toronto, Canada. Both the papers were well received and good academic and development points were debated at the forum.

  1. Ezhil – எழில் மொழி பொது பயன்பாட்டிற்கும், வெளியீடு நோக்கிய சவால்களும்
    • This paper summarizes the path taken by Ezhil from inception toward delivering a fully installable product on Windows 64/32bit, Linux (Unbutnu, Fedora) systems, and offers a meditation on how students and teachers may adopt this product, and future pathways.
    • Presentation slides are here on slideshare.
  2. Open-Tamil / Open Source in Tamil – Tamil Open-Source Landscape – Opportunities and Challenges_MA_2017_final 
    • Some important contributions of this paper show collective interest in Tamil open-source which outpaces the other languages with larger speaking-population. This is a key indicator to develop better pathways to bring new developers and train them into developing Tamil software
    • GitHub Tamil language repositories
      GitHub Tamil language repositories compared with other languages, as measure of software developers interest.
    • Presentation slides are at slide-share

For questions and queries on these articles, please write to us at ezhillang@gmail.com or leave your comments below.

Ezhil Language Foundation


Project ‘padai’ – scripts to launch Tamil server instances

Over the years of my open-source development I have moved towards using more cloud computers for various reasons of convenience. However getting a cloud computer from one of the major providers like AWS, Azure etc. requires a lot of setup time to bring it to a usable state for Tamil software development.

Primarily for Tamil software development on Windows 10 (or later) is slightly more easier, compared to Linux/Unix machines, because basic Unicode font and rendering support works out of the box. However in Linux cloud-machines X-windows, Window manager, and desktop support is not common – let alone Tamil support!

So everytime to setup a cloud instance I had to spend a few hours tracking down the packages, installing the dependencies, running host of shell commands to ensure its all lined up to see Tamil text rendered correctly on the remote-screen. This would typically take away time I spend building binary packages for project Ezhil.

Knowing vaguely you can make this system administration and server conf tasks simplified using shell-scripts or tools like Fabric, I researched them earlier; then I asked in our Tamil software community from my Twitter account what could be the solution:


I got recommendations to use Ansible and build a Docker image for the server of interest from Shrinivasan (aside: Congratulations to Shrinivasan named as 2016 Tamil Computing award winner for his work on Tamil and Indian-language projects at WikiMedia foundation and Wikipedia!)

Now I figured my familiarity in bringing up machines using Python or shell-scripting could be useful in getting me off the ground right away – while I could find ways to get expertise on Docker or Ansible to help me out. So I put together all the scripts I used for bringing up Fedora/24 and Ubuntu/16 machines for Ezhil development.

The result is ‘Padai’ project –  currently two nice scripts to get you from basic IaaS server to a working Tamil script rendering computer for Ezhil development in 10-minutes for both Fedora and Ubuntu. Check it out here.

Looking forward for your support and sending us your pull-requests.


மே 21 – எழில் மொழி பரிசோதனை வெளியீடு

1. எழில் மொழி பரிசோதனை வெளியீடு மே மாதம் 21-ஆம் நாள்  வெளியீடு செய்யப்பட்டது; இந்த முறை சென்ற மாதம் செய்த மேம்பாடுகள் அனைத்தும் ஒருங்கிணைந்து Windows 64-bit தளத்தில் இயங்கும் வகை செய்யப்பட்டது.
   கிடைக்கும் மேம்பாடுகள் :
   (அ) license உரிமம் தெரியும் வகை செய்யப்பட்டது.
   (ஆ) அமைப்புகள் (settings) சேமிக்கும் வகை வசதிகள்
   (இ) சென்ற பரிசோதனை வெளியீதில் பிழை திருத்தங்கள் 
   (ஈ) எழில் இயக்கியில் பிழை செய்திகள் தமிழாக்கம் செய்தல் 
2. இதனை  http://ezhillang.org/download.html இங்கு பெற்று நீங்கள் ஒரு சிறுவர் சிறுமிக்கோ அல்லது ஒரு பள்ளிக்கூடத்தில் எழில் மொழியை பற்றி பேசலாம், அல்லது உங்கள் சுய பயன்பாட்டிற்கும் நீங்கள் பெறலாம்.
3. பிழைகள் இருந்தால் மறுமொழி கூறவும்.

காண்டாமிருகம் எங்கே ?

விக்கிபீடியா – வெற்றி நடை!

தமிழ் கணிமை எப்போதுமே வளர்ந்து கொண்டே போகுமா ? இந்த வாரம் விக்கிப்பீடியா தமிழ் திட்டத்தில் 1 இலட்சம் கட்டுரைகளை எட்டியது. விக்கிபீடியா பங்களிப்பாளர்களுக்கும் தனி-தமிழ் (நா லேதண்டி) ஆர்வலர்களுக்கும்  வாழ்த்துக்கள்!


ஒதுக்கப்பட்ட கோணம்

தமிழ் திறமூல திட்டங்கள் என்பது அக்ஷயப்பாத்திரம் கிடையாது; எங்களது நிலை பற்றி எனது ( opinionated ) கோணம்.

ஒரு பரிபால அமெரிக்க ராப் கலைஞர் ஜே.சி “Heaven” என்ற பாடலில்  கேட்கிறான்,

“Question religion, question it all
Question existence until them questions are solved”

இதற்கும் சாதாரணமாக தமிழ் கணிமை பத்தி எழுதும் இந்த வலைப்பூவில் என்ன சம்பந்தம் ? அதில் காண்டாமிருகம் எங்கே என்பதற்கும் தலைக்கும் காலுக்கும் முடிச்சு போடுறது என்ன ? நீங்களே சொல்லுங்கள்.


எழில் : முதல் பக்கம் வடிவமைப்பு

முதல் பக்கம் என்றாலே கொசம் சிக்கல். பிள்ளையார் சுழி, தென்னாடுடைய சிவனுக்கும் வணக்கம் எனவும் பல வணங்குத்தல்கள் உள்ளன. ஆனால் தமிழ் மொழிக்கு சிறப்பான ஒரு சின்னத்தை கொண்டு எழில் மொழியில் முதல் பக்கம் அமைக்கப்பட்டது.

படம் 1: எழில் மொழி முதல் பக்கம் – செயலியில் தொடங்குதல்.
எழில் – தமிழ் கணினி மொழி

“தமிழில் நிரல்படுத்தி கணிமை பழகுவோம்!” என்பது புதிய கொள்கை

படம் சில மணி நேரம் முன்னேற வடிவமைக்கப்பட்டது. எந்த தமிழ் எழுத்துருக்கள் என்று சொல்லமுடியுமா உங்களால் ?





தமிழ் 99 விசை பலகை இடைமுகம் – Tamil99 keyboard interface for Ezhil

கணினியை பார்க்காத சிறுவன் எப்படி உள்ளீடு செய்வான் ? தமிழில் எழில் மொழி ஆர்வலர்கள் பாதிக்குமேல் நிரல் உள்ளீடு செய்வதற்கு தனி தமிழ் விசைப்பலகை இல்லை. இந்த பிரச்சினைகளை தீர்வு செய்ய ஏற்கனவே சில மூன்று பட்டை உள்ளீடு பட்டன்-களை கண்டோம். தற்போது முழு விசை பலகை (keyboard) இடைமுகம் ஒன்றை உருவாக்கி மேம்படுத்தி வருகிறேன்.

படம் 1: Tamil 99 keyboard interface for Ezhil editor; தமிழ் 99 விசைப்பலகை இடைமுகம் எழுதியில். 

உங்களுக்கு எதுவும் கருத்துள்ள பின்னூட்டங்கள் இருந்தால் தெரிவிக்கவும்.



எழுதி – நிரலாக்கம் உள்ளீடு இடைமுகம்

எழில் மொழியை சிறுவர்கள் எப்படி கணினியில் தடச்ச்சு செய்ய பழகாதவர்கள் இதனை பயன் படுத்துவார்கள் ? இதனால் எழில் மொழியிலே ஒரு பயனும் அடையாமல் ஆகிவிடும் சந்தர்ப்பம் உள்ளதா ?

இது போன்ற பல கேள்விகள் என்னிடம் கேட்டவர்கள் உண்டு. அதற்க்கு விடை சமீபத்திய எழில் மொழியில் உள்ள ‘எழுதி’ செயலியின் மேம்பாடு  – சொடுக்கும் உதவி பட்டன்கள்.

படம் 1: ‘எழுதி’-இல் உள்ள மூன்று பட்டைகளை உள்ள அடுக்கு பட்டன்கள் பல எழில் மொழி குறி சொற்களையும், எழில் மொழி வாக்கியங்களையும் இடைசொருகும் படி அமைக்கப்பட்டன. இது இன்னும் சில மேம்பாடுகள் பின் திரட்டி ஆக்க படும்.

Mac OS X-இல் எழில் இடைமுகம் (GUI) செயலி உருவாக்க நேரிடும் சவால்கள்

படம் 1: எழில் மொழி செயலி மூன்று இயங்கு தளங்களில் கிடைக்கும் படி செய்ய திட்டமிட்டோம். ஆனால் மேக் OS X-இல் சற்று தடங்கல்கள் உள்ளன என்று இந்த பதிவில் தெரிவிக்கிறோம்.

சமீப காலமாக packaging எழில் என்பதில் எப்படி github-இல் உள்ள எழில் மொழி நிரல்களை ஒருங்கிணைத்து ஒரு திரட்டியாக செய்து பயனர்கள் தங்கள் கணினிகளில் நிறுவி செயல்படுத்தும் படி செய்யலாம் என்று வேளைகளில் இறங்கி உள்ளேன்.

விண்டோஸ் தளத்தில் 64-bit கணினிகளில் Windows 7, 8, 10, என்பதில் எழில் மொழி செறிவர நிறுவி வேலைசெகிறது என்று நான் பலரிடம் அவரவர்கள் நடத்திய பரிசோதனைகளில் உறுதிபடுத்தி கொண்டேன்.

லினக்ஸ் இயங்கு தளத்தில் எதுவும் ப்ரிச்சனை இருப்பதாக தெரியவில்லை. Ubuntu-விலும்  64-bit கணினியில் சரியாக வேலை செய்கிறது.

அனால் இந்த Mac OS-X இல் மட்டும் எழில் மொழி Github repo-வில் இருந்து console வழி மட்டும் செயல் படுகிறது. எழுதி செயலி window வழி graphical interface GTK-இனை சார்ந்து உள்ளதால் இதற்க்கு Mac OS-X இல் இயக்க சற்று சிக்கல்களாக உள்ளது. காரணம் PyGobject3  Windows மற்றும் Linux தலங்களுக்கு மட்டுமே நிறுவ தயார் நிலையில் உள்ளது. Mac OS-X இக்கு  Gtk-ஐ மூல நிரல்களில் இருந்து மட்டுமே நிறுவும் நிலை உள்ளது என்பதால் இதனை திரட்டி ஆக்குவதும், ‘எழுதி’ செயலியை இயக்குவதும் சற்று கஷ்டமாக / முடியாமல் போனது.

இந்நிலையில் Mac OS-X-இல் எழில் மொழி console இடைமுகம் செயலி நன்றாக வேலை செய்கிறது என்றும் பதிவு செய்கிறேன். வரும் நாட்களில் ஏதேனும் புதிய முன்னேற்றங்கள் இல்லாத பட்சத்தில் எழில் மொழி ‘எழுதி’ இடைமுகம் இந்த தளத்தில் கிடைக்காது – கட்டளை இடைமுகம் மட்டுமே கிடைக்கும்.

உங்களில் எவருக்கும் Mac OS X-இல் GTK அல்லது packaging வல்லமைகளை, பரிந்துரைகள் இருந்தால் பகிரவும்.


சான் ஓசே, கலிபோர்னியா

தரவமைப்பு வடிவங்களின் தமிழாக்கம் – கருத்து கணிப்புவிடைகள்

சென்ற வாரம் வெளியிட்ட தரவமைப்பு வடிவங்களின் தமிழாக்கம் – கருத்து கணிப்பு விடைகள் மற்றும் எனக்கு பிடித்த தமிழாக்கம் பரிந்துரைகளையும் இங்கு பதிவு செய்கிறேன்.

முதலில் பங்கேற்ற வர்களுக்கு நன்றி. தமிழ் மொழியில் data structures என்பதன் பெயர்களையும், கருவூலமான அம்சங்களையும் தமிழாக்கம் செய்ய இந்த படிவங்களை நிரப்பவும். உங்கள் உள்ளீடு தமிழ் கணிமையின் வளர்ச்சிக்கு மிக முக்கியமானது.

கருத்து கணிப்பு விடைகள்:

விடைகள்கி ழே; மின் அஞ்சல் மட்டும் சில சுய விவரங்கள் மறைக்க பட்டன. கருத்து கணிப்பில் பங்கேற்ற நிரலாளர்களின் கூடிய சராசரி அனுபவ்வம் 9 ஆண்டுகள்! பட்டியலில் உள்ளது போலவே பல தரவு வடிவங்களுக்கு தமிழாக்கம் பெயர்கள் உடன்பாடு இருந்தது. சிலதில் தவரான பொருள் இடத்து உண்டபாடும் இருந்தது.

பயனர் “stack” என்பது தமிழில் “heap” என்பது தமிழில் “dictionary” or “associative array” என்பது தமிழில் “linked list” என்பது தமிழில் “binary tree” என்பது தமிழில் “graph” என்பது தமிழில் “hash table” என்பது தமிழில் “queue” என்பது தமிழில் “priority queue” என்பது தமிழில் “circular list” என்பது தமிழில்
0 அடுக்கு குவிப்பு அகராதி தொடர் பட்டியல் இரு கிளை மரம் முனை ஓரம் அடைவு எண்குறி அடைவு முறை வரிசை பிரதான வரிசை வட்ட தொடர் பட்டியல்
1 அடுக்கு குவிப்பு அகராதி தொடர் பட்டியல் இரு கிளை மரம் வரைபடம் எண்குறி அடைவு முறை வரிசை முக்கிய வரிசை வட்டவடிவப் பட்டியல்
2 அடுக்கு குவிப்பு அகராதி தொடர் பட்டியல் இரு கிளை மரம் முனை ஓரம் அடைவு கையெழுத்து அடைவு முறை வரிசை முக்கிய வரிசை தொடர் பட்டியல் வட்டம்
3 அடுக்கு குவிப்பு அகராதி தொடர் பட்டியல் இரும மரம் முனை ஓரம் அடைவு சுறுக்கு குறி அடைவு வரிசை முறை முதன்மை வரிசை வட்ட தொடர் பட்டியல்
4 அடுக்கு குவிப்பு அகராதி தொடர் பட்டியல் பின்னாக்கு கிளை வரைபடம் ரகசிய அடைவு வரிசை முதர்சன வரிசை வட்ட தொடர் பட்டியல்
5 அடுக்கு குவிப்பு அகராதி தொடர் பட்டியல் பின்னாக்கு கிளை வரைபடம் ரகசிய அடைவு வரிசை முதர்சன வரிசை வட்ட தொடர் பட்டியல்
6 அடுக்கு குவிப்பு அடைவு தொடர் இருகிளையி எனச்சுருங்கச் சொல்லலாம் முனை ஓரம் என்றோ கோலம் என்றோ சொல்லலாம் எண்குறி அடைவு முறை வரிசை விருப்பவரிசை, முன்னுரிமை வரிசை சுற்றுச்சங்கிலித்தொடர்
7 அடுக்கு குவிப்பு அகராதி தொடர் பட்டியல் இரு கிளை மரம் வரைபடம் எண்குறி அடைவு வரிசை முன்னுரிமை வரிசை வட்டப்பட்டியல்
8 அடுக்கு குவிப்பு தொடர்புறு அணி தொடர் பட்டியல் இரு கிளை மரம் முனை ஓரம் அடைவு எண்குறி அடைவு நேர் வரிசை முக்கிய வரிசை வட்ட தொடர் பட்டியல

பரிந்துரைகள்  – எனக்கு பிடித்த தமிழாக்கம்

எனது பரிந்துரைகளை முன்வைக்கும் முன்னரே எனக்கு உள்ள சில நிபந்தனைகளை சொல்கிறேன்.

நிபந்தனைகள் (criteria)

  1. அறிவியல் தமிழ் அல்லது கணித தமிழில் ஏற்கனவே பயன்பாடு கொண்டதாக இருக்க வேண்டும்; எ. கா. arrays என்றல் அணி என்று ஏற்கனவே உள்ளது
  2. சக்கரத்தை மறுபடி கண்டுபிடிக்க வேண்டாம். உள்ளதை அப்படியே எடுத்து கொள்ளலாம்.
  3. கணிமை சொற்களுடன் எளிதாக எழுதும் வகையில், பேசும் வகையில் இருக்கவேண்டும்
  4. நடைமுறை, இயல்பு தமிழ், மற்றும் கணிமை கோட்பாடுகளை சரியே குணாதிசியங்களை போதிக்கும் திறன் கொண்ட சொற்களாக அமைய வேண்டும்.


  1.  array அணி
  2.  set கணம்
  3. stack அடுக்கு
  4. heap குவிப்பு
  5. dictionary அடைவு, தொடர்புறு அணி
  6. linked list தொடர் பட்டியல், தொடர்
  7. circular list வட்ட தொடர் பட்டியல்
  8. graph நுனி ஓரம் / முனை ஓரம் அடைவு
  9. queue முறை வரிசை, நேர் வரிசை
  10. priority queue முன்னுரிமை வரிசை, முதர்சன வரிசை
  11. hash table எண்குறி அடைவு, சுறுக்கு குறி அடைவு
  12. binary tree  இரும மரம், இரு கிளை மரம்

நிறைய பெயர்கள் எ. க. ‘dictionary’ என்பன நேர்வழி தமிழில் ‘அகராதி’ என்றும் ‘graph’ என்பது ‘வரைபடம்’ என்றும் மொழி பெயர்க்க முடியாது – கணினி தரவமிப்பில் தமிழில் இதை அடைவு அல்லது தொடர்புறு அணி என்று சொன்னால் சரியாக இருக்கும்; ‘graph’ என்பது ‘கோலம்’ அல்லது ‘முனை ஓரம அடைவு’/’நுனி ஓரம் அடைவு’ என்றும் சொன்னால் பொருளளவில் தமிழாக்கம் செய்யப்படும்.