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

நேரம் படிக்கும் கெடியாரம் ஒன்றை எப்படி உருவாக்கலாம்?

Speaking Clock Speaking Clock

முதலில் இது என்ன செய்ய வேண்டும் என்பதை தீர்மானம் செய்யலாம்.

  1.  நேரம் சரியாக காட்ட வேண்டும்
  2.  நேரம் எண்களை சொற்களாக மாற்றனும்
  3.  நேரம் சரியாக படிக்க வேண்டும்

இதில் முதல் தேவையை கணினி இயங்குதளமே (OS) பூர்த்தி செய்யும். பைத்தான் (Python language) மொழியில் கீழ்கண்டவாரு எழுதினால் தற்பொதைய நேரம், மட்டும் தேதி கிடைக்கும்.

import datetime, time
time_as_string = time.ctime()
# access only the date
today = datetime.date.today()
dnt_now = datetime.datetime.now()
# access hour, minute, second and microsecond fields
dnt_now.hour, dnt_now.minute, dnt_now.second, dnt_now.microsecond

முதல் வேலை சரியாக முடிந்தது.

இப்போது, ஓப்பன் தமிழ் நிரல் தொகுப்பில் தசம எண்களின் வார்த்தைவடிவாக சொல்கிரது  எ.கா. 1001.45 -> ‘ஓர் ஆயிரத்தி ஒன்று புள்ளி நான்கு ஐந்து’. பைத்தான் (Python language) மொழியில் கீழ்கண்டவாரு எழுதினால்

import tamil
actual_IN2 = tamil.numeral.num2tamilstr(1001.45)
#gives -> ஓர் ஆயிரத்தி ஒன்று புள்ளி நான்கு ஐந்து

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

  1. units = (u’பூஜ்ஜியம்’, u’ஒன்று’, u’இரண்டு’, u’மூன்று’, u’நான்கு’, u’ஐந்து’, u’ஆறு’, u’ஏழு’, u’எட்டு’, u’ஒன்பது’, u’பத்து’) # 0-10
  2. teens = (u’பதினொன்று’, u’ பனிரண்டு’, u’பதிமூன்று’, u’பதினான்கு’, u’பதினைந்து’,u’பதினாறு’, u’பதினேழு’, u’பதினெட்டு’, u’பத்தொன்பது’) # 11-19
  3. tens = (u’பத்து’, u’இருபது’, u’முப்பது’, u’நாற்பது’, u’ஐம்பது’,u’அறுபது’, u’எழுபது’, u’எண்பது’, u’தொன்னூறு’) # 10-90
  4. tens_suffix = (u’இருபத்தி’, u’முப்பத்தி’, u’நாற்பத்தி’, u’ஐம்பத்தி’, u’அறுபத்தி’, u’எழுபத்தி’, u’எண்பத்தி’, u’தொன்னூற்றி’) # 10+-90+
  5. hundreds = ( u’நூறு’, u’இருநூறு’, u’முன்னூறு’, u’நாநூறு’,u’ஐநூறு’, u’அறுநூறு’, u’எழுநூறு’, u’எண்ணூறு’, u’தொள்ளாயிரம்’) #100 – 900
  6. hundreds_suffix = (u’நூற்றி’, u’இருநூற்றி’, u’முன்னூற்று’, u’நாநூற்று’, u’ஐநூற்று’, u’அறுநூற்று’, u’எழுநூற்று’, u’எண்ணூற்று’,u’தொள்ளாயிரத்து’) #100+ – 900+
  7. one_thousand_prefix = u’ஓர்’
  8. thousands = (u’ஆயிரம்’,u’ஆயிரத்தி’)
  9. one_prefix = u’ஒரு’
  10. lakh = (u’இலட்சம்’,u’இலட்சத்தி’)
  11. crore = (u’கோடி’,u’கோடியே’)

இதை எனக்கு யாரேனும் எனக்கு ரெக்காட் செய்து தந்தால் மகிழ்ச்சி. ஓப்பன்-தமிழ் கிட்ஹப் வழி அனுகவும்.

இப்போது பைத்தான் வழி கிடைத்த தேதி, நேரம் தகவல்களை நாம் ஓப்பன் தமிழ் வழியாக சொற்களாக மாற்றலாம். பின்னர் இவற்றின் (சொற்களை) ஒலி கொப்புகளை சேர்த்தால் இதுவே “பேசும் கேடியாரம்” ஆகும்.

நானே ராஜா, நானே மந்திரி

தமிழ் நிரலாளர் அனுபவம் ஏன் “நானே ராஜா, நானே மந்திரி!” போல் உள்ளது?

கருத்துக்களை பகிரவும்.

-முத்து

புது தொழில்நுட்பம் சார்ந்த சொற்கள்

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

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

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

இந்த மாதிரி உருவாக்கிய தமிழ் இனங்கு சொற்கள் கீழ் காணலாம்.

  1. Pay wall – சுங்கசுவார்
  2. Fire wall – அகழ்வுசுவர்
  3. Hackathon – தொடர் நிரலாக்கம்
  4. Hacker – கணிமேதை, கணினி மேதாவி
  5. Back seat coder – ஒப்புநிரலாளர்
  6. Cracking – மென்பொருள் வழிப்பறி
  7. Evaluate – கணித்திடு, கணி, கணக்கிடு
  8. Import – இணை, சேர், பயன்படுத்து

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

நீங்கள் என்ன நினைக்கிறீர்? விவாதிக்க.

நன்றி
-முத்து

2014 தமிழ் கணிமை விருது – ஏற்புரை (Tamil computing award 2014)

06/13/2015

2014 தமிழ் கணிமை விருது – ஏற்புரை

இடம்:  தமிழ் இலக்கிய தோட்டம் ஆண்டு விழா, டோரான்டோ, கனடா

அரங்கத்தில் உள்ள அணைவருக்கும் வணக்கம். 2014-ஆம் ஆண்டு தமிழ் கணிமைக்கான விருதை த.இ.தொ/காலச்சுவடு அறக்கட்டளையின் பார்வையில் பெறுவது மிகுந்த மகிழ்ச்சி.

AcceptanceSpeech
Acceptance Speech at Toronto, Tamil Literary Garden for 2014 Tami Computing Award. Image (C) @donion

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

  1. எழில் மொழி திற மூல மென்பொருள்; இணையம் வழி கற்றிடலாம்;  மற்றும்
  2. இதனை கற்பதற்கு “தமிழில் நிரல் எழுது” என்ற துணை கையேடும் வெளியிடப்பட்டுள்ளது.
  3. கணிமை மூதாதையர் அலன் டியூரிங் அவரின் வழி “டியூரிங் வரையறைக்குள் முழுமையாக” (Turing complete) உள்ளது.

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

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

  1. ஆங்கிலத்தில் இல்லாத சில நிரலாக்க மொழி சார்ந்த, குறியீடு சார்ந்த சிக்கல்கள்.
  2. சிறிய சந்தை அளவினாலும், இலாபம் குறைவாக இருப்பதால் பலர் தமிழில் பங்களிப்பதையோ, உருவாக்குவதையோ வெறும் வணிகரீதியில் பார்க்கின்றனர்.
  3. மேலும் கூறினால் தொழில் நுட்பத்தில் முதலீடு செய்யவும் இலாபம்
    பார்ககும் வரை தாக்குப்பிடிக்க பண வசதி செய்ய யாரும் இல்லை.
  4. அரசாங்கத்தின் டேன்டர் பெறுவசம் சார்ந்த தனியார் நிறுவனங்கள் மட்டும் உள்ளன.
  5. நாம் எப்படி அடுத்த கட்ட இளைஞரை தமிழ் பொறியியலில் தயார் செய்யலாம்?

இந்த கேள்விகளுக்கு விடையில்லாட்டியும், நல்ல முடிவு நிச்சயம் இருக்கு.

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

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

விருது விழாவில் கலந்து கொள்வதற்கு வழிகாட்டிய திரு.  Tamil Literary Garden award ceremonyமுத்துலிங்கம் ஜயாவிற்கு, திரு. வெங்கட் அவருக்கும் நன்றி கூறுகிறேன். அஸ்டிரேலிய தமிழர் SBS Radio-வின் குலசேகரம் சஞ்சயன் அவரின் நுட்பமான வானொலி நேர்காணலிற்கும், தி இந்து பத்திரிகையாளர் கார்திக் அவருக்கும், எழில் மொழியினை பற்றிய செய்தியை பலர் அறியுமாறு செய்தமைக்கு நன்றி.

வழி முழுவதும் ஊக்குவித்த தாய்-தந்தையிற்கும், தம்பியிற்கும், நன்றி. டொறான்டொ வரை அழைத்து வந்த வாய்ப்புகளை ஏற்று செயல்பட ஊக்கம் அளித்த மனைவி சாலாவிற்கு நன்றி.

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

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

நன்றி. வணக்கம்!

– முத்து அண்ணாமலை

அடிக்குறிப்பு :  அளித்த உரையின் சற்றே விரிவான கட்டுரை

open-tamil – Java usage

Open-Tamil for Java

A simple package containing 2-3 functions for Tamil text processing, is proposed for Java. It is available from open-tamil project repository, using the MIT license.

Using this project you can get utf8.get_letters, utf8.get_length API in Java. This code is, as always, tested using JUint.

Building Jar file from sources

Before you start you need the following,

  1. Download the source of open-tamil from github using the link
  2. cd open-tamil/java/OpenTamil
  3. Open this directory in your ‘Eclipse’ or ‘NetBeans’ IDE, and setup a library project
  4. Build the ‘JAR’ file
  5. Close open-tamil project
  6. On command line copy the jar file into your project (this is not open-tamil) directory
  7. You can being using the jar file like the following example, and as long as the JAR file is on your path, it should compile and run just fine.

Example:

        import com.opentamil.tamil.*;
        
        public class Petti {
            public static void main() {
                List<String> chars = utf8.get_letters("கட்டளை"); //strange fruit
                System.out.print("கட்டளை -> "+chars.size());
            }
        }

You should see an output like,
       கட்டளை -> 4

நிரலாக்கத்தில் இயற்பெயர்கள் (Native names in Programming)

வணக்கம், வாசகர்களே!

நண்பர் டிவிட்டரில் தான் Julia Language (ஜூலியா) நிரலாக்கத்தில் ஒருங்குறி வசதி இருப்பதால் தான் தமிழ் பெயர்களை பயண்படுத்தி நிரல் எழுத மேர்கள்வதாக கீ்ச்சு அனுப்பினார். எழில், JavaScript, Python, Clojure, Clisp மொழிகளிலும் இதை சொய்யலாம்.

இயற்பெயர்கள் அனைவருக்கும் பிடித்து என்றே தொன்றுகிறது. ஏன்? Apache (அப்பாச்சே) அமெரிக்க பழங்குடி இனத்தின் பெயரில் ஒரு பிரபல திட்டம் பல ஆண்டுகளாக இயங்கிவருது. அதில் Maven (மேவன்) என்ற திட்டம் Yiddish யூதர் மொழி சொல்லை தன்வசப்படுத்தி திட்டத்தின் பெயராக்கியது.

Maven, a Yiddish word meaning accumulator of knowledge,

Apache Maven project uses words from both Native American, and Yiddish language Apache Maven project. Apache, and Maven are names originating from Native American tribe, and Yiddish languages respectively.

ஆங்கிலத்தில் ‘Kanmani’ என்று பெயர் ஒலிபெயர்க்கிரோம்; ஆனால் தமிழ் பெயர் வழி யொசித்தால், அது அவ்விடத்தில் பொருத்தமாக இருந்தால் சும்மாத்தான் வைத்துப் பாருங்களேன்!

அன்புடன்,

-முத்து

எழுத்தாளர் திரு. முத்துலிங்கம் அவரின் 2010-ஆம் ஆண்டு நோர்காணல்

Interview with writer Muttulingam, from 2010

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

எழுத்தாளர் திரு. முத்துலிங்கம் அவரின் 2010-ஆம் ஆண்டு நோர்காணல். Youtube காணொளியை பார்க்க இங்கு செல்லவும் Interview with writer Muttulingam, from 2010

Writer Muttulingam
Writer Muttulingam

இதில் அலீஸ் முன்ரொ உடன் கொண்ட உரையாடலை நினைவு கூறுகிரார். அலிஸ் முன்ரொ 2013-இல் நொபல் பரிசு (இலக்கியத்துரையில்) பெற்றார்.

-முத்து