প্রোগ্রামিং চিন্তন – ১

প্রোগ্রামিং চিন্তন – ১

একটা ছোটো গল্প বলি!
সময়টা সম্ভবত ২০০৪ কি ২০০৫ সাল! আমার বাবা তখন একবার ট্রেনিং এর জন্য ঢাকা আসেন! আমরা তখন থাকতাম রংপুর শহর থেকে প্রায় ২৩ কিলো দুরের এক মফস্বল এলাকায়! তো ঢাকা থেকে যাওয়ার সময় তিনি একটা মোবাইল ফোন কিনে নিয়ে যান! Siemens C65 মডেলের ক্যামেরা ফোন! আমার দেখা প্রথম রঙিন ডিস্পলের ফোন! উনি ঢাকা থাকা অবস্থায় আমরা দিনাজপুরে আমাদের গ্রামের বাড়িতে ছিলাম!

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


সমস্যা হলো আমাদের গ্রামে তখনও বিদ্যুৎ পৌঁছায়নি! তাই বাধ্য হয়ে ১০-১২ মিনিট ঘেঁটেঘুঁটে আগ্রহ দমিয়ে রাখতে বাধ্য হইছিলাম!
তারপর আমি ছটফট করতে লাগলাম কখন রংপুর ব্যাক করবো! কিন্তু মজার বেপার হলো আমি রংপুরে যেতে চাইতামনা! এখনো! বাড়ি গেলে আর রংপুর যেতে ইচ্ছে করতোনা! কিন্তু সেবার ওই ফোন ঘাঁটার লোভেই ওরকম মনোভাব হইছিলো! পরদিন যথারীতি রংপুরে ব্যাক করলাম!
বাবা ৯ টা ৫ টা অফিসে থাকতো! তারপর এসে পরিবারে সময় দিতো কিংবা অফিসের কাজ করতো! (বদ অভ্যাস! আমারও আছে!)
আর আমি ওই সুযোগে ফোনটা নিয়ে বসে যেতাম! প্রথম আগ্রহ ছিলো গেম এ! তো গেমই খেলতাম মূলত! রঙিন, লম্বা, স্টোরি ওয়ালা গেম!
প্রথম প্রথম বিষয়টা স্বাভাবিক নিতো! ফোন ইউজ করতে দিতো! কিন্তু কদিন যাওয়ার পর শুরু হলো বাধা! বিশেষ করে মা এটা করতো!


যাইহোক, একদিন আমি ঘাঁটতে ঘাঁটতে আবিষ্কার করলাম যে একটা মেনুতে (সম্ভবত Browser এর Bookmark মেনুতে! তখন Browser কি জানতাম না) লেখা ছিলো “Download games & application” এই টাইপের কিছু একটা! আমি ইংরেজিতে ছোটোবেলা থেকেই মোটামুটি ভালো ছিলাম!
তাই এটা বুঝে যাই যে এরকম আরও গেম ডাউনলোড করা যাবে! কিন্তু অ্যাপ্লিকেশন জিনিশটা কি বুঝিনাই তখন! যাইহোক ওটাতে ক্লিক করলাম… বলে Please configure WAP/Internet! অনেকবার ঘুঁতালাম! একই কথা বলে! কয়েকবার যাওয়ার পর মেসেজটা মনোযোগ দিয়ে পড়লাম! WAP কি বুঝিনাই, internet হালকা! Something something! Fortunately ওখানে বলা ছিলো যে to get configuration details contact your network service provider!


আমি সেদিন আর বেশি ঘাঁটিনি! ফুল অন মিশন শুরু হলো তার পরদিন থেকে! তার কারণটাও ছিলো আমার প্রথম প্রেম, কসমোলজি! একটা পেপারের আর্টিকেলের নিচে নাসার ওয়েব সাইটের এ্যাড্রেস দেওয়া ছিলো! হয়ে গেলো! আমার ওটাতে ঢুকতেই হবে! কিন্তু…
গেলাম যেখান থেকে ফ্লেক্সিলোড দেই সেই দোকানে! আংকেলকে বললাম ইন্টারনেট কিভাবে একটিভ করবো! উনি গ্রামীণফোন এর ইন্টারনেটের লিফলেট ধরায় দিলেন একটা! বাসায় এসে ওই অনুযায়ী চেষ্টা করলাম! EDGE P1 লিখে পাঠালাম ৫০০০ নাম্বারে! সাকসেসফুল! কিন্তু সমস্যা হলো তারপরের স্টেপে গিয়ে! Internet configuration বা APN configuration এর মেসেজটাতে! যেভাবে বলা আছে সেভাবেই লিখে পাঠালাম কিন্তু ফিরতি মেসেজে বলে incorrect format! আমি আমার ভুল কিছুতেই বের করতে পারছিলামনা! কিন্তু ইনস্যানদের মতো মেসেজ দিতেই আছি! মোবাইলে ব্যালেন্স ছিলো ১২০ টাকার মতো! তারমধ্যে ৯০ টাকা গন! টেনশন! বাবা তো আজ ধরে দিবানে!


ঠিক ওই সময়ে আমার এক বন্ধু আমাকে ডাকলো! কেন জানি ফোনটা নিয়েই বের হলাম! স্কুলের মাঠে গেলাম! ওখানে দেখি আরেক ফ্রেন্ডের বুয়েট পড়ুয়া বড়োভাই বসে! ওনাকে বললাম ভাইয়া দেখেন তো কি সমস্যা! আমি সব হুবহু করছি তারপরও হচ্ছেনা কেনো!
উনি নিজে একবার পাঠালেন! ফলাফল সেইম!
তারপর উনি মেসেজটা পড়ে দেখলেন!
তারপর মেসেজ অপশনে গিয়ে জাস্ট Font size টা Large ছিলো উনি Normal করে দিয়ে আরেকটা মেসেজ দিলেন! Voila! Internet active! প্রথম সাইটটা ছিলো configuration default homepage: wap.gpsurf.net 😛

কিন্তু আমি নিজে প্রথম nasa.gov এই ঢুকি! But… লোড নিতে নিতে বারো অবস্থা! অর্ধেকও লোড হয়নাই দেখি উপরের GPRS চিহ্নটা আর নাই! 😔
দেখি ফোনে ব্যালেন্স 0.00!🥴
ভাবছিলাম বাসায় গেলে বাপে পেঁদানি দিবে! কিন্তু কিছু কয়নাই! (আমার বাবা শিক্ষার বেপারে বরাবরই appreciative! আমি Internet ইউজ করা শিখছি শুনেই সাতখুন মাফ! সেদিনকার মতো!)
এরপর থেকে শুরু হলো! প্রতিটা দিন প্রায় ২০-৩০ টাকা নষ্ট করতাম ওই ইন্টারনেট ব্রাউজিং এ! হুদাই! মাঝেমধ্যে এমাউন্টটা বেশি হয়ে যেতো, বাপে সেদিন একটু ঝাড়িটাড়ি দিতো! ঠিক এমনই একদিন gpworld সাইটেই দেখি সবার নিচে বাংলাতেই লেখাঃ ইন্টারনেট খরচ কমাতে Opera Mini ডাউনলোড করুন! করলাম! প্রথম Java Application! 😛
ওপেন করে দেখি অনেক ফাস্ট আর রেস্পন্সিভ! টাকাও কম কাটে! Built in ব্রাউজারে নাসার সাইট লোড নিতোনা কিন্তু এই Opera Mini তে নিলো খুব সহজেই! উফফ! সেই অনুভূতি!


যাইহোক, এই অপেরা মিনি একদিন আমাকে আপডেট করতে বলে! ক্লিক মারলাম, ওদের সাইটে নিয়ে গেলো! গেলাম! ওখানে ডাউনলোড পেজে Download এর নিচে Alternate Download নামে একটা লিংক ছিলো!
ওটাতে ক্লিক করি কৌতূহল বশতই! ওখানে অনেক ধরণের অপশন ছিলো (Symbian)!
যাইহোক, এই সিম্বিয়ানের ভার্সন ডাউনলোড দিতে গিয়ে বললো you need Symbian operating system enabled handsets! To view the list of all Symbian supported handsets, click here!
ওকে! করলাম! দেখি সিমেন্সের শুধু দুইটা মডেল ছিলো! SX1 & S65!

Google ঢুকে মারলাম Opera Mini for S65! প্রথমটা অফিশিয়াল সাইট ছিলো! অলরেডি ভিজিট করা হইছে! তাই দুই নাম্বারটাতে ঢুকলাম! হাঙ্গেরিয়ান লেখা! তারপরও বোঝা যাচ্ছিলো কিছু কিছু! নিচে একটা ডাউনলোড লিংক ছিলো Opera Mini Mod নামে! দেখি ফাইল সাইজ ১২০ কিলোবাইটের মতো! কিন্তু অফিশিয়াল অপেরাটার সাইজ ছিলো ৯০ কিলোবাইটের মতো!
আমার কেন জানি মনে হইছিলো যে এই Opera Mini Mod এ এক্সট্রা কিছু একটা আছে! (কমনসেন্স 😉)
যাইহোক, ডাউনলোড দিলাম! ইন্সটল করলাম! ওপেন করে দেখি অনেক মেনু! অনেক ফাংশন! দেখি ফাইল ম্যানেজারও আছে! আরও অনেককিছু!


কিন্তু আমার টার্নিং পয়েন্ট ছিলো এই ফাইল ম্যানেজারটাই! এবং এর ভিতরের Text Editor টা! আমি একদিন ভুল বশত একটা ১০ কিলোবাইটের jar ফাইলকে এক্সট্রাক্ট করছিলাম! অন্য একটা zip ফাইলকে সিলেক্ট করতে গিয়ে ওই jar ফাইলটা সিলেক্ট হয়ে যায়! এবং এক্সট্রাক্ট হয়ে যায়! ফোল্ডারটা ওপেন করে দেখি ওখানে MANIFEST.MF নামে একটা ফাইল আর .class এক্সটেনশন যুক্ত কিছু ফাইল! MF ফাইলটাতে ক্লিক করতেই ওটা টেক্সট এডিটরে ওপেন হইছিলো! কিন্তু class ফাইলগুলা ওপেন হচ্ছিলোনা! কিন্তু আমিতো ওপেন করবোই! গুগল! How to open class file… ব্যস! পড়লাম! এক যায়গায় বলা যে টেক্সট এডিটরে হেক্স ফাইল হিসেবে ওপেন করা যায়! করলাম! (Open as অপশন ছিলো)!


বেশিরভাগ লেখাই অবোধ্য! কিন্তু… একটা বিষয় আমার মনে লাগলো! সেটা হলো আমি ওই ছোটো app টাতে যেসমস্ত লেখা (মেনু বা টাইটেল এ) দেখছিলাম সেগুলো দেখাচ্ছে! এবং এডিট করার জন্য কার্সরও মুভ করানো যাচ্ছে! নিতান্তই কৌতূহলবশত কিছু লেখা চেঞ্জ করে সেভ দেই! তারপর আবার জিপ করে rename করে .zip কে শুধু .jar করে দেই! তারপর ইন্সটল দিয়ে দেখি… 😱
লেখা চেঞ্জ হইছে! ইয়াহু! 🙌
এখন আমার কৌতূহল গেলো আরও বেড়ে! ওই দুর্বোধ্য লেখাগুলা কি এটা আমাকে বের করতে হবে! আবারও গুগল! (আমি গুগলিং কেন জানি স্বতঃস্ফূর্তভাবেই ভালো পারতাম)!
অনেক কিছু পড়ার পর, অনেক ঘাঁটার পর বুঝলাম ঘটনা!
প্রথম প্রোগ্রামিং এর টার্ম এর সাথে পরিচয়! Compile, Decompile, Bytecode, java file, class file, manifest file, jar file, jad file এসবের সাথে পরিচয়! একদম নিজে নিজেই! (মনোযোগ দিয়ে পড়তাম এবং বুঝার চেষ্টা করতাম)

যাইহোক, কিভাবে জানি একটা রাশিয়ান সাইট থেকে compiler/decompiler app ও পেয়ে যাই! হ্যাঁ! ফোন থেকেই ডিকম্পাইল আবার রিকম্পাইলের জাভা এ্যাপ!
এরকম একটা class ফাইলকে (জাভা বাইটকোড) java ফাইলে (জাভা সোর্সকোড) এ Decompile করি! এবং java ফাইলটা Text Editor এ ওপেন করি! There you go! জীবনের প্রথম কোড দেখা! জাভা! ☺
কিন্তু ৯৫ % তখন বুঝিনাই! 🙄
বুঝার আকাঙ্ক্ষা! তীব্র আকাঙ্ক্ষা! সেই থেকে শুরু! Journey to the programming world! 😍

গল্পটা এবং পর্বটা শেষ করবো!
শেষ করবো প্রোগ্রামিং, সর্বোপরি প্রযুক্তি শিক্ষা নিতে গিয়ে যে ত্যাগগুলো স্বীকার করতে হইছে সেগুলো দিয়ে!

একসময় ওই C65 সেটটা আমার নেশায় পরিণত হয়ে গেছিলো! ইন্টারনেট ইউজ করতে কোনো কোনো দিন ৩০০ টাকা ব্যালেন্স ০ হয়ে যেতো! আমি ইন্ট্রোভার্ট! বাবা মাকেও বুঝাতে পারতামনা বিষয়গুলো! বাবা সাধারণত রাগতোনা! মা রাগতো! প্রচুর! একটা সময় আমাকে আর ফোন ধরতে দিতোনা! কিন্তু…


রাতে ফোন চার্জে দিয়ে বাবা মা ঘুমাতো আর আমি মাঝরাতে চোরের মতো গিয়ে ফোন খুলে নিয়ে এসে কাঁথার নিচে শেষরাত পর্যন্ত টিপতাম! শেষরাতে ঘুম ধরতো প্রচুর! এমন অনেক দিন গেছে যেদিন ফোন জায়গামতো চার্জে দিয়ে আসছি কিন্তু চার্জার কানেকশন ভালোমতো না পাওয়ার কারণে চার্জ হতোনা! 😆
কিন্তু একদিন হাতেনাতে মায়ের কাছে ধরা খাই!
বাবাও রেগে যায়! ফোনটা আছাড় মারে!
কিন্তু সেযুগের ফোন! তেমন কিছু হয়নাই! ☺
কিন্তু আমি থামিনি! 🙂

• এই পর্বটা সম্পুর্ণই একটা সেট আপ ছিলো! 🙂

Stay tuned! 😃

চলবে…

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

মন্তব্য করুন