গাছ ১০১
বিষয়টা সহজ নয়, তাই আগেই কিছু ব্যাকগ্রাউন্ড স্টাডি করে নেব। প্রথম বিষয় হচ্ছে গাছ বা ট্রি। কম্পিউটার সায়েন্স এবং ভূততত্ত্বে গাছের ভূমিকা অপরিসীম। কে না জানে মামদো ভূত থেকে শুরু করে কুলো ভূত সবাই কোন না কোন গাছে বসবাস করে। তবে ফ্যাশন সচেতন হওয়ায় মহিলা ভূত অর্থাৎ পেত্নীদের পছন্দের গাছ হচ্ছে শেওড়া গাছ। অন্য দিকে কম্পিউটার বিজ্ঞানীরা তাদের সহায় সম্বল অর্থাৎ তথ্য লুকানোর জন্য গাছ ব্যবহার করেন। তারা তথ্য রাখেন গাছের কান্ড যেখানেই ভাগ হয়ে নতুন শাখার জন্ম দিয়েছে সেখানে কিংবা গাছের পাতায়। ডালগুলোকে অবশ্য তারা তেমন ঘাটান না, মাঝে মাঝে রঙ করা ছাড়া।
নীচে তিনটি গাছের ছবি দেখতে পাচ্ছি। প্রথম গাছটি নিঃসন্দেহে ভূতেদের পছন্দের হবে, তবে কম্পিউটার সায়েন্টিস্টদের তেমন পছন্দের না; কারণ তাদের সম্পত্তি অসুষম ভাবে সঞ্চিত হচ্ছে। দ্বিতীয় ছবিটি নিয়ে ভূতেদের তেমন অভিযোগ থাকবে না, তার উপর পাতা-টাতা সহ একটু প্রাইভেসিও আছে। এই ধরণের গাছে চড়তে কম্পুবিদেরাও স্বস্তিবোধ করেন, সুষম সম্পদ ব্যবস্থাপনার জন্য। তৃতীয় গাছটি হচ্ছে জাদু গাছ(), এটি নিজেই নিজেকে ক্রমাগত ব্যালেন্স করতে সক্ষম। বলাই বাহুল্য, এই গাছ কম্পুবিদদের কাছে বিশাল হার্টথ্রব। নানা ধরণের জাদুগাছ পাওয়া যায়, স্প্লে ট্রি, লাল-কালো ট্রি ইত্যাদি ইত্যাদি।
Unbalanced Tree
রহস্য
যাই হোক! একটা অ্যালগরিদম ইমপ্লিমেন্ট করছি, তাতে এই জাদুগাছ ব্যবহার করা দরকার। এর যেসকল জাদু ক্ষমতা আছে, তাতে অবশ্য কাজ হবে না, তাতে আরো কিছু জিনিস যোগ করতে হবে। তাই ইন্টারনেট ঘেটে একটা কাজ চলতি স্প্লে ট্রি এর কোড নামিয়ে তার উপর ট্রি-সার্জারি শুরু করলাম। নিজের কাজে মোটামুটি সন্তুষ্ট হয়ে মুখ থেকে মাস্ক আর হাত থেকে গ্লাভস খুলে, দুঃখিত, কীবোর্ড থেকে হাত সরিয়ে কিছুক্ষণ উদাস মুখে বসে থাকলাম। কম্পিউটারে একটা প্রোগ্রাম লিখে চালাতে গেলে সাধারণত একটা মেইন ফাংশনের ভেতরে কোড লিখতে হয়, ছুটা কাজের জন্য মেইন ফাংশনের ভেতর থেকে আবার কোন ছুটা ফাংশনকে ডাকতে হয়। যখনি কোন ছুটা ফাংশনকে ডাকা হয়, প্রোগ্রামের নিয়ন্ত্রণ ওই ছুটা ফাংশনের ভেতরে চলে যায়। কাজ শেষ হয়ে গেলে নিয়ন্ত্রণ মেইন ফাংশনের কাছে ফিরে আসে, সেই সাথে ছুটা ফাংশনের মৃত্যুও ঘটে। একবার মেইনের কাছে ফিরে এলে আর কোন ট্যাঁফোঁ নেই। অবশ্য ছুটা ফাংশনেরো আবার অন্য ছুটা ফাংশনকে ডাকার দরকার হতে পারে।
ঘাড়ের উপর ওত পেতে থাকা ডেডলাইন আর অ্যাডভাইজর নিয়ে বেশিক্ষণ উদাসমুখে থাকা যায় না, তাই আবার মনিটরে চোখ আর কীবোর্ডে হাত নিয়ে এলাম। রোগীর সার্জারী উত্তর অবস্থা পর্যবেক্ষণ করার জন্য মেইন ফাংশন থেকে স্প্লে ট্রি এর কয়েকটা কপি তৈরী করে, একটা ট্রি এর একটা ফাংশনকে কল দিলাম। সেই ফাংশনের কাজ হচ্ছে, "আয়্যাম হিয়ার" বলা। তারপর শ্রেণীবৈষম্যের অমোঘ নিয়ম মেনে মরে গিয়ে মেইনের কাছে কন্ট্রোল ফিরিয়ে দেয়া। আর তখনি, অদ্ভূত ব্যাপার ঘটতে থাকল। কনসোলে কয়েকবার "আয়্যাম হিয়ার" লিখা, তারপর প্রোগ্রাম হ্যাং। বেয়াদবীতে একটু চটে গেলাম, ব্যাটা একবার মাত্র ডেকেছি, একবার জবাব দিবি, তারপর চুপচাপ মরে গিয়ে বসের কাছে কন্ট্রোল ফিরিয়ে দিবি।
ব্যাপারটা গভীর তদন্ত করে দেখার জন্য মেইনের ভিতর ওই ফাংশন কলের কোডের নীচে যেখানে কন্ট্রোল ফিরে আসার কথা এবং তারপর খোদ মেইনেরই শুন্যে মিলিয়ে যাওয়ার কথা, সেখানে "রিটার্নড টু মেইন" লিখার কোড লিখে দিলাম। এবার রান করার পর একবার "আয়্যাম হিয়ার" এর পরে একবার "রিটার্নড টু মেইন" লিখা। ঠিক যেমনটা চাই, কিন্তু এখানেই শেষ না, তারপর আবারো কয়েক লাইন জুড়ে "আয়্যাম হিয়ার"! অর্থাৎ মেইনে ফিরে আসার পর ওই ফাংশন নিজে থেকেই জীবিত হয়ে তার অস্তিত্বের জানান দিয়ে যাচ্ছে! পিচ্চি থাকতে একটা দুর্দর্ষ ডাইনীর গল্প পড়েছিলাম, যেখানে ওই ডাইনীকে মেরে হাজার হাজার হাত মাটির নীচে পুঁতে দিলেও সে পরদিন দাঁত বের করে লোকালয়ে হাজির। এই পুচকে ফাংশনও দেখি একি কাজ শুরু করেছে।
ভয় পেয়ে ওই ফাংশনকে ডাকার কোডই মুছে দিলাম। কিন্তু ঘটনা ভয়াবহ, আবারো কনসোল জুড়ে "আয়্যাম হিয়ার"! কট্টর নাস্তিক আমি, মারধোর খাওয়ার ভয় না থাকলে সেটা বড় গলায় বলেও বেড়াই। কিন্তু এই ভুতুড়ে ঘটনার মুখোমুখি হয়ে নিজেই সন্দেহে পড়ে গেলাম নিজের বিশ্বাস নিয়ে। কয়েক মিনিট আত্মবীক্ষণের পরে অবশ্য সিদ্ধান্তে আসলাম ঈশ্বর থাকার কোন প্রমাণ নাহয় নেই, কিন্তু ভূতের ব্যাপারেতো একই কথা বলা যায় না। ঠাকুমার ঝুলি, দ্যা রিং, জাফর ইকবাল স্যারের প্রেত এতকিছু এমনি এমনি তৈরী হত না, যদি ভূত সত্যিই না থাকত। এমন অকাট্য যুক্তির মুখোমুখি হয়ে আমি ভূতবিশ্বাসী হয়ে গেলাম।
ভূতগ্রস্থ কোড দিয়েতো আর জীবন চলে না, তাই ভূত তাড়ানোর জন্য নানা তুকতাক শুরু করলাম। কয়েক ঘন্টার ডিবাগিং শেষে সিদ্ধান্ত নিলাম, ইন্টারনেট থেকে সংগ্রহ করা গাছেই হয়ত ভূত ছিলো। হতোদ্যম হয়ে মেইন থেকে গাছ তৈরী করার কোড মুছে দেয়া মাত্র, ভূত হাওয়া। কিন্তু আমার যে একটা গাছ লাগবেই! এমন সময় দৃশ্যপটে হাজির আমার অফিসমেট আরাম। তার সাহায্যে, এই ভূতের রহস্যের একটা কিনারা হয়।
রহস্য ভঞ্জন
ওওপি বলে একটা জিনিস আছে, যেখানে কোড থেকে কোন বস্তু তৈরী করতে হয়। কোন বস্তু তৈরীর জন্য কোডে তার কনস্ট্রাকটর থাকতে হয়। কম্পিউটার সায়েন্সের কোন কিছু না জেনেও কোন মহিষী বলে গেছেন, “জন্মিলে মরিতে হয়”। আর তাই প্রতি অবজেক্ট তৈরীর কোডে একটা অংশ থাকে ডেস্ট্রাক্টর। সোজা হিসাব, যার সৃষ্টি(কনস্ট্রাকশন) আছে, তার ধ্বংসও(ডেস্ট্রাকশন) আছে। আমি যখনি মেইন ফাংশনের ভেতরে আমার সার্জারি করা কোড থেকে গাছের অবজেক্ট তৈরী করছিলাম, তাদের কনস্ট্রাকটর কল হচ্ছিল। সেটা সমস্যা না। মেইন ফাংশন শুন্যে হারিয়ে যাওয়ার আগে তার ভেতর তৈরী করা সব অবজেক্টকে ধ্বংস করে দিয়ে যায়, আর এ কাজে প্রতিটা অবজেক্টের ডেস্ট্রাক্টরকে ডাকা হয়। আমার তৈরী করা গাছগুলোর ডেস্ট্রাক্টর আবার “আয়্যাম হিয়ার” বলনেওলা ফাংশনকেও ডাকছিলো কোন ডায়িং উইশ পূরণ করার জন্য হয়ত। আর তাতেই, কন্ট্রোল মেইন ফাংশনে ফিরে আসার পরেও “আয়্যাম হিয়ার” বলা বন্ধ হয়নি। আর হ্যাং হয়ে যাওয়ার জন্য আমার সার্জারি দায়ী।
পাদটীকাঃ
১। সময় নষ্ট করে পড়ার পরেও বুঝতে না পারলে ব্লগারকে পিটাতে চাইলে হবে না।
২। ছবিগুলো "ইন্টারনেট থেকে সংগৃহীত", তবে এখন লিংক দিতে ইচ্ছা করছে না। পরে যোগ করে দিচ্ছি।
২। ছবিসূত্রঃ ১, ২, ৩, ৪
মন্তব্য
সমঝদার লোকের সামনে জ্ঞানের আলাপ করেও শান্তি
---
মানুষ তার স্বপ্নের সমান বড়
সহজ করেই লেখা, তবুও মাথাডা চক্কর দিয়া ওঠলো, বোজ্জো মনু।
------------------------------------------------------------------
এই জীবনে ভুল না করাই সবচেয়ে বড় ভুল
যদি ক্লকওয়াইজ চক্কর দিয়ে থাকে, এবার কাউন্টার-ক্লকওয়াইজ খানিকটা পাক দিয়ে নিন।
---
মানুষ তার স্বপ্নের সমান বড়
মনে হচ্ছে কপি কনস্ট্রাকটর ছিলোনা। আর ফাংশনগুলো থেকে অবজেক্ট রিটার্ন করা হচ্ছিলো (রেফারেন্স রিটার্ন না করে)।
ইনভ্যালিড মেমরি অ্যাক্সেস এর জন্য এরর হচ্ছিলো। সো, আপনার বলা দুইটা ব্যাপারই শক্ত প্রতিদ্বন্ধি, তবে কপি কনস্ট্রাকটর ছিল। ওদের ডেস্ট্রাক্টরে মেমরি ডিএলোকেট করার জন্য একটা ফাংশন ছিল, যেটা নিয়ে তাদেরই ওয়ার্নিং ছিল "নট সেইফ"। বড় ইনপুট নিয়ে কাজ শুরু করার সময় ওটা ঠিক করতে হবে, হয়ত অবজেক্ট রিটার্ন করা কোন ফাংশন থেকে থাকতে পারে।
---
মানুষ তার স্বপ্নের সমান বড়
সজলের কম্প্রিহেন্সিভ হয়ে গেছে নাকি? পোস্ট দেখে বোঝা যাচ্ছে, পিএইচডি স্টুডেন্ট
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
একজীবনের অপূর্ণ সাধ মেটাতে চাই
আরেক জীবন, চতুর্দিকের সর্বব্যাপী জীবন্ত সুখ
সবকিছুতে আমার একটা হিস্যা তো চাই
পিএইচডি করছি না, ওই পাট শেষ। অনেকদিন আঁতলামি করি না, তাই আর কি এই ব্লগ
---
মানুষ তার স্বপ্নের সমান বড়
বুঝলাম না! পিএইচডি কর না মানে কি??
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
একজীবনের অপূর্ণ সাধ মেটাতে চাই
আরেক জীবন, চতুর্দিকের সর্বব্যাপী জীবন্ত সুখ
সবকিছুতে আমার একটা হিস্যা তো চাই
হা হা হা কন্সট্রাকটর ডেস্ট্রাকটর এর ভুত! ভালো লাগল-প্রোগ্রামিং একদম ভুলে গেছি দেখছি!
যখন ইয়াং ছিলাম, প্রোগ্রামিং ভালোই লাগত। এখন সামান্য জিনিসও এত ভোগায়!
---
মানুষ তার স্বপ্নের সমান বড়
ভূত, দর্শন আর জীববিজ্ঞান মিলিয়ে কম্পিউটার সায়েন্সের এক নতুন দিগন্ত উন্মোচন করলনে আপনি।
তবে সেলফ ব্যালান্সড ট্রি এর ছবিটা সত্যিই দারুন।
আমার ডেটা স্ট্রাকচার বইতে কেন যে এরকম একটা ছবি ছিল না!
এই ছবিটা দেখে আমারো বেশ দারুণ লেগেছিল, তাই খুঁজে পেতে জুড়ে দিলাম। আর হাচল হওয়ার জন্য অভিনন্দন!
---
মানুষ তার স্বপ্নের সমান বড়
ছবিটা সত্যিই দারুন।
আর অভিনন্দন এর জন্যে অনেক ধন্যবাদ ।
পুরাই কবিতা হইসে। প্রতিটা শব্দের অর্থ জানি কিন্তু সব মিলে কী হইলো বুঝলাম না !
এই প্রথম আমার কোন লেখারে কবিতা বলল। আবেগে ইমোশনাল হয়ে গেলাম
---
মানুষ তার স্বপ্নের সমান বড়
------------------------------------------------------------------
এই জীবনে ভুল না করাই সবচেয়ে বড় ভুল
দারুণ পোস্ট।
ধন্যবাদ অনিন্দ্য।
(এই যে আরেক জন সমঝদার, দেখেন বাকিরা!)
---
মানুষ তার স্বপ্নের সমান বড়
এ তো জলবৎ তরলং!
------------------------------------------------------------------------------------------------------------------------
আমি এক গভীরভাবে অচল মানুষ
হয়তো এই নবীন শতাব্দীতে
নক্ষত্রের নিচে।
হুম, কথায় বলে জলের তিন অবস্থা এই ব্লগ পড়ার পেইন নেয়ার জন্য আন্তরিক ধন্যবাদ
---
মানুষ তার স্বপ্নের সমান বড়
ধন্যবাদ ভালো মানুষ
---
মানুষ তার স্বপ্নের সমান বড়
আমার কাছে সাই-ফাই গল্পের মতো লাগসে, যার কিছু কিছু ব্যাপার একেবারেই বুঝি না।
...........................
একটি নিমেষ ধরতে চেয়ে আমার এমন কাঙালপনা
আসলে তুলনামূলক নতুন জঁনরা তো, তাই সবার বুঝতে একটু সমস্যা হচ্ছে। যখন বিজ্ঞানভিত্তিক ভূতের গল্প জনপ্রিয় হবে, তখন আর কঠিন লাগবে না। ততদিন একটু ধৈর্য্য ধরেন।
---
মানুষ তার স্বপ্নের সমান বড়
ওরে, কেউ আমায় জলবাতাস কর। মাথাটা কেমন করে উঠল।
----------------
স্বপ্ন হোক শক্তি
আগেই বলেছিলাম ঠাম্মি, বুড়োবয়সে এতো ধকল তোমার সইবে না, তা আমার কথা শুনলে তো। বোঝো এখন।
------------------------------------------------------------------
এই জীবনে ভুল না করাই সবচেয়ে বড় ভুল
এই কম্পিউটার সায়েন্স বিমুখ জাতির হেদায়েতের জন্য একটা কম্পিউটার প্রোগ্রামিং বিষয়ক সিরিজ শুরু করব ভাবছি। আমিতো শুনেছিলাম তোমার বয়সের গাছ পাথর নেই, ডায়নোসরের বিলুপ্তি থেকে দ্বিতীয় বিশ্বযুদ্ধ সবই তোমার চোখের সামনে ঘটল। তা সহ্য করে টিকে গেলে, আর এই সামান্য ব্লগে একেবারে মাথা ঘুরিয়ে দিল!
---
মানুষ তার স্বপ্নের সমান বড়
জটিল, দাদা!!!
_____________________
Give Her Freedom!
---
মানুষ তার স্বপ্নের সমান বড়
যারা ইন্টারনেট থেকে লেখা ও ছবি কপি করবে অথচ রেফারেন্স দিবেনা তাদেরকে কোপানোর জন্য একটা রামদা'র ছবিওয়ালা ইমো দাবী করছি।
পূর্ণ সহমত প্রকাশ করছি। এবং এই ক্ষেত্রে সিনিয়রিটি অনুসারে ব্যবস্থা নেয়ার দাবীও জানাচ্ছি
---
মানুষ তার স্বপ্নের সমান বড়
নতুন মন্তব্য করুন