Thursday, May 26, 2016

মেয়ে গেছে বনে

খুব ছোটোবেলা থেকেই আমার দুর্গা প্রতিমা দেখলে মন কেমন করত। একগাদা ভারী ভারী হাত, তাতে নানান রাগী তলোয়ার নিয়ে, ইয়া বড় বড় চোখ করে একদৃষ্টে তাকিয়ে রয়েছে একটা বিটকেল দেখতে লোকের দিকে -- তাতেই জনতার পুলকের শেষ নেই -- একদল যেমন খটমটে অংবং ভাষায় কিছু না কিছু বলেই চলেছে সকাল সন্ধ্যে মূর্তির সামনে বসে, অন্যদল ব্যস্ত নতুন জামা জুতো পরে রং বেরঙের খাবার খেতে। আমাকে এমনিতেও গোলাপি ফেনাওলা কাঠিটা কিনে দেওয়া হত না। ঝিলিকরা ওটাকে বলত বুড়ির চুল। আমি একবার খেতে গিয়ে জামায়, হাতে লাগিয়ে টাগিয়ে এমন চ্যাটচ্যাটে করে ফেলেছিলাম, তারপর থেকেই আর কেউ কিনে দিত না। আমিও বায়না করিনি, চুপচাপ একটা কোণে গিয়ে বড়-চোখ-রাগী-মুখ পুতুলটা দেখতাম। তখন সত্যিই বড্ড কচি বয়স। কষ্ট বলতে কেবল চোখের ভিতর চোখের পাতা প্যাঁচ খেয়ে ঢুকে গেলে কিরিকিরিটা বুঝতাম। আর বাবা একটা দাড়িওয়ালা জেঠুর কথা বলত, খুব ভালো গান গাইতো খালি গলায়, মুক্তর মত হাতের লেখা, নিশ্চয়ই কিছু দুঃখ ছিল মনে, একা একাই মরে গিয়েছিল। প্রথমবার বাজি ধরতে গিয়ে হাত পুড়িয়েছিলাম যেদিন, সেদিন কাদতেঁ কাদতেঁ ওই জেঠুর কথা মনে পড়ছিল -- সমস্ত শরীরটাকে পুড়িয়ে ফেলতে নিশ্চই ভীষণ জ্বালা করছিল ওর।  তারপর থেকে সঞ্জয় জেঠুর কথা বলতে গেলে বাবার অল্প ধরে যাওয়া গলাটা কানে লাগতো --  তখনও কষ্ট হত। খুব স্বাভাবিক জৈবিক নিয়ম মেনেই আমি এরপর বড় হচ্ছিলাম, তাতে এই বিশ্বসংসারের বিশাল কিছু আপত্তি ছিল না। জীবন মাত্রেই বিকাশ ঘটবে -- না ঘটলে ডাক্তার-বদ্যি, স্পেসাল-ইস্কুল, টিটকিরি ও সামাজিক প্যাঁক ইত্যাদি -- সুতরাং আপত্তির প্রশ্নই উঠছে না, বরং এও একরকমের স্বস্তি। ততদিনে বাজারে নতুন অসুর এসেছে গ্রেগ চ্যাপেল, জান লড়িয়ে মাটি কামড়ে, যুদ্ধে টিকে থাকা কে ডাকতে শিখেছি সৌরভ গাঙ্গুলি, আর ইতি উতি সুইসাইডের কেস শুনলে কাঁধ ঝাঁকিয়ে বলি এসকেপিস্ট! আর এসব তো শুধু একালের কথা নয়। সেই কোন প্রাগৈতিহাসিক মহাপুরুষ ডারউইনই বলে দিয়েছিলেন  যুদ্ধে যেদল হারে, তাদের বলে হেরো, তারা নিশ্চিন্হ হয়। আর, যারা জেতে তাদের জন্য থাকে গালভরা সংস্কৃত মন্ত্র, পরমবীর চক্র, নিদেনপক্ষে শহরের রাস্তা আটকে আবীর-রাঙা মিছিল। 

প্রত্যেক যুদ্ধের আগেও একটা ঘটনা থাকে, আমরা তাকে ইতিহাস ডাকি। প্রত্যেক যোদ্ধার যে জীবন, আমরা তার গল্পটুকুই শুনি । কিন্তু সত্যি বলছি, শুধু গল্প শুনে সঞ্জয় জেঠুদের পলাতক বলাটা যেমন অবিচার, তেমনি, দূর্গা ঠাকুর দেখলে আমার আজকাল ভীষণ কষ্ট হয়।  ভারী ভারী হাত গড়ে তাতে নানাবিধ অস্ত্র তুলে দেওয়ার আগে কেউ তো একবারও জিজ্ঞেস করেনি, যুদ্ধটা তিনি আদৌ করতে চেয়েছিলেন কিনা!

Sunday, November 30, 2014

সেই পরির দল

আমাকে যখন প্রথম ক্যালায়ডোস্কোপ কিনে দেওয়া হয় -- বয়স মনে নেই -- মনে আছে, তখন জীবনে আলো-অন্ধকারের ধারণাটুকু খুব স্বচ্ছ ছিল। ভুল করে হয়ত সূর্যের দিকে তাকিয়ে ফেলেছি -- তারপর সে কি ফ্যাসাদ -- যেদিকেই তাকাই, ঘন সবুজ নয়তো কালো। দুহাত দিয়ে চোখ কচলে কচলে তখন রং বার করতে করতে বুঝতে পারতাম সূর্যের রং ড্রয়িংখাতার মত হলুদ নয় -- পরে, অনেক পরে, সায়েন্স বইতে সাত রঙের কথা পড়ে তাই একটুও অবাক লাগেনি, নিজের হাতে চোখ থেকে খুবলে বের করা রং সব, সব সেই কবে থেকে চেনা। তারপর, লাল রঙের যন্ত্রটার ছোট কাঁচে চোখ রাখার সাথে সাথে আলো নিজের খোকাসুলভ রেপ্যুটেশন হারালো চিরকালের মত। কিচ্ছু করার ছিল না। রং গুলো তো নাহয় কমন পাওয়া গেল, কিন্তু, নকশা গুলো? একটা নকশার সাথে মানিয়ে নিতে নিতে, হাত একটু ঘুরেছে কি ঘোরেনি, নতুন প্যাটার্ন! ক্যালায়ডোস্কোপ থেকে চোখ সরিয়েও সেদিন থেকে চোখ ঝলসেই রইল -- কত জলের ঝাপটা পড়ল তারপর, কতবার চোখ খুচিয়ে রং ঝরানোর চেষ্টা ছোটবেলার মতই, চশমা এল, চশমা বদলালো, এখন তো আর চশমার দরকারও ফুরিয়েছে -- নকশা কিন্তু বদলেই চলেছে আপন তালে। এই সেদিনও প্রাত্যহিক অন্ধকার শেষ হত ঠিক নিয়ম করে ভোরবেলা বাবা মা মর্নিংওয়াকে বেরোনোর সময় -- সাদা রঙের পরিস্কার কাঁটাওয়ালা ঘড়িটা সাড়ে পাঁচটা বাজলেই ককিয়ে উঠত রোজ -- সকাল টকাল হত। এই সেদিন বলতে, তাও কয়েকশো বছর আগের কথা।

কিছুক্ষণ হল আমি আমার হোটেলের নিচে এসে দাড়িয়েছি -- নতুন শহরে -- বেশ ঘন করে রাত জমেছে। একজন পরি আমার পাশে এসে প্রশ্ন করলে ওকে আমার ভয় করছে কিনা। তাই থেকেই ওই  ক্যালায়ডোস্কোপের গল্পটা মনে পড়ল -- ওকে যদিও সেকথা বললাম না -- এটাও বলছিনা যে আমিও কতজনকে এই একই প্রশ্ন করে শেষে ক্লান্ত হয়ে এখানে এসে দাঁড়িয়েছি। একবার মনে হল বলি: যাকে চিনিনা তাকে আমার ভয় করে না। ভয় কেবল যাকে চিনি তাকে; যদি ভুল চিনি? কিন্তু পরি আপাতত রাস্তা থেকে আধখাওয়া সিগারেট কুড়োতে ব্যস্ত। আমি আর কথা বাড়ালাম না।

এও এক দৈনন্দিন নেশা, রোজ এক এক জায়গা থেকে ঘুরিয়ে ঘুরিয়ে অন্ধকার দেখা -- তারও কত নকশা, কত অবতার, কত রকম। কয়েক-রাত্তির আগে এরকম একদিন একটা কোনায় ভাঙা টুকরো গুলো নিয়ে বসেছি আর জুড়ে জুড়ে নিজেকে বানাচ্ছি কয়েক লক্ষতম বারের মত, আবার -- খুব খিস্তি করছি নিজেকে -- এমন সময় কে একজন শিস দিতে দিতে পাশে এসে বসল। বলল, শিস দিলে ঠাণ্ডা কম লাগে। এখানে অনেক পরিদেরই শীতকালে গরম কাপড় জোটে না। তাই ওরা গান গায়। আদর করে। তাও মরে যায় না। অনেকের হয়ত জামা জুতো টুকু ছাড়া শরীরের কিছুই নিজের নয়। ওরা আর বাথরুমেও কাঁদে না। আর যারা হয়ত অনেক রঙের নিচে অন্য লিঙ্গ, আর পাবলিক টয়লেটে গেলে আওয়াজ খায় -- এরম অনেক পরির সাথেই আমার এখন আলাপ। মাঝেমাঝে মনে হয় ওদের মেরে ফেলি, মরলে হয়ত আরাম পাবে। কিন্তু কী যে হয় তারপর -- আমিও শিস দিতে চেষ্টা করি, ঠোঁট পাকাই -- গান গাই -- সকাল টকাল হয়, আবার, কয়েকশো বছরের পর।

Monday, August 12, 2013

ভালোভাষা

আমি উচ্চমাধ্যমিকে বাংলায় ছেষট্টি পেয়েছিলাম, আর ভারী খুশি হয়েছিলাম। তারপর এর ওর নম্বর শুনে বুঝলাম, ওইভাবে আহাম্মকের মত খুশি হওয়াটা আমার ঠিক উচিত কাজ হয়নি। যাইহোক আমি কিন্তু ভাই, বাংলায় লিখতে, পড়তে, ঝগড়া করতে, গান শুনতে, গুনগুন করতে, রেগে গিয়ে বিড়বিড় করতে, এমন কি নতুন নতুন খিস্তি আবিস্কার করতেও (আদিরসাত্মক গুলো একটু কটাস কটাস করে কানে লাগে বটে) বেশ ভালবাসি। এর জন্য আমার  নম্বর বা গাঁদা ফুলের মালা কিছুই চাইনা - কিবোর্ড ছুয়ে বলছি!

আনন্দবাজার পত্রিকার নতুন প্রচেষ্টা - ভালোভাষা। সারা শহর জুড়ে প্রথমে নানান টিপ্পুনি-পোস্টার, চিমটি-ব্যানার - 'বাংলা ভাষা কি 'কুল' নয়? SMS করুন আপনার মতামত জানিয়ে এই নাম্বারে' ইত্যাদি, তারপর অচিরেই ঝেড়ে কেশে বার্তা - 'বাংলা ভাষা কে উদ্ধার করতে আনন্দবাজারের নতুন প্রচেষ্টা' - প্রত্যেক জেলার মাধ্যমিকে বাংলায় সর্বচ্চো নম্বর প্রাপককে পুরস্কৃত করা এই প্রচেষ্টার প্রথম পদক্ষেপ। আমি চিরকাল পরীক্ষায় ধেড়িয়েছি বলে বলছি না, এতটুকু হিংসা নেই আমার সর্বচ্চো নম্বর প্রাপকগণ কে, কিন্তু, আমার সত্যি কষ্ট হচ্ছে। গলায় দলা পাকানো কষ্ট - যাতে অনেক দুঃখ একসাথে ঠেলে আসে, আর ঠিক বোঝানো যায় না কোথায় ব্যাথা, তারপর রাগ আসে, একটু একটু করে অনেক। সেই  রাগ পাল্টে যদিও বা হয়েও যায় ফিসফাস, ল্যাদাডুস অকর্মন্য বাঙালি বলে, আর ফিসফাস কিন্তু পাল্টায় না হঠাত কারোর প্রচণ্ড চিত্কারে। বারো বছর ধরে মা কে অনেক ভালোবেসেছ, এই নাও হাজার খানেক টাকা, একটি ঝিনুকবাটি ও 'পরম সন্তান' উপাধি - এরকমও তাহলে দেওয়া হবে কোনো শিশুকে? বাংলা হতেই তো পারে কোনো ম্যারমেরে সেকেলে ভাষা - তাতেই বা সমস্যাটা কি? আমি আমার বাবা কে ভালোবাসি, সেটা বাবার ফ্রেঞ্চকাট দাড়ি আছে বলে, নাকি মানুষটা আমার বাবা বলে? সোজা হিসেব। সোয়া ঘন্টার পথ। গেলেই হলো! আমাকে যেমন ফার্স্ট ইয়ারে, এক কলেজ সিনিয়র একবার তার বন্ধুর জন্য সালিশী করতে এসে বলেছিল - 'ভালো ছেলে, নরেন্দ্রপুর রামকৃষ্ণ মিশন।' আমি খুবই নির্লিপ্ত ভাবে বলেছিলাম 'শুনে খুশি হলাম। কিন্তু সবাইকে ভালো ছেলেদের সাথেই প্রেম করতে হবে এরম কোনো কথা আছে কি ?' আমার ভাষা আমার কাছে কেমন, উত্তেজিত হলে কেন সেই ভাষাতে আমি হঠাত করে অসাবধানী কিছু বলে বসে জিভ কাটব - এসবের কোনো সংজ্ঞা হয় না। এগুলো সেখান থেকে আসে যেখান থেকে প্রথম কান্না আর প্রিয় মানুষের উপর অভিমান আসে, কয়েন আকাশে থাকতে থাকতে মনের যে জায়গাটা সেকেন্ডের মধ্যে আসল ইচ্ছে জানিয়ে দিয়ে দোটানার অবসান ঘটানোর জন্য বিখ্যাত - সেখানটা তে আমার বাংলা আছে। আরও অনেকেরই আছে আমি জানি। অনেকে হয়ত সেটা জানায় না, হয়তো ভাবে জাত যাবে, 'কুল'ত্ব নষ্ট হবে - সেটা হয়ত সময় বাহিত সংক্রামক - ব্যাধি না হলেও, এক ধরনের অভ্যেস তো বটেই। সে ঘটনা নিতান্তই দুঃখজনক, কিন্তু তাই বলে জীবনটাকে নম্বরে কেন মাপছিস? বাংলা যথেষ্ট চকচকে কিনা এই তর্ক যতটাই অবান্তর, মাধ্যমিকে 'বিজ্ঞান আশির্বাদ না অভিশাপ' রচনাতে, ভূমিকায় রবীন্দ্রনাথ, উপসংহারে সত্যেন বোস, আর এদিক ওদিকে 'জনৈক মনীষীর মতে' লাগিয়ে পাতা ভরিয়ে গুচ্ছ নম্বর বাগিয়ে কিছু প্রমান হয়না।

সত্যি বলতে কি, কিছু প্রমান করার নেইও। অনুভব করার আছে। আমার এক ইংরিজি-ইংরিজি দিদির প্রেমে পড়েছিল আমারই পরিচিত এক ছেলে, আর আমার পড়েছিল চিঠি পৌছানোর কাজ। চিঠি বলতে একটা সাদা কাগজ বেসামাল ভাবে ছেঁড়া, তাতে কালো কালিতে গোটা গোটা অক্ষরে লেখা - 'তুমি যতই বল 'This is not feasible', আমার মাথায় ঢুকবে না।' আমরা ভারী খোরাক হবে ভেবে একসাথেই পড়তে গিয়েছিলাম চিঠিটা, তারপর থমকে গেছিলাম, দুজনেই। আর আমার এই দিদিটি খুব ধীরে ধীরে, যেন খুব আগলে রাখা কোনো দামী জিনিস হাতে নিচ্ছে, এমন সাবধানে বলেছিল, 'বাংলা ভাষাটা কী মিষ্টি রে!' সেই ছেলেকেও হয়ত মনে মনে ছেষট্টি দিয়েছিল কি ও? ছেলেটিরও অন্যরা কত পেয়েছে জানার ছিল না। এই নম্বর কেউ জানতে চায় না, এই নম্বর কাউকে জানাতে নেই, অথচ এই নম্বরের আদরেই এক একটা ভাষা বেঁচে থাকে, কত কত বছর ধরে!

পুনশ্চ: আনন্দবাজারের এই মহান প্রচেষ্টার নামটি কিন্তু আমার সত্যিই বেড়ে লেগেছে। ওই নামটাই এখানেও থাকলো।

Tuesday, July 16, 2013

I 'see'. (Rather, what all I now 'visualize' with d3.js)

So, d3.js is officially awesome. If it isn't so official yet, it might have been just very very kind to me so far.

Flashback: I started off my research on the data visualizations for our Language Matrix Dashboard with Limn, our visualization toolkit that is there. And for some reasons, I did not decide to stick only to it, especially not for LCMD. Well, I went on hacking into more libraries. Here I am, sharing my story with d3!

I was thinking of some random queries that could be useful for our dashboard to have a visualization graph for. On my last meeting with Runa, we decided that we can think of queries in two ways:
  • Language Basis
  • Tools Basis 
Now different queries would demand different graphical representations to make, obviously. Let's say A query like "How many languages does have jquery.ime support right now" would not be very well represented with Line Charts as it will be with Pie Charts. Whereas, "The increase in language support for a particular tool in years" would be quite nicely represented with Line Charts. We need to figure out the definite queries that we would like to have for the tool to be pretty enough. I chose to work on "How many language do have jquery.ime support right now" as the primary goal to visualize. The main aim being, naturally, to have a pie chart representation for all the language tools available.

Visualizing jquery.ime statistics, just: 

The best thing about D3, is probably all the neat documentations that are available and the tutorials as well and I have taken advantage of their neatness whenever possible.

There are a few D3 helper functions that have been used. Like:   

Pie Layout:
Will take an incoming data array and give you back an object with the necessary angle and radius parameters to construct an arc.
  
           var donut = d3.layout.pie().value(function(d){
                   //code
           });

Ordinal Scale:
To return a colour value from an ordinal scale of 20  preset colours.
              

           var color = d3.scale.category20();

I have used the API that Harsh has wonderfully made to fetch data from.
          
               $.ajax({
                url : 'http://tools.wmflabs.org/lcm-dashboard/lcmd/api/php/dataapi.php?query=jquery_ime',
                dataType : 'JSONP',
                type : 'GET',
                            

                success : function(data){
                    //console.log(data);
                    var x = data.length;
                    console.log(data.length);
                    a = (x / 133) * 100;
                    b = 100 - x;
                    console.log(a + b);
                },
                error : function(data){
                    console.log(data);
                }
            })


What actually happened in the previous bit of code is quite simple: I fetched the data that I would want to visualize from the API with the url mentioned, which basically being a cross domain data transfer I am keeping the dataType as JSONP - Padded JSON. I am storing the value that would need for the calculation for the visualization purpose in var x, which stores the data.length. var a (which has been initialized before as var a = 0) stores the calculated percentage of the languages which has jquery.ime enabled. var b (Which also initialized before at the same time as a) stores the percentage of the less fortunate languages. Simple! Now I printed those as :

streakerDataAdded = [{'octetTotalCount': a},{'octetTotalCount': b}];

Now that and a few hundred more lines of code should give you a nice pie chart, helping you to visualize the particular query.

Visualization of Languages that have jquery.ime support

Initially, there was an issue with retrieving data from the API, which I reported at Harsh's repository. But nevermind he solved it in a jiffy and was very happy to realize that somebody was sweet enough to open an issue (the first ever, in his lcmd repo) in his repo - Yep, that's me! ;-)

Although I do have a working instance of the LCMD in my machine and can easily do the whole data-fetching-from-API locally, it's good that we solved it.

Implementing the visualizations in LCMD interface:

Implementing this bit of visualization in LCMD interface would simply mean that checking in various language tools that are listed would show the respective visualization. As I had mentioned earlier, I have Harsh's repository both forked and cloned, and there is one working instance of the LCM dashboard in my local machine, with sane database. I found that he has created a filter where you can play with the tools listed by checking them and shall see the output of languages that have those tools valid for. Neat. What I did for my demo is, I kept all of the html, css, most of the JS same except for a little change in language.html and a major change in his filter.js.
His filter.js now has:
         
function filterdata(value){
    $.ajax({
        url : 'http://tools.wmflabs.org/lcm-dashboard/lcmd/api/php/dataapi.php',
        dataType : 'JSONP',
        data : 'query=' + value,
        type : 'GET',
        async : 'false',
        success : function(data){
            langCount(data);
        },
        error : function(data){
            $('#langcount').html('<h3 class="text-info">' + (data.length)+ ' Languages </h3>');
            //display_lang(data);
        }
    })
}



And: 

   function langCount(data) {  
      $("#lcmd-chart").remove();
      $('#lcmd').append('<div id="lcmd-chart"></div>');
      var a = 0;
      var b = 0;
      data.length == null ? a = 0 : a = data.length;
      a = (a/133)*100;
      b = 100 - a;  

            //Rest of the code for the visualization
   }

Which pretty much gives I aimed for: Checking on the tools list will give the visualization pie charts for the same on the same place as where the languages' names were being listed earlier. Of course, I replaced that.

Implementation on the LCMD's current interface

   

So.. YAY, I guess? :)

Wednesday, July 10, 2013

About Last Week - An update, sort of

I have spent my last week mostly being down with a terrible fever follwed by an awful gastritis and eventually ended up having a terrible weakness - gah! Anyway, I did have a whole bunch of things planned in the US, which I was supposed to execute in this month, well, I am on them. :-) After a very pleasant meeting with Alolita at the office (I visited THE office, yay! :D) - this is what we had in minds as the game plan for the next few weeks:

The target is to cover the following areas in the month of July.
  • Visuallization and Language Coverage Matrix
  • jQuery Milshake Libraries  

   

Target - Visualizations and Language Coverage Matrix

Evaluate visualization libraries for the web to be used for processing and displaying data from the language coverage matrix
  • To identify the selection criteria and select top 3 visualization libraries (JS/HTML5/CSS/server side appls)
  • Build prototypes to demonstrate capabilities of each library
  • Integrate initial snapshot of data for LCM into version 1 of visualizations
  • Requirements: To determine - what types of visualization, graphs do we need for LCM and what are the features that could be used for visualizing complex event data for Language tools like ULS.
  • Language Coverage Matrix - To go through technical specification and UI design mockups.

 

Target - jQuery Milkshake libraries

  • To learn about jQuery.i18n, jQuery.ime, jQuery.webfonts, jQuery.uls
  • To review the code
  • To get involved with Bug Triaging
  • To get some bug assigned and fix them

Now, the update of what I did get done in the last week:


Update - Visualization 

I looked at Limn, as a start. Limn is a GUI for constructing beautiful visualizations without need of programming skills, which has been using by Wikimedia Engineering so far. This might not be the exact thing that we were looking for, but I decided to play with this, as a start - because:
  • This is what we have been using so far, so let's get deep into that to analyse the Whys and Hows.

  • Even if we do not choose to use this any way, we should be having a fair idea of the reason behind it.

  • Limn has got wonderful developers like Dan, who was kind enough to sit with me for a meeting over hangout and we discussed several parts of it.  

So, I have a few observations and concerns that came to mind while playing around with the code and the dashboards. What we wanted to look at first was some JavaScript libraries - this isn't really one. But I have been thinking about if coco (the language which Limn was built upon) is also an option to think about:

  • Limn is written in coco - 'a CoffeeScript dialect that aims to be more radical and practical. But, not many people are contributing to the language right now - which is not a very good sign, maybe. Which could be a bit of a risk.

  • This could also be a bit weird for the new contributors, to start from a new language. Although I have tried it and it did not seem to be a very impossible job to do. There are also plugins like vim-coco, which could come handy. Still, there remains a bit of a risk.

These are just my concerns. Also, I need to get a better picture of our requirements - which I shall get shortly, I suppose - to dive into some more libraries ( maybe, JavaScript this time, d3 to be specific.)


Update - jQuery Milkshake Libraries:

A bug triage-cum-overall meeting was planned with Runa, this week. We talked
about the above mentioned concerns, and the next few steps. She pointed me to a couple useful links like:
  • A very beautiful chart of the current scenario of all the bugs that are present in Language Engineering.
  • We are going to meet up again sometime soon (maybe, just tomorrow :)) to find out if there's something that I could possibly triage/get assigned to in jQuery Milkshake Libraries.

Looking forward to a busier week!


Saturday, July 6, 2013

On Freedom

This is more like making a transcript of two very interesting conversations - one over phone call and the other over Google chat. The one over Google chat happened earlier - musician friend who's doing his music studies in Berklee, (the very royal Music School we all know of) suddenly starts an argument asking 'Why this insistence on Open Source, at all'. My usual instincts naturally turned it into a conflict, where I was putting much effort in explaining how it is much important to provide people with the four basic freedoms Free Software is concerned about. At one point he said, "Yes, but isn't it a bit insane? It's like saying that Clapton is an evil musician if he doesn't, with all his cds, give separate tracks for everyone to mix and listen the way they want!" Well, it would actually be a little insane if he did so. We left the conversation there - I had to run to catch my flight back to India. A week later I was talking to my other friend over phone and we somehow came to the same argument in a slightly different mode - this friend of mine has been an Open Source contributor/ enthusiast for a long time now, currently doing quite a bit of very cool things in MIT (apparently getting a PhD degree there). If you are wondering, yes I am blessed with many cool friends. He quoted his colleague Brian, whose view is - 'You can write a software in two ways. You can write it as a piece of work or you can write it as a piece of art.' If you are writing it as a piece of art, you might want to have your identity protected. Here's where I was reminded of my conversation with Salil. An artiste might not want his creation to lose the identity of his own self that is obviously very attached with that particular piece of art. So, that sort of saves us from the sin of calling the great Clapton evil. (I love him!) But what I would still be believing is - every individual should  have the right to study the source and also to share it. Modifying a software in some random ways or even sometimes in some apparent organized way might be for no good. The creator has the right to protect it if he has to, I believe. Even if it does involve taking away the freedom to modify, from the users. It does not make the developer evil. It makes him an individual who wants his identity to be preserved in his piece of art, for good.

Wednesday, May 8, 2013

পঁচিশে বৈশাখ না মাথা!

অনেক হলো বাপু, এসব পঁচিশে বৈশাখ ফৈশাখে মাচা বানিয়ে বেসুরো গান টান গুলো এবারে আইন করে বন্ধ করা উচিত। শুধু তাই কেন, অনুষ্ঠান চ্যানেল গুলোতেও ক্যাবলাকান্ত সঞ্চালককে ধুতি পরিয়ে, পাউডার মাখিয়ে, স্ক্রিপ্ট ধরিয়ে বসানোটা  ঠিক না। বেচারা কথায় কথায় রবিঠাকুরের এদিক সেদিক কথার তাৎপর্য বিশ্লেষণ করতে গিয়ে ঘেমে নেয়ে একসা! ছুটির দিন, কোথায় একটু মাংসভাত খেয়ে দুপুর বেলা পাশবালিশ জড়িয়ে বিউটি স্লিপ দিয়ে, বিকেল বেলা হাপপ্যান্টু পরা আঁতেল সেজে সাউথ সিটিতে আইসক্রিম খেতে যাবে। তা না! এমনিতেই তো রবীন্দ্রনাথ ছোটবেলা থেকে কম ঝামেলা করেনি। আষাঢ মাসে 'যাসনে ঘরের বাহিরে' বলে caution-বাণী, আবার শ্রাবণেই দেখো 'মন দুলছে অকারণ হরষে' - ভাব সম্প্রসারণ লিখতে লিখতে মগজ ডিপ ফ্রাইড। এট্টু কলেজ গন্ডিতে এসে যখন প্রেমে হাবুডুবু, এদিকে ওদিক থেকে সিগনাল থেকেও নেই -  'আরে এত ভ্যানতারা করার কি আছে , তোমার কপালে আমিই নাচ্ছি' বলে ল্যাটা চোকাতে ইচ্ছে করছে, তখন আদতে sms করতে হচ্ছে 'আমার পরান যাহা চায়, তুমি তাই '। মানে, কি ন্যাকামো মাইরি! ছোটবেলা বেলা থেকে এত রোমান্টিক পদ্য শেখালো বুড়ো, এট্টু ট্রিবিউট না হইলে চলে? হতচ্ছাড়া ঢপবাজ প্রেমিক অনেক খেলা দেখিয়ে ফাইনালি বিদায় নিলে, রেগে বলার উপায় নেই - 'যাক বাবা আপদ গেছে, বাঁচা গেছে'। নাঃ ! চোখ লাল করে, সিগেরেট ধরিয়ে বলতে হবে 'তোমার লাগি অঙ্গ ভরি করব না আর সাজ, নাই বা তুমি ফিরে এলে ওগো হৃদয়রাজ!' পাশের বাড়ির মঞ্জু কাকিমার সাথে, ওর অফিসের কোন এক কলিগের কিসব চলছে, কিন্তু মন দেওয়ার যো আছে? এখনো কাদমম্বরীর দিস্তে দিস্তে গোপন চিঠি বাজারে আসছে। ঐদিকটা ছাড়া যায়? আমি এসব দিক থেকে ছোট্টবেলা থেকেই হেব্বি স্মার্ট ছিলাম। কারোর দয়ার আশায় বসে না থেকে, নিজেই রবীন্দ্রসঙ্গীত লিখতে আরম্ভ করে দিয়েছিলাম। বছর পাঁচেক বয়সে অমন খাঁটি মার্কেটিং strategy কে মাথায় ঢুকিয়েছিল কে জানে!

রবীন্দ্রনাথ কে মাঝে মাঝে ভুলে যাওয়াটা দরকার। তাই এরপর যখন ট্রেনের জানলা দিয়ে বাইরে সবুজ, ওপরে নীল  দেখতে গিয়ে চোখ আটকাবে, আর কিছু একটা বিড়বিড় করতে গিয়ে দুম করে গুনগুন করে উঠব - "নীল আকাশে কে ভাসালে, সাদা মেঘের ভেলা রে ভাই, লুকোচুরির খেলা" - কাউকে শোনানোর জন্য নয়, স্রেফ আর কিছু গাইলে এত আরাম পাওয়া যাবে না বলে, তখনই তৈরি হবে কোনো মুহূর্ত, বা অনন্তকাল। যেভাবে হারিয়ে যাওয়া কাছের মানুষকে মনে পড়ে, যেভাবে অনেকদিন না গাওয়া প্রিয় গান মনে পড়ে, সেভাবেই। সহজে।