வாசிப்பு : பழைய புத்தக கடை

வாசிப்பு : பழைய புத்தக கடை சென்றேன்; புதிய வாசிப்பு சந்தர்ப்பம்.

20160810_001329 (1)

Posted in 2016, Cultural, Uncategorized | Leave a comment

coding

data + algorithms = code

 

Posted in 2016, Beginning Development, Uncategorized | Leave a comment

virtual reality – VR technology links

Next level of user experience is already being defined in virtual reality and augmented reality. These two technologies are profiled in the OSA-OPN magazine issue here

What do you think will define next levels of learning/teaching Tamil in the VR world ? Can these technologies be used for the better Tamil engagement ?

-Muthu

 

Posted in 2016, Computing, Uncategorized | Tagged , | Leave a comment

Good CS/algorithms textbooks 2

Earlier last week I posted a small collection of books from memory about Good CS/algorithms textbooks 1

cvymtb4veaavvse

Continuing on the same theme lets see a few more good books,

  1. The C++ Programming Language, 2nd-4th Ed., by Bjarne Stroustrup, link
  2. The C Programming Language, 2nd Ed, Brian Kernighan, Dennis Ritchie, link
  3. Numerical Computing with MATLAB, Cleve Moler link
  4. Matrix Computations, Gene Golub and Charles Van Loan link
  5. Introduction to Computation and Programming with Python, John Guttag (2013 ed), link
  6. SICP Structure and Interpretation of Computer Programs, Ableson and Sussman, link
  7. Little  Schemer, Daniel Friedman and Mattias, link

We can consider good workbooks like ‘Let Us C’, ‘Programming in C’, and books by Dietel and Dietel as trade books, lacking somewhat in style and conceptions. Books you are unlikely to gain more from while you read the second or third times.

 

 

Posted in 2016, Computing, Uncategorized | Leave a comment

Good CS/algorithms textbooks 1

Over many years I have come to rely on some good CS and algorithms textbooks; this list maybe reflective of a electrical engineer’s take on a computer science profession that is increasingly no-holds barred – if you can add then you can code – world

Tower_of_Hanoi_4

Move 1,2,3 disks from peg #1 to peg #2, with peg #3 as intermediate. Move disk 4 from peg #1 to peg #4. Then move all disks from peg #2 to peg #3 using peg #1 as intermediate.

.

  1. CLRS book “Introduction to Algorithms” by founders of RSA and MIT CS faculty; link to Amazon
  2. AOSP book “Numerical Recipes in Fortran 77; Art of scientific programming”, by Flannery, Press and Teukolsky; link
  3. Dragon book “Compilers: principles, techniques and tools”, by Aho, Sethi, Ullman link
  4. Tiger book “Modern Compiler Implementation in C/Java/ML” by Andrew Appel link
  5. “Dive into Python” by Mark Pilgrim, link
  6. “Thinking in Java” by Bruce Eckel, link
  7. Python language tutorial by Guido Van Rossum link
Posted in 2016, Computing, Development, Uncategorized | 1 Comment

மூளை குளம்பி – மைய கணினியை செயல்படுத்தும் எந்திர மொழி (Brain F**k interpreter in Ezhil language)

மூளை குளம்பி மைய கணினியை செயல்படுத்தும் எந்திர மொழி

(பாகம் 1)

(replica of) "Thinker" statue by Auguste Rodin, at the Baltimore Art Museum at the Johns Hopkin's University.

(replica of) “Thinker” statue by Auguste Rodin, at the Baltimore Art Museum at the Johns Hopkin’s University. (C) 2016, M. A.

கணினியை செயல்படுத்துவது அதன் மூலமான மைய கணினி; கணினியில் செயல்படும் அனைத்திற்கும் மூலமாக அமைவது அதன் மைய கணினி, மற்றும் அந்த மைய கணினியின் assembly மொழி (instruction set). சும்மா சொல்ல வேண்டுமானால் iPhone-இல் இருந்து, மடி கணினி, கைபேசி என்ற எல்லா செயலி சவுரியங்களுமே இதை போன்ற அடிப்படையில் தான் அடுக்கடுக்காக மென்பொருள்களை கொண்டு வடிவமைக்க பட்டுள்ளன.

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

மூளை குளம்பி மொழி [1] என்பது P” என்ற 1964-இல் உருவாக்கிய மொழியில் இருந்து உருவாக்கப்பட்டது. இந்த மொழியில் ‘+’, ‘-’, ‘[‘, ‘]’ , ‘>’, ‘<’ போன்ற செயலுறுபுகள் என்பதில் இருந்து ,மைய கணினி ஒன்றை உருவாக்கும் திறன் பெற்றது. மூளை குளம்பி என்ற மொழியில் வெளியிடு என்பதற்கு ‘.’ என்றும், உள்ளீடு என்பதற்கு ‘,’ என்றும் கூடுதலாக கொண்டாது.

செயலுறுபு விளக்கம் – (Operators)

  1. >’, ‘<‘ – செயலுறுபு நினைவகத்தை குறிக்கும் இடத்தை முன் அல்லது பின் திசையில் ஒரு இடம் அளவு மாற்றும்

  2. +’, ‘-‘ – செயலுறுபு நினைவகத்தின் மதிப்பை கூட்டும் அல்லது கழிக்கும்

  3. [‘, ‘]’ – செயலுறுபு நிரலின் இயக்கம் பகுதியின் அடுத்த அடைவுகுரிப்பிபிற்கு ‘]’, அல்லது தொடங்கும் குறி ‘[‘ –இற்கு தாவும் படி குறிக்கும்

  4. ,’ ’.’ – என்ற செயலுறுபு உள்ளிடு, வெளியீடு, குறிக்கும்

இன்று நாம் “மூளை குழம்பி” என்ற ஒரு மொழியை பற்றியும் புரிந்து கொண்டு இதனை செயல்படுத்தும் ஒரு எந்திரத்தை எழில் மொழியில் உருவாக்கலாம்.

மூளை குழம்பி மொழியின் அம்சங்கள்; இந்த மொழியில் எண்களை எப்படி எழுதுவது, எண்களை கூட்டுதல், “Hello World” என்று அழைப்பது எப்படி? என்றெல்லாம் உள்ள கேள்விகளுக்கு விடை காணலாம்.

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

இந்த மொழியில் நிரல்களை எழுதுவது ஒரு ஆதிகணினி மொழி அல்லது Turing Machine என்பதை போல் ஒரு தோற்றம் அளிக்கும். இதில் ஒரு எண்ணலி நீளமான பேப்பர் ஒன்றை நினைவகமாக கொண்டு ஒரு பேனா ஒன்றையும் கொண்டது. இந்த பேனாவை கொண்டு பேப்பரில் உள்ள கட்டங்களில் ‘1’ அல்லது ‘0’ என்று எழுதலாம்; அதாவது ‘1’ என்று எழுதினால் எழுதுவதாகவும், ‘0’ என்று எழுதினால் அழிப்பதாகவும் பொருள். நாம் நிரல் இயக்கத்தை தொடங்கும் பொழுது பேப்பர் நினைவகம் முழுவதும் ‘0’ (பூஜ்யம்) என்ற நிலையில் உள்ளதாக கொள்ளலாம் [2].

image1

படம்: டுரிங் எந்திரத்தின் பேப்பர் நினைவகமும், இயக்கம் முனையும்; [3]

  1. கணினி மொழிகள் அனைத்தும் ஒன்றுடன் ஒன்று டுரிங்எந்திரத்தின் வரையரைக்குள் சமன்பாடு கொண்டது (Turing-Completeness).

  2. ஒரு கல்குலேடர் (கணிப்பான்) செயல்படுத்தும் திறன் கொண்ட மொழி ஒன்றை உருவாக்கினால் இந்த மொழி டுரிங் மொழி என்பதற்கு சமன்பாடனது; இது போன்ற மொழியை இயக்கும் சக்தியுடைய எந்திரம், (Turing Machine) டுரிங் எந்திரம் என்பதற்கு சமமாகும்.

எண்களை எப்படி குரியீடுவது ?

இந்த மாதிரி ஒரு எந்திரத்தில் முதலில் நாம் எண்களை எப்படி குரியீடுவது ? இவ்வாறு கணினியில் ஏற்றிய எண்களை கொண்டு எப்படி கணிப்பது ? இந்த மொழியில் நிபந்தனை கூறுகளை எப்படி எழுதுவது ? இதனை நாம் இந்த கட்டுரை பிரிவில் காணலாம்:

எண்களை நாம் பேப்பர் நினைவகத்தில் ‘1’ என்று எண்ணின் மதிப்பின் அளவிற்கு அத்தனை முறை குறியீடவும்; .. 5 என்ற எண்ணை ‘11111’என்று அடுத்தடுத்த பேப்பர் நினைவகத்தின் கட்டத்தில் குறியிடலாம். இதற்க்கு எப்படி நிரல் எழுதுவது ? பேனாவை கொண்டு முதலில் ‘1’ என்று எழுத ‘+’ என்ற செயலுருபை பயன்படுத்தலாம். அடுத்த பேப்பர் கட்டத்திருக்கு செல்ல ‘>’ என்ற செயலுறுபை பயன்படுத்தலாம். மொத்தமாக, நினைவகத்தில் ‘11111’ என்று எழுத, ‘+>’ என்று ஐந்து முறை எழுதினால் ‘+>+>+>+>+>’ என்பது 5 என்ற எண்ணை குறியிடும் மூளை குளம்பி நிரல் ஆகும்.

இப்பொழுது P” மொழியில், மூளை குழம்பி மொழியில் உள்ள நினைவகத்தில் எந்த 8-பிட் எங்களையும் சேமிக்கலாம் என்றால், இதே எங்களை குறியீடும் நிரலை, 5 என்ற எண்ணை ‘+++++’ என்றும் எழுதலாம்.

தாவும் தன்மை உடைய மடக்கு கட்டளைகள்

இப்பொழுது இந்த மொழியில் மடக்கு வாக்கியத்தை எப்படி செயல்படுத்துவது என்று பார்க்கலாம். மடக்கு வாக்கியம் தொடக்கத்தை குறி ‘[‘ என்றும், இதன் முடிவை குறி ‘]’ என்று குறியிடலாம். இதன் பொருள், குறி ‘[‘ என்ற கட்டளையை கண்டபின் , தற்போது உள்ள பேப்பர் நினைவகத்தின் மதிப்பு பூஜியத்தின் அளவை விட கூடுதலாக இருந்தால் தொடரும் கட்டளைகளை இயக்கும்; இல்லையெனில் இதனை ஒடுத்த (பின்னால் வரும்) குறி ‘]’ முடிவு கட்டளையின் பின் வரும் கட்டளைகளுக்கு செல்லும் (தாவும் – Jump என்றே கொள்ளலாம்).

இதே போல் ‘]’ முடிவு கட்டளை, மடக்கு வக்கியதினை பழயபடி தொடங்கும் (இதனை ஓடுத்த, முன்னால் வரும்) குறி ‘[‘ கட்டளையிற்கு செல்லும். இதில் ஒப்பீடு என்றும் ஏதும் இல்லை.

எண்களை கூட்டுதல் எப்படி ?

மடக்கு கட்டளைகை கொண்டு எப்படி இரண்டு எண்களை கூட்டுவது ? நமது கணினியில் ஏற்கனவே 9, 10 என்ற எண்கள் நினைவகத்தில் உள்ளன என்று கொள்வோம்; இப்போது இரண்டாவது எண் 10-உடன் 9-முறை 1-ஐ கூட்டினால் நமக்கு விடை கிடைத்துவிடும் அல்லவா! இதை எப்படி மூளை குளம்பியில் எழுதுவது ? இது சிறிது சாதாரணமான மடக்கு வாக்கியத்தால் முடியும்,

[->+<]

இந்த நிரல் இயங்கியபின் நினைவகத்தில், 0, 19, என்று தோன்றி 19 உங்கள் விடை ஆகும். இதனை திரையில் இட, ‘.’ என்பதை சேர்த்துகொள்ளுங்கள்

[->+<].

மேலும் இந்த நிரல் ஏதேனும் இரண்டு எண்களை கூட்டவும் உதவும், 9, 10 மட்டுமல்ல!

முடிவிலா விடுகதை

இந்த மொழியில் தவறாக

+[]

என்று எழுதிவிட்டால் உங்கள் நிரல் இயங்குவதற்கும், முடிவதற்கும் எவ்வளவு நேரம் ஆகும் தெரியுமா ? யோசித்து பருகளேன்! விடை அடுத்த அத்தியாயத்தில்.

Hello World” என்று அழைப்பது

மேல்கண்ட அம்சங்களை ஒருங்கினைத்து ஒரு வணக்கம் உலகம் (“Hello World”) என்று வெளியிடுவதற்கு ஒரு மூளை குளம்பி நிரலை இப்படி எழுதலாம்,

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>—.+++++++..+++.>>.<-.<.+++.——.——–.

மேல்கண்ட அம்சங்களை ஒருங்கினைத்து ஒரு (மென்பொருளில்) எந்திரம் ஒன்றை நிரல்படுத்துவது பற்றி அடுத்த அத்தியாயத்தில் விளக்கத்துடன் பார்க்கலாம். அதுவரை இந்த நிரலை எழில் மொழி வழி இயக்குவதற்கு மூல நிரலுக்கு இங்கு github-இல் பார்க்கவும் [4].

(அடுத்த அத்தியாயத்தில் எழில் வழி இந்த மொழியை இயக்குவது பற்றி பற்கலாம்)

மேற்கோள்கள்

  1. மூளை குளம்பி மொழி https://en.wikipedia.org/wiki/P′′

  2. கணினியின் கோட்பாடுகளை கண்டறிந்த மேதை அலன் டுரிங்

  3. டுரிங் எந்திரம் விக்கிபீடியா

  4. எழில் வழி மாதிரி இயக்கி

Posted in 2016, Ezhil, Uncategorized | Tagged , , , | 1 Comment

தமிழில் புதிய (fonts) எழுத்துருக்கள்

Software Entreprenuer Selva Murali of VisualMedia Tech has released the following 20 Tamil Unicode fonts to public use at URL: https://groups.google.com/forum/#!topic/freetamilcomputing/HGyCqhCzZyo

uniAmma-26.ttf
uniAmma-25.ttf
uniAmma-24.ttf
uniAmma-23.ttf
uniAmma-22.ttf
uniAmma-21.ttf
uniAmma-20.ttf
uniAmma-19.ttf
uniAmma-18.ttf
uniAmma-17.ttf
uniAmma-16.ttf
uniAmma-15.ttf
uniAmma-14.ttf
uniAmma-13.ttf
uniAmma-12.ttf
uniAmma-11.ttf
uniAmma-10.ttf
uniAmma-normal.ttf
uniAmma-001.ttf
uniAmma-subheading.ttf

Clearly there is a co-opting use of the word “Amma” in TamilNadu political sphere which someone suggested motivated this giveaway/gift of fonts. However not all Tamil software work is politically motivated – in this case Gopi clarified that Selva released this font set in honor of his mother, a great tribute by any measure to both longevity of the Tamil language, and a parents memory.

Suganthi, shared a funny story of the co-opted use of word “Amma”

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

நன்றி
சுகந்தி

Tamil computing gets fun every now and then🙂

-Muthu

 

Posted in 2016, Computing, Cultural, Uncategorized | Tagged , | 3 Comments

Internet of Things

It’s spring in Boston and finally all the snow and ice, including the two unseasonal storms are behind us; we have a beautiful season and summer to follow.

Please read the linked article – a counter point to generally positive reviews we read, emphasizing need for open standards and higher security in the new connected world of things.
For professionals please keep track of lwn.net, slashdot.org and techcrunch.com for some updated tech news in the USA.I leave you with a question, “What you Alexa say in Tamil ?”Best,-Muthu

Posted in IoT, Uncategorized | Tagged , | Leave a comment

Open-Tamil Stack Overflow

Looks like the contributors are not alone in using Open-Tamil.

https://stackoverflow.com/questions/23926674/how-to-traverse-a-unicode-tamil-word-character-by-charcter-in-python

 

Posted in Open-Tamil, Programming, Uncategorized | Leave a comment

‘மிலுவாக்கீ’ எந்த அமெரிக்கா மாநிலத்தில் உள்ளது?

இந்த கட்டுரை 2015-இல் எழுதியது; மாற்றங்களின்றி இங்கே;

தமிழில் மென்பொருள் சூழலை எப்படி உருவாக்குவது

பாஸ்டன் அமெரிக்கா ஜுலை 10, 2015

தமிழில், தமிழ்மொழி பயன்பாட்டையும், கலாச்சாரத்தையும் முதன்மையாகக் கொண்ட மென்பொருள் ஏன் இந்த “ஆஃப்” காலத்திலும் குறைவாக உள்ளது? நாம் வளர்ந்து முன்னேறும்போது நம் மொழியினை தக்கவைத்துவிட்டுச் செல்வது சரியா? என்ற கேள்வியைத்தான் இந்த கட்டுரையில் விரிவாக ஆராயப்போகிறேன்?.

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

பொறியாளர் என்ற கோணத்தில் பார்த்தால் காரணம் சிலவற்றை சுட்டிக்காட்டலாம்.

1. குறியீடு முறைகள் சற்றே சிக்கலாக இருப்பதால் தமிழ் சார்ந்த தமிழ் உரை ஆலோசனை /ஆய்வு நிரல்கள் எழுதுவது ஒரு சிக்கலாக உள்ளது.

2. இயற்கைப்பேச்சு மொழி, தமிழ் உணரி, தமிழ் உரை ஒலி மாற்றி, சொல் திருத்தி, அச்சு எழுத்தில் இருந்து கணினி எழுத்து உணரி போன்ற செயலிகள் இல்லாதது.

3. நம் தமிழ் செயலிகள், Siri, Cortana, Google Voice போன்ற சேவைகளைப் பயன்படுத்தி உருவாக்கிய நிரல்களை விட ஒரு படி குறைவாகவே தோன்றும்.

4. தமிழ்மொழிச்செயலிகள் உருவாக்க ஒரு நிரல்தொகுப்பு (Standard Library) இல்லாதது ஒரு பயிலும் மாணவருக்கு தமிழ்மொழி செயலி உருவாக்கல் கடினமாக்குகிறது.

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

கட்டுரை அமைப்பு

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

அடுத்து ஓப்பன்தமிழ் என்ற நிரல் தொகுப்பைப் பற்றியும் அதன் பயனாக ஒலி பேசி செயலியையும் ஒரு திற மூல மென்பொருள் வடிவமைப்பின் கண்ணோட்டமாக பார்க்கலாம்.

முடிவாக எனது முக்கோண திட்டத்தை முன் வைக்கிறேன்.

எழில் தமிழ் நிரலாக்கல் மொழி

எழில் (http://ezhillang.org) என்பது ஒரு நிரலாக்கல் மொழி (Programming Language) பெரும்பாலான நிரலாக்கல் மொழிகள் ஆங்கிலத்தில் தான் உள்ளன. தமிழில் கணிமையின் கட்டமைப்புகளைக் கையாண்டு சிலர் முயன்ற போதிலும், எழில் மொழிமட்டும் தனித்துவம் வாய்ந்து அமைந்தள்ளது. ஏனெனில் எழில் மொழியில் மட்டுமே கட்டளைகளை தமிழ் மொழி போன்ற சொற்றொடரியல் இலக்கணத்தை கொண்டது. இம்மொழியின் சிறப்பு அம்சம்.

1. எழில் மொழி திறமூல மென்பொருள் இணையம் வழி கற்றிடலாம் மற்றும்

2. இதனைக் கற்பதற்கு தமிழில் நிரல் எழுது என்ற துணை கையேடும் வெளியிடப்பட்டுள்ளது. இந்தப் புத்தகம் அச்சில் உள்ளது.

3. கணிமை மூதாதையர் அலன் டியூரிங் அவரின் வழி டியூரிங் வரையறைக்குள் முழுமையாக (Turning complete) உள்ளது.

தமிழ் மட்டும் அறிந்த மாணவர்கள் கணிமை துறையில் பின்தங்கியதாக இருக்க வேண்டாம்?. அந்த நிரலாக்கல் திறன் இன்று எழில் தமிழ் வழியாகவும் ஆங்கிலம் சார்ந்ததாக உள்ளது. கையில் சொற்கள் இருப்பினும் தமிழில் முதன்மையாக நிரல் எழுத வசதியில்லை. 2007இல் தோற்றம் எடுத்தாலும் எனது முதுநிலைப் படிப்பின் காரணமாக 2009 முதல் 2012 ஆண்டுகள் வரை அதிகம் மேம்படுத்தப்படாமல் இருந்தது. திரும்ப 2013 முதல் இந்த திட்டம் மறுபிறப்பேடுத்து இணையம் வழி வழங்கப்பட்டது.

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

1. ஆங்கிலத்தில் இல்லாத சில நிரலாக்க மொழிசார்ந்த குறியீடு சார்ந்த சிக்கல்கள்.

2. சிறிய சந்தை அளவினாலும் இலாபம் குறைவாக இருப்பதால் பலர் தமிழில் பங்களிப்பதையோ, உருவாக்குவதையோ வெறும் வணிக ரீதியில் பார்க்கின்றனர்.

3. மேலும் கூறினால் தொழில் நுட்பத்தில் முதலீடு செய்யவும்

4. இலாபம் பார்க்கும் வரை தாக்குப்பிடிக்க பண வசதி செய்ய யாரும் இல்லை.

5. அரசாங்கத்தின் உதவி பெறும் தனியார் நிறுவனங்கள் மட்டும் உள்ளன.

6. நாம் எப்படி அடுத்த கட்ட இளைஞர்களை தமிழ் பொறியியலில் தயார் செய்யலாம்?.

இந்த கேள்விகளுக்கு விடையில்லாமல் இருந்தாலும், நல்ல முடிவு நிச்சயம் இருக்கிறது. புலம் பெயர்ந்த தமிழர்களும், தமிழ் சமூகமும் தகவல் தொழில்நுட்பத்துறையில் தமிழ் வளர ஆதரவளிக்க வேண்டும்.

தமிழ் இலக்கிய தோட்டம் (..தோ) ஆண்டு விழா டொரன்டோ, கனடா இந்த ஆண்டு ஜுன் 13ஆம் நாள் நடந்தது. 2014–ஆம் ஆண்டு தமிழ் கணிமைக்கான விருதை த..தோ. கலச்சுவடு அறக்கட்டளையின் சார்பில் நான் உருவாக்கிய எழில் என்ற நிரலாக்க மொழி விருது பெற்றது மிகுந்த மிகழ்ச்சி. INFITT, ..தோ போன்ற அறக்கட்டளைகளைத் தொடர்ந்து சிறப்பாக செயல்பட வேண்டும்.

சிலோன் பெயர் கொடுத்த ஆங்கில சொல் ‘serendip’ – `serendipity’- என்று தேட அதிர்ஷ்டமாய் வந்த த..பே.தா அழைப்பு மற்றும் விருது என் வாழ்வில் ஒரு மையில் கல் ஆக அமைந்தது.

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

நேரம் படிக்கும் கெடிகாரம்

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

 

இதற்கு காரணங்கள் இரண்டு

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

2. இதை வைத்து ஒரு சில எண், சொல் (.கா. 100, 1000 – நூறு ஆயிரம் இவற்றிற்கு மட்டும் ஆண், பெண் குரலில் ஒலி வடிவ கோப்புகளை சேமிக்கவும்.

இதற்கு 63 ஒலி வடிவு குரல் கோப்புகள் மட்டும் தேவைப்படுகின்றது. இதை மட்டும் வைத்து எந்த எண் ஆனாலும் அதை ஒலி வடிவில் தானியங்கியாக கணினி வழியில் ஒலியாக்கலாம்.

இதை வைத்து 6 முதல் 10,000 கோடி வரை முழு எண்.1729 ஆனாலும் தசம எண்.3.14159 ஆனாலும் அழகாக ஆண் குரலிலோ பெண் குரலிலோ ஒலி வடிவமைக்கலாம். இதன் சான்றுகளை இந்த சுட்டியின் வழி கேட்டிடலாம். https://soundcloud.com/ezhil-lang

குரல் கிடைத்தது.

இந்த தானியங்கி உருவாக்க ஒரு பெண் குரல் தேவைப்பட்டது. ஒரு தமிழ் பெண் பொறியாளர். இவர் நான் விடுத்த வலைபூ மற்றும் கீச்சு (Twitter) அழைப்பிற்கு தானே பங்களித்தார். நானே ஆண் குரலுக்கு பங்களித்தேன்.

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

இந்த ஒலி பேசி செயலியைக் கொண்டு நாம் ஒலி பேசும் கடிகாரம் ஒன்றை உருவாக்கலாம். (.கா.) இதை கொண்டு ஒரு வங்கியில் வரிசைச்சீட்டு முறை செயல்படுத்த உதவி செய்யலாம்.

இதற்கு பணம் ஏதும் கொடுக்கவில்லை. என்னடா விசித்திரமாக சொல்கிறாரே என்று என்ன வேண்டாம். இது திற மூல மென்பொருளிற்கு உடைய பல அம்சங்களில் ஒரு சிறப்பு அம்சம் எனது மென்பொருள் அவரது குரல் ஔி கோப்பு அனைத்து இலவசமாக பயன்படுத்தலாம் எவ்வளவு ஆச்சரியம்!

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

ஓப்பன்–தமிழ் திட்டத்தில் மட்டும் எழில் திட்டத்தில் என்னோடு பலர் பங்களித்துள்ளார்கள். இவர்களால் இணையம் வழியாக மட்டும் தொடர்பு . இதுவே ஒரு தமிழ் தன்னார்வலர்களுக்கு உடைய ஒரு பங்களிப்பு சூழல் என்று எடுத்துக்கொள்ளலாம். இவர்களுக்கு லாப நோக்கு எதுவும் கூட கிடையாது.

மின் ஊடக கணினித் தமிழ் – குறுகிய வரலாறு

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

1980 – முதல் 2000- வர எழுத்துரு வகை குறியீட்டில் (font based encoding) சிக்கியும், இதன் சிதைவு பிடியில் இருந்து தப்பமுடியாமல் இருந்த தருணம் இந்த தேக்க நிலையில் இருந்து பல தன்னார்வலர், தொழிலதிபர் மற்றும் சில அரசு வல்லுநர் குழுக்கள் முயற்சியால் குறியீடும் (ஒருங்குறி), விசைப் பலகையும் (தமிழ் -99) தரம் செய்யப்பட்டது.

ஒருங்குறி என்பது TSCii, TACE, இரு அமைப்புகளை காட்டிலும் சில குறைகள் இருப்பினும் பரவலாக வலை தளங்களில், வலை உலவிகளில் மட்டும் திருத்திகளில், திறன்பேசிகளில் ஏற்கப்பட்டது. ஒப்பன் தமிழ் போன்ற நிரல் தொகுப்புகளை இல்லாவிட்டால் திற மூல மென்பொருள் எழுதுவது மிகவும் கடினமாக உள்ளது.

அமெரிக்காவில் DARPA, IETF (இணையம் செயற்குழு) போன்ற நிறுவனங்கள் மேம்பட்ட தொழில் நுட்பங்களை இலவச /திற மூல மென்பொருளாகஅளித்ததால் மட்டுமே இணையம் 1960 இல் உருவானாலும் கூற தற்போது உலகம் முழுவதும் பரவலாக வளர ஒரு காரணம் என்று சொல்லலாம்.

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

ஒருங்குறி ஒரு தரமாக ஏற்றுகொள்ளப்பட்டாலும் நாம் குறியீடு விவாதங்களில் இருந்து விடு பெற்று மேன்மை மென்பொருள்கள் இலக்கை எட்டத் தேர்ச்சி பெற்றுள்ளோம்.

ஆப்பிளும் முக்கனியும்

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

மிலுவாக்கீ எந்த அமெரிக்க மாநிலத்தில் உள்ளது?

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

ஒரு வீட்டுப் படமாக இந்தக் கேள்வியை கூகிள் வழி கேட்டால் ஆங்கிலத்தில் புள்ளிவிவரத்தோ `விஸ்கான்சின்’ என்று சிறப்பாக தமிழ் தற்போது இந்த நிலையில் இல்லாவிட்டாலும் விரைவில் இந்த இலக்கை நோக்கி நம்மில் ஒருவர் முயல்வார்கள். இது நீங்களாவும் இருக்கலாம்.

என் பார்வையில் இந்த பரிணாம வளர்ச்சியின்பால் இப்போது அடுத்த 10-15 ஆண்டுகளில் ஒரு நல்ல தமிழ் நிரலாக்கம் சூழலை வருங்கால நிரலாளர்களுக்கு, உருவாக்கி கொடுத்தால், அது, அவர்களை நிரல் எழுதி தமிழில் செயலிகளை உருவாக்க ஊக்கம் அளிக்கும். ஒரு நல்ல சூழலில் நிரல் தொகுப்புகள் அகராதி, சொல்திருத்தி, இலக்கம் ஆய்வு. நிரல் செயல்முறை (அல்கோரித்ம்ஸ்) நிரலாளர், ஆவணங்கள், பயனர், குழுக்கள், பயிலரங்கங்கள் மேம்பாடு அடைய வேண்டும்.

முன்னோக்கு பலமான அஸ்திவாரம்

நூறு மாடிக்கட்டடம் ஒன்றை கனவு கண்டு எழுப்புவது எப்படி? அதற்கு ஒரு நல்ல திட்டம், ஒரு பலமான அஸ்திவாரம் வடிவமைத்துத் தொடங்க வேண்டும்.

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

மக்களுக்குத் தேவையான மென்பொருள்கள் மக்கள் வாங்கும் வண்ணம் அவர்களுக்கு இந்தச் சந்தையில் கிடைக்கும்.

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

முக்கோண திட்டம்

இதற்கு எனது திட்டம் ஒன்றை இந்த கட்டுரையில் முன்வைக்கிறேன். தமிழில் முக்கோண வடிவில் அமைக்கப்பட்டது இந்த திட்டம் தனியார் வல்லுனர்கள், ஒரு கருவாக இலவசமாக பயிற்சி அளிப்பவர்கள் இந்த முக்கோணத்தில் ஒரு மூலை. கொடை அளித்துத் தமிழ் மொழி வளர செய்யும் அறக்கட்டளைகளும், தமிழ் மொழி நிறுவனங்களும் இன்னொரு மூலை, பொறியியல், அறிவியல், கணினி நிரலாக்கம் ஆகிய துறைகளில் பயிலும் மாணவர் மாணவியர் அனைவரும் ஒரு சிறிய மாத ஊதியதிற்கு (அறக்கட்டளை அளிக்கும் பொருட்டு). தனியார் வல்லுனர்கள் பார்வையில் ஒரு சிறிய மென்பொருள், செயலி அல்லது தொகுப்பில் பங்களிப்பவர்கள் கடைசி கோணம் (மூலை). மூன்று திசையினரும் சேர்ந்து செயல்பட வேண்டும். இதுவே முக்கோண திட்டம்.

இதன்படி செயல்படும் மூன்று திசையினருக்கும் என்ன பயன்? மாணவர்கள் மாதம் ஒரு தொகை பெற்று (உபயம் அறக்கட்டளை), வல்லுநர் சொல்லும்படி கேட்டு நிரல் எழுதவேண்டும். இதனால் மாணவர்கள் தங்கள் பொறியியல் அனுபவத்தை வளர்த்து கொள்ளலாம். வல்லுனர்கள் தங்களுக்கு பிடித்த திற மூல மென்பொருள்களை மேம்படுத்தலாம். அறக்கட்டளைகள் தங்களது இலக்கான தமிழ் வளர்ச்சியை சற்றே வேகமாக அடையலாம். இது என்னமோ ஒன்று பட்டால், உண்டு வாழ்வு,” என்ற பழமொழி போல் உள்ளது. இப்போது இந்த முக்கோண திட்டம் செயல்பாட்டில் இல்லை; ஆர்வம் உள்ளவர் என்னை அணுகலாம்.

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

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

****

Posted in 2015, 2016, Cultural, Uncategorized | Tagged , , | Leave a comment