|BLOG

মার্গারেট হ্যামিলটনঃ চন্দ্রবিজয়ের প্রোগ্রামার

Image source-wired.com

 

চার বছর বয়সের ছোট্ট লরেন তার মায়ের অফিসের জানালা দিয়ে চালর্স নদী দেখতে দেখতে এক সময় ক্লান্ত হয়ে ঘুমিয়ে পড়লো। একটু দূরেই তার মা হ্যামিলটন এক নাগাড়ে কাজ করে চলেছে। পৃথিবীর কোন দিকেই তার খেয়াল নেই। সে ডুবে আছে প্রোগ্রামিংয়ের এক রহস্যময়, মোহময় জগতে। সময়টা ১৯৬০ এবং মার্গারেট হ্যামিলটনের উপর দায়িত্ব ছিলো ৭০ পাউন্ড ওজনের পৃথিবীর প্রথম বহনযোগ্য কম্পিউটারের জন্য প্রোগ্রাম লেখা, যা কিছুদিন পরেই ‘এ্যপোলো ১১’ মহাকাশযানকে চাঁদের বুকে অবতরণে পথ দেখাবে।

২০ জুলাই, ১৯৬৯। MIT এবং NASA তে অপেক্ষার প্রহর গুনছে সবাই। আর মাত্র তিন মিনিট পরেই এ্যপোলো ১১ এর লুনার মডিউল ‘ঈগল’ চাঁদের বুকে অবতরণ করবে। পৃথিবীর মানুষ ইতিহাস গড়তে চলেছে। রুপকথার চন্দ্র বিজয় আজ সত্যি হবে। আর মাত্র তিন মিনিট বাকি সে মাহেন্দ্রক্ষণের। হঠাৎ করেই অভিযানে মহাকাশযানের নেভিগেশন এবং ল্যান্ডিং এর দায়িত্বে থাকা একাধিক কম্পিউটার বেঁকে বসলো।  তারা বার বার error সংকেত দিতে লাগলো। কি হলো? এতো কষ্ট করে কি তীরে এসে তরী ডুবতে বসলো? এই চরম মুহূর্তে কম্পিউটার ছাড়া যেমন চাঁদে নামা সম্ভব না, তেমনি মহাকাশচারীরাও পৃথিবীতে ফিরে আসতে পারবে না। নাহ। শেষ পর্যন্ত মার্গারেট হ্যামিলটনের তৈরী সফটওয়্যার সকল উৎকন্ঠাকে দূরে ঠেলে দিয়ে ‘ঈগল’কে সফলভাবে চাঁদের মাটিতে অবতরণ করিয়েছে।

সমস্যাটা শুরু হয় যখন অভিযানের একজন ক্রু ভুল করে rendezvous radar system চালু করে দেয়। এটি মূল অবতরণের সাথে সম্পর্কিত নয় এমন সব অপ্রয়োজীয় তথ্য কম্পিউটারে পাঠাতে শুরু করে।  কম্পিউটারগুলোর উপর প্রায় ১৫% বেশি লোড পড়ে যায় এবং তারা error সিগন্যাল দিতে শুরু করে। কিন্তু হ্যামিলটন সফটওয়্যার তৈরী করার সময় তাতে asynchronous executive ব্যাপারটা জুড়ে দিয়েছিলেন। তাতে হলো কি, সফটওয়্যারের উপর যখন বেশি লোড পড়ে যায়, সে তখন কাজগুলোকে যাচাই-বাছাই করে শুধুমাত্র গুরুত্বপূর্ণ কাজটিই সম্পাদন করে। সেই সাথে অন্য কাজগুলোকে বাতিল করে দেয়। অভিযানের সময় মহাকাশযানকে চন্দ্র পৃষ্ঠে অবতরণ করানোই ছিলো কম্পিউটারের কাছে সবচেয়ে গুরুত্বপূর্ণ কাজ। ফলে রাডার থেকে আসা তথ্যগুলো বাদ দিয়ে সে নভোচারীদের ল্যান্ডিং এর বিষয়টাকেই প্রাধান্য দেয়। ধন্যবাদ হ্যামিলটনকে। তার অবদান ছাড়া চন্দ্রজয়ের ইতিহাস হয়তো অন্যভাবে লেখা হতো।

গণিতে গ্রাজুয়েশন শেষ করে ব্রান্ডেই বিশ্ববিদ্যালয়ে অ্যাবস্ট্রাক্ট ম্যাথমেটিকস এর উপর পড়াশুনার জন্য তার স্বামীর সাথে হ্যামিলটন ম্যাসাচুসেটস এর চলে আসেন। কিন্তু তার স্বামী তখন হার্ভাডে আইন নিয়ে পড়াশুনা করছিলেন। দুজন একসাথে বিশ্ববিদ্যালয়ে গেলে সংসার চলবে কি করে? ভেবে-চিন্তে দু’জন মিলে একটা বুদ্ধি বের করে ফেলেন। হ্যামিলটনের স্বামী যখন পড়াশুনা করবে সে সময়টায় হ্যামিলটন চাকুরি করবে। আবার তার স্বামী যখন পড়াশুনা শেষ করে চাকুরিতে ঢুকবে হ্যামিলটন তখন পড়াশুনায় ফিরে যাবে। যুক্তি অনুযায়ী হ্যামিলটন MIT Instrument Lab এ প্রোগ্রামার হিসেবে চাকুরিতে যোগ দেয়। সেসময় তার কাজ ছিলো LGP-30 এবং PDP-1  কম্পিউটারে আবহাওয়ার পূর্বাভাসের জন্য সফটওয়্যার তৈরী করা। এখান থেকেই মার্গারেট হ্যামিলটনের গল্পটা শুরু। এরপরতো স্বপ্নের মতো ইতিহাস তৈরী করার দিন। তার হাত ধরেই পৃথিবী প্রবেশ করেছে সফটওয়্যার নির্ভর সভ্যতার নতুন অধ্যায়ে। শুনে হয়তো আপনি অবাক হবেন, আজকের এই ক্ষমতাধর সফটওয়্যার প্রযুক্তির ‘জনক’ (নাকি ‘জননী’!) হলেন আসলে একজন ‘নারী’। Margaret Heafield Hamilton.

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

Margaret Hamilton

Margaret Hamilton working on the Apollo project / NASA

তারা কাজ করতে করতে শিখতো। হাতে-কলমে শেখা আরকি। অথচ হ্যামিলটন এবং ৪০০ সহকর্মীর দল এমন স্পর্শকাতর বিষয় নিয়ে কাজ করছিলেন যার উপর নির্ভর ছিলো আমেরিকার মহাকাশ বিজয়। এ্যপোলো ১১ মিশনের On-board landing এর জন্য সফটওয়্যার তৈরীর দায়িত্বে থাকা হ্যামিলটন তার কাজ নিয়ে এতোটাই সচেতন ছিলেন যে একবার গভীর রাতে এক পার্টিতে থাকা অবস্থায় তার মনে হয় তার প্রোগ্রামে একটি ভুল আছে। সে সময়ই ল্যাবে ছুটে গিয়ে তিনি তার ভুল ঠিক করে নেন। সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো, সে সময় তারা সফটওয়্যার ইঞ্জিনিয়ারিং নামক যে চারা গাছ লালন-পালন করছিলেন, তা আজ 400 বিলিয়ন ডলারের এক বিরাট শিল্পে পরিণত হয়েছে। আর এর পেছনে মূল অবদান ছিলো তার।

হ্যামিলটনের জন্য দ্বিতীয় সমস্যা ছিলো, তিনি একজন নারী। ষাটের দশকে খুব কম সংখ্যক নারীই টেকনিক্যাল কাজগুলো করতো। সেখানে সফটওয়্যার ইঞ্জিনিয়ারিং এর মতো নবীন বিষয়ে কাজ শুরু করাটা ছিলো রীতিমতো দু:সাহসিক। ১৯৬০ এ তিনি প্রথম আবহাওয়ার পূর্বাভাস এর জন্য প্রোগ্রাম তৈরী করেন। এরপর ১৯৬১ থেকে ১৯৬৩ সময়ে Lincoln Labs এর SAGE Project এ কাজ করেন যার কাজ ছিলো আকাশে শত্রুপক্ষের এয়ারক্রাফট শনাক্ত করার জন্য সফটওয়্যার তৈরী করা। এই সময়ে তিনি Air Force Cambridge Research Laboratories এর জন্যও সফটওয়্যার ডেভলপ করেন।

এরপর MIT এর Charles Stark Draper Laboratory তে যোগ দেন। সে সময় এই ল্যাব এ্যপোলো ১১ প্রকল্পের সাথে জড়িত ছিলো। একসময় হ্যামিল্টন এ্যপোলো ১১ মিশনের সফটওয়্যার প্রোগ্রামিং এবং স্কাইল্যাবের পরিচালক ও তত্ত্বাবধায়কের দায়িত্ব গ্রহন করেন। তার তৈরী সফটওয়্যারের মূল কাজ ছিলো এ্যপোলো ১১ কে পথ দেখিয়ে চাঁদের কক্ষপথে নিয়ে যাওয়া এবং চাঁদের পৃষ্ঠে অবতরণ করানো। এই সফটওয়্যার চন্দ্র অভিযান ছাড়াও পরবর্তীতে অনেক মহাকাশ অভিযানে ব্যবহার করা হয়েছে। ১৯৮৬ সালে NASA’র জন্য তৈরী করা Universal System Language কে আরো বিকশিত করার লক্ষ্যে নিজে Hamilton Technologies নামে প্রতিষ্ঠান গড়ে তোলেন যার লক্ষ্য ছিলো সফটওয়্যারকে আরো নিখুঁত, সহজে ডেভলপযোগ্য এবং সহজলভ্য করা। একজন সফল প্রোগ্রামার থেকে একজন সফল ব্যবসা উদ্যোক্তা, কোন কিছুতেই তার ‘নারী’ পরিচয় তাকে আটকে রাখতে পারেনি।

Margaret_Hamilton

Margaret Hamilton with the Apolo 11 code listings / NASA

এখন আমরা যেমন খুব সহজেই কোড লিখে লিখে প্রোগ্রাম তৈরী করে ফেলি, সে সময়টায় কিন্তু তেমন ছিলো না। হ্যামিলটনদের জন্য প্রোগ্রাম তৈরী করা মানে ছিলো একগাদা পাঞ্চ কার্ডের মধ্যে ছিদ্র তৈরী করে করে কোড লিখা। এরপর বিশাল Honeywell mainframe কম্পিউটার সেগুলো সারা রাত ধরে প্রসেস করে এ্যপোলো ১১’র ল্যান্ডিং এর সিমুলেশন তৈরী করতো। যখন কোডগুলো সঠিক হতো, তখন সেগুলো Raytheon facility তে পাঠিয়ে দেয়া হতো। একদল মহিলা যারা সেখানে Little Old Ladies নামে পরিচিত ছিলো, কোড অনুযায়ী ম্যাগনেটিক রিং এর মধ্যে কপারের তার জুড়ে দিতো। ম্যাগনেটিক রিং এর মধ্য দিয়ে কপার তার প্যাচানো হলে তার মান ধরা হতো ‘১’, আর কপার তার যদি রিং এর চারপাশে প্যাচিয়ে লাগানো হতো তার মান ধরা হতো ‘০’। এভাবেই তৈরী করা হয়েছিল এ্যপোলো ১১ এর মেমোরি। পার্মানেন্ট মেরোরিতে ছিলো ১২,০০০ এর মতো শব্দ আর টেম্পোরারি মেমোরিতে ছিলো ১০২৪ শব্দ। ভাবতে অবাক লাগছে না? আমরা যারা এই সময়ে RAM আর disk drive ব্যবহার করি, তাদের জন্য কপার তার আর ম্যাগনেটিং রিং এর মেমোরির কথা চিন্তা করাটাও কঠিন।

‘সফটওয়্যার ইঞ্জিনিয়ারিং’ শব্দটা কিন্তু প্রথম মার্গারেট হ্যামিলটনই প্রচলন করেন। আসলে সফটওয়্যারের বর্তমান অবস্থানের সূতিকাগার তার হাতেই তৈরী। তার অসামান্য কিছু কাজের মধ্যে আছে  asynchronous software, priority scheduling, end-to-end testing, and human-in-the-loop decision capability এর ধারণা নিয়ে কাজ, যা সে সময়ে সফটওয়্যারকে এক নির্ভরযোগ্য উপাদান হিসেবে প্রতিষ্ঠিত করেছে। ১৯৭০ এ তিনি NASA ছেড়ে গিয়ে একাধিক সফটওয়্যার কোম্পানী প্রতিষ্ঠায় ভূমিকা রাখেন। তার নিজের Hamilton Technologies Inc. তার প্রথম কর্মস্থল MIT থেকে মাত্র কয়েক ব্লক দূরে। কাজের স্বীকৃতি হিসেবে Augusta Ada Lovelace Award, NASA Exceptional Space Act Award সহ অসংখ্য পুরুস্কার অর্জন করেন।

হ্যামিলটনের শেষ পর্যন্ত কিন্তু গ্রাজুয়েশন করা হয়নি। তার মানে হলো তার খুব বড় কোন সার্টিফিকেট ছিলো না। কিন্তু তার ইচ্ছের শক্তি ছিলো অনেক বড়। প্রোগ্রাম লিখার সময় তার ছোট্ট মেয়ে লরেন যখন ক্লান্ত হয়ে ঘুমিয়ে পড়তো, তখন অনেকেই অবাক হয়ে তাকে প্রশ্ন করতো, কিভাবে তুমি তোমার মেয়ে থেকে দূরে থাকো? তিনি উত্তর দিতেন, “আমি আমার কাজের রহস্যকে, মহত্বকে ভালোবাসি।“

বর্তমানের সফটওয়্যার নির্ভর সভ্যতার এক অন্যতম কারিগর মার্গারেট হ্যামিলটন। ৭৯ বছর বয়েসি এই ‘নারী’ মানুষকে পৌছে দিয়েছেন চাঁদের বুকে। ইতিহাস তৈরী করেছেন নিজের হাতে। তার লেখা ‘কোড’ মহাকাশ জয়ের যে সূচনা করেছে, তার পথ ধরে হয়তো কোন একদিন মানুষ তার পদচিহ্ন এঁকে দেবে সুদূর কোন নক্ষত্রের বুকে।

Share this story