رانا
محفلین
اس دھاگے کو تازہ خون میسر آنے کے امکانات تو کم ہی ہیں کہ ایک خاص فیلڈ سے متعلق ہے اور اس پر بھی ضروری نہیں کہ اس فیلڈ سے تعلق رکھنے والے جتنے یہاں ہیں سبھی کو اس میں دلچسپی ہو لیکن پھر بھی شروع کرنے میں کیا جاتا ہے۔ دھاگے کی زندگی رہی تو ٹھیک نہیں تو چھ گز زمین تو انسان کو بھی میسر آجاتی ہے دھاگے کو چھ کے بی جگہ بھی نہ ملے گی؟
پروگرامر حضرات کو جاب یا جاب سے ہٹ کر کبھی نہ کبھی ایسی صورت حال سے واسطہ پڑتا رہتا ہے جس میں انہیں کوئی ایسی ٹاسک دی جاتی ہے جس کا کوئی حل یا کم از کم فوری حل سمجھ نہیں آتا تو پروگرامر صاحبان جگاڑ لگاتے ہیں۔
جی ہاں یہ جگاڑ زندگی کے ہر شعبہ میں اپنا وجود رکھتی ہے۔
کم از کم میری تو ایم سی ایس سے پہلے کی لائف کا وہ حصہ جو شوقیہ پروگرامنگ تک تھی کافی زیادہ جگاڑوں سے عبارت ہے۔ اور اب پچھے کوئی سوا سال سے ڈاٹ نیٹ ڈویلپر کی جاب کررہا ہوں تو اس میں بھی کسی ڈھنگ کے پروفیشنل سینئر کی قربت میسر نہ ہونے کی وجہ سے میری تُک بندیاں چلتی رہتی ہیں۔ یہ جگاڑ بعض اوقات کچھ ایسی سرپر سوار ہوتی ہے کہ اگر کوڈ میں باوجود کوشش کے نہ لگ سکے تو کلائنٹ کو ہی لگا دی جاتی ہے۔
تو یہاں تمام پروگرامر دوستوں سے گزارش ہے کہ اپنی پروگرامنگ لائف کے کچھ ایسے ہی تجربات یہاں شئیر کریں جن کی مجھے امید ہے کہ کسی پروگرامر کے ہاں کمی نہیں ہوگی۔ یہاں ضروری نہیں کہ جگاڑیں ہی شئیرکی جائیں۔ بلکہ پروگرامنگ سے تعلق رکھنے والی دلچسپ غلطیاں اور واقعات بھی شئیر کئے جاسکتے ہیں۔
سب سے پہلے تو میزبان ہونے کے ناطے میں ہی ایک جگاڑ شئیر کردیتا ہوں بلکہ اسی واقعے سے مجھے اس طرح کا دھاگہ کھولنے کا خیال آیا۔ ہوا یوں کہ ابھی کچھ دن پہلے مجھے ٹیم لیڈ کی طرف سے ایک چھوٹا سا تھرمل پرنٹر دیا گیا جس کو بائٹ ایرے میں کمانڈز دی جاتی تھیں جس کے لئے ایک یوٹیلیٹی کمپنی کی طرف سے ساتھ آئی تھی۔ لیکن وہ استعمال میں آسان نہ تھی۔ اس لئے ہمارے باس نے کہا کہ اسے اینڈ یوزر کے لئے آسان بنایا جائے۔ اس پر ٹیم لیڈ نے مجھے کہا کہ اس کے لئے ایک dll بنائیں تاکہ جس کلائنٹ کو پرنٹر دیا جائے اس کو یہ لائبریری دے دی جائے کہ وہ اپنے سافٹ وئیر کے ساتھ آسانی سے استعمال کرسکے۔ اس پر کافی کام تو ہماری ایک ساتھی پروگرامر کرچکی تھی اسی کو آگے بڑھا کر کچھ مزید کمانڈز میں نے شامل کی اور ایک لائبریری بناکر دے دی۔ یہ کام ہونے کے بعد مجھے دوسرا ٹاسک یہ دیا گیا کہ کلائنٹ کو اسے ایم ایس ورڈ کے ساتھ بھی استعمال کرنا پڑ سکتا ہے اس لئے اس پرنٹر کا ڈرائیور بنانے کی کوشش کرو کہ پرنٹر انسٹال ہوکر ورڈ کے پرنٹ ڈائلاگ باکس میں نظر آئے اور کلائنٹ اسے سیلیکٹ کرکے پرنٹ بھیج سکے۔ کیونکہ پرنٹر کا ایسا کوئی ڈرائیور کمپنی کی طرف سے مہیا نہیں تھا کہ یہ ونڈوز کی پرنٹر لسٹ میں شامل ہوسکے۔ کافی وقت میں نے گوگل پر خرچ کیا کہ ڈرائیور کیسے بناتے ہیں تو پتہ لگا کہ یہ کچھ اتنا آسان کام نہیں لوہے کے چنے چبانے کے مترادف ہے۔ یا شائدمجھے مشکل لگا۔ بہرحال مجھے خیال آیا کہ dll تومیں بنا ہی چکا ہوں کیوں نہ ورڈ کے لئے ایک پلگ ان بنادوں۔ میں نے کچھ ٹائم لگا کر ورڈ کے لئے ایک پلگ ان بنادیا جس کے بٹن پر امیج بھی پرنٹر کی لگا دی جو ورڈ کے ربن میں جاکر بڑی شان سے براجمان ہوگیا۔ میں نے ٹیم لیڈ کو بلایا اور کہا کہ دیکھیں۔ وہ بغور دیکھنے لگے۔ میں نے ورڈ میں دو تین لائنز ٹائپ کیں، ربن سے بٹن دبایا اور پرنٹر سے پرنٹ باہر۔ ٹیم لیڈ تو ایکسائٹڈ ہوگیا۔ ارے واہ!! تم نے یہ کیسے کیا؟ میں نے کہا کہ پہلے آپ یہ بتائیں آپ کی ریکوائرمنٹ پوری ہوگئی کہ نہیں۔ کہنے لگا سو فیصد یار۔ پھر میں نے انہیں بتایا کہ یہ ڈرائیور نہیں بلکہ پلگ ان ہے جس کے پیچھے وہی dll کال ہورہی ہے۔ ٹیم لیڈ نے کچھ دیر سوچا پھر کہنے لگا چلو یار کام تو ہورہا ہے نا۔ اس نے باس کو فون ملایا اور خوشخبری سنادی کہ سر ہم ورڈ سے پرنٹ بھیج کر کلائنٹ کو دکھا سکتے ہیں۔۔
اور میں یہ سوچ رہا تھا کہ کل کو ایکسل یا کسی اور سافٹ وئیر کے ساتھ استعمال کی ڈیمانڈ آگئی تو میں کیا ہر سافٹوئیر کے لئے الگ الگ پلگ ان ہی بناتا رہوں گا۔
اب دوسرے پروگرامرز و سافٹ وئیر انجینئر دوستوں سے گزارش ہے فیلڈ سے تعلق رکھنے والے کچھ دلچسپ واقعات شئیر کرنے کی کوشش کریں۔
پروگرامر حضرات کو جاب یا جاب سے ہٹ کر کبھی نہ کبھی ایسی صورت حال سے واسطہ پڑتا رہتا ہے جس میں انہیں کوئی ایسی ٹاسک دی جاتی ہے جس کا کوئی حل یا کم از کم فوری حل سمجھ نہیں آتا تو پروگرامر صاحبان جگاڑ لگاتے ہیں۔
سب سے پہلے تو میزبان ہونے کے ناطے میں ہی ایک جگاڑ شئیر کردیتا ہوں بلکہ اسی واقعے سے مجھے اس طرح کا دھاگہ کھولنے کا خیال آیا۔ ہوا یوں کہ ابھی کچھ دن پہلے مجھے ٹیم لیڈ کی طرف سے ایک چھوٹا سا تھرمل پرنٹر دیا گیا جس کو بائٹ ایرے میں کمانڈز دی جاتی تھیں جس کے لئے ایک یوٹیلیٹی کمپنی کی طرف سے ساتھ آئی تھی۔ لیکن وہ استعمال میں آسان نہ تھی۔ اس لئے ہمارے باس نے کہا کہ اسے اینڈ یوزر کے لئے آسان بنایا جائے۔ اس پر ٹیم لیڈ نے مجھے کہا کہ اس کے لئے ایک dll بنائیں تاکہ جس کلائنٹ کو پرنٹر دیا جائے اس کو یہ لائبریری دے دی جائے کہ وہ اپنے سافٹ وئیر کے ساتھ آسانی سے استعمال کرسکے۔ اس پر کافی کام تو ہماری ایک ساتھی پروگرامر کرچکی تھی اسی کو آگے بڑھا کر کچھ مزید کمانڈز میں نے شامل کی اور ایک لائبریری بناکر دے دی۔ یہ کام ہونے کے بعد مجھے دوسرا ٹاسک یہ دیا گیا کہ کلائنٹ کو اسے ایم ایس ورڈ کے ساتھ بھی استعمال کرنا پڑ سکتا ہے اس لئے اس پرنٹر کا ڈرائیور بنانے کی کوشش کرو کہ پرنٹر انسٹال ہوکر ورڈ کے پرنٹ ڈائلاگ باکس میں نظر آئے اور کلائنٹ اسے سیلیکٹ کرکے پرنٹ بھیج سکے۔ کیونکہ پرنٹر کا ایسا کوئی ڈرائیور کمپنی کی طرف سے مہیا نہیں تھا کہ یہ ونڈوز کی پرنٹر لسٹ میں شامل ہوسکے۔ کافی وقت میں نے گوگل پر خرچ کیا کہ ڈرائیور کیسے بناتے ہیں تو پتہ لگا کہ یہ کچھ اتنا آسان کام نہیں لوہے کے چنے چبانے کے مترادف ہے۔ یا شائدمجھے مشکل لگا۔ بہرحال مجھے خیال آیا کہ dll تومیں بنا ہی چکا ہوں کیوں نہ ورڈ کے لئے ایک پلگ ان بنادوں۔ میں نے کچھ ٹائم لگا کر ورڈ کے لئے ایک پلگ ان بنادیا جس کے بٹن پر امیج بھی پرنٹر کی لگا دی جو ورڈ کے ربن میں جاکر بڑی شان سے براجمان ہوگیا۔ میں نے ٹیم لیڈ کو بلایا اور کہا کہ دیکھیں۔ وہ بغور دیکھنے لگے۔ میں نے ورڈ میں دو تین لائنز ٹائپ کیں، ربن سے بٹن دبایا اور پرنٹر سے پرنٹ باہر۔ ٹیم لیڈ تو ایکسائٹڈ ہوگیا۔ ارے واہ!! تم نے یہ کیسے کیا؟ میں نے کہا کہ پہلے آپ یہ بتائیں آپ کی ریکوائرمنٹ پوری ہوگئی کہ نہیں۔ کہنے لگا سو فیصد یار۔ پھر میں نے انہیں بتایا کہ یہ ڈرائیور نہیں بلکہ پلگ ان ہے جس کے پیچھے وہی dll کال ہورہی ہے۔ ٹیم لیڈ نے کچھ دیر سوچا پھر کہنے لگا چلو یار کام تو ہورہا ہے نا۔ اس نے باس کو فون ملایا اور خوشخبری سنادی کہ سر ہم ورڈ سے پرنٹ بھیج کر کلائنٹ کو دکھا سکتے ہیں۔۔
اب دوسرے پروگرامرز و سافٹ وئیر انجینئر دوستوں سے گزارش ہے فیلڈ سے تعلق رکھنے والے کچھ دلچسپ واقعات شئیر کرنے کی کوشش کریں۔


دیکھ کر باس نے مجھے آہستہ آہستہ پوری لیب کے کمپیوٹرز کی دیکھ بھال کا کام بھی سونپ دیا اور میں لیب کا خودساختہ آئی ٹی انچارج بھی بن گیا۔ ایک بار لیب کے سرور پر کسی وائرس کا ایسا جان لیوا حملہ ہوا کہ چوبیس گھنٹوں میں تمام کمپیوٹرز اس سے متاثر ہوگئے۔ خیر جیسے تیسے کرکے اس پرابلم سے نکلے پورا دن لگ گیا تمام کام مینول پر آگیا اور پیشنٹس کو رپورٹ بھی بروقت نہ دی جاسکیں۔ اس کے بعد باس نے مجھ سے کہا کہ یار ایک بار ایسا ہوگیا تو آئندہ بھی ہوسکتا ہے اس کا حل بتاؤ۔ میں نے کہا کہ پہلی فرصت میں تمام کمپیوٹرز پر اینٹی وائرس انسٹال کرنا چاہیے۔ لیکن اس کو ہر دو دن بعد اپ ڈیٹ رکھنا بہت ضروری ہے کم از کم ہفتے بعد تو لازمی ہو۔ باس نے مجھے اپنے لیپ ٹاپ تک رسائی دی کہ یہاں سے اینٹی وائرس اپ ڈیٹ کرلیا کرو۔ میں نے تمام کمپیوٹرز پر نورٹن انسٹال کردیا۔ اور ہر دو دن بعد نیٹ سے اپ ڈیٹ ڈاون لوڈ کرکے تمام کمپیوٹرز پر رن کرتا۔ اب آٹھ کمپیوٹرز تھے لیب میں اور مجھے یہ بہت تکلیف دہ مرحلہ لگتا کہ آٹھ مرتبہ ہر کمپیوٹر پر جا کر اپ ڈیٹ رن کروں۔ شروع کے کچھ دن تو میں نے گزارا کیا۔ پھر اس کا ایک حل زہن میں آیا۔ VB6 میں ایک چھوٹا سا پروگرام بنایا جو کسی دئیے ہوئے پاتھ سے دئیے ہوئے نام کی کوئی بھی ایگزی رن کرسکتا تھا۔ میں نے سرور پر ایک فولڈر شئیر کیا اس میں اینٹی وائرس کی اپڈیٹ فائل رکھی اور اس کا نیٹ ورک پاتھ اس پروگرام میں دے دیا۔ فارم کی ویزیبل پراپرٹی کو فالس کردیا۔ اس کی ایگزی بنائی اور ہر کمپیوٹر پر جاکر اس کے ونڈوز اسٹارٹ اپ فولڈر میں ڈال دی۔ ہر بندے سے کہہ دیا کہ جب بھی کمپیوٹر آن ہوگا تو یہ سب سے پہلے اینٹی وائرس اپڈیٹ کرے گا اسے کرنے دیا جائے اگر کسی نے اس کو No کیا تو سر کو خود ہی جواب دہی کرے گا۔