پروگرامر حضرات کے راز یا جگاڑیں۔۔۔

سعادت

تکنیکی معاون
بہت عرصہ پہلے کسی ویب سائٹ پر ایک مضمون پڑھا تھا جس میں وڈیو گیمز انڈسٹری کے چند پروگرامرز نے اپنی اپنی پسندیدہ جگاڑوں کے بارے میں بتایا تھا۔ اگر ربط مل گیا تو ضرور شیئر کروں گا، فی الحال اس مضمون پر کیے گئے تبصروں میں سے ایک پروگرامر کا تبصرہ یاد ہے۔۔۔

اُس پروگرامر کو مسئلہ یہ درپیش تھا کہ اس کی وڈیو گیم ویسے تو ٹھیک چلتی تھی، لیکن جب گیم کو بند کیا جاتا تھا تو کنسول پر ایک عجیب سا ایرر پیغام پرنٹ ہوتا تھا (یہ ڈاس (DOS) کے زمانے کی بات ہے)۔ ڈی بگنگ کرنے اور مسئلے کو درست طریقے سے حل کرنے کا وقت نہیں تھا کہ اگلے دن گیم کو ریلیز کرنا تھا۔ جان چُھڑانے کے لیے پروگرامر نے گیم کی بائنری کو ایک ہیکس ایڈیٹر میں کھولا، پریشان کرنے والے ایرر پیغام کے سٹرنگ کو ڈھونڈا، اور اس سٹرنگ کو "ہماری وڈیو گیم کھیلنے کا شکریہ!" سے تبدیل کر دیا۔ :)

آج بھی یہ جگاڑ یاد آتا ہے تو میں اس پروگرامر کی ذہانت پر عش عش کرتا ہوں۔
 

رانا

محفلین
بہت عرصہ پہلے کسی ویب سائٹ پر ایک مضمون پڑھا تھا جس میں وڈیو گیمز انڈسٹری کے چند پروگرامرز نے اپنی اپنی پسندیدہ جگاڑوں کے بارے میں بتایا تھا۔ اگر ربط مل گیا تو ضرور شیئر کروں گا، فی الحال اس مضمون پر کیے گئے تبصروں میں سے ایک پروگرامر کا تبصرہ یاد ہے۔۔۔

اُس پروگرامر کو مسئلہ یہ درپیش تھا کہ اس کی وڈیو گیم ویسے تو ٹھیک چلتی تھی، لیکن جب گیم کو بند کیا جاتا تھا تو کنسول پر ایک عجیب سا ایرر پیغام پرنٹ ہوتا تھا (یہ ڈاس (DOS) کے زمانے کی بات ہے)۔ ڈی بگنگ کرنے اور مسئلے کو درست طریقے سے حل کرنے کا وقت نہیں تھا کہ اگلے دن گیم کو ریلیز کرنا تھا۔ جان چُھڑانے کے لیے پروگرامر نے گیم کی بائنری کو ایک ہیکس ایڈیٹر میں کھولا، پریشان کرنے والے ایرر پیغام کے سٹرنگ کو ڈھونڈا، اور اس سٹرنگ کو "ہماری وڈیو گیم کھیلنے کا شکریہ!" سے تبدیل کر دیا۔ :)

آج بھی یہ جگاڑ یاد آتا ہے تو میں اس پروگرامر کی ذہانت پر عش عش کرتا ہوں۔
لاجواب سعادت بھائی۔ کمال کی جگاڑ ہے اور کیا بروقت۔:rollingonthefloor:
 

قیصرانی

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

نیرنگ خیال

لائبریرین
میں نے آرام سے سیکنڈ لیول ہیڈنگ کے فانٹ کلر کو بیک گراؤنڈ کلر سے بدل دیا۔ "اتنے بڑے" مسئلے کو "اتنی آسانی" سے حل ہوتے دیکھا تو اس بندے کے چہرے کے تائثرات قابل ترس تھے
یہ خیال تو ساری پوسٹ پڑھتے ہوئے میرے ذہن میں بھی نہیں آیا تھا۔۔ o_O
زبردست (y)
 

متلاشی

محفلین
شروع شروع میں جب ویب سائٹ بنانے کے پروگرام آئے تھے تو ایک دوست نے عجیب گڑبڑ کی کہ فرسٹ لیول ہیڈنگ اور سیکنڈ لیول ہیڈنگ کے کوڈ کو کسی طرح خراب کر دیا کہ ہر صفحے پر سیکنڈ لیول ہیڈنگ مفت میں دکھائی دینے لگی جب کہ سیکنڈ لیول ہیڈنگ پوری سائٹ پر کہیں درکار نہیں تھی۔ اس نے مدد مانگی تو میں نے سارا کوڈ چھان مارا، لیکن کہیں سے سر پیر نہیں ملا۔ آخر کار تھک کر میں نے کہا کہ بھئی اب دو صورتیں ہیں، پہلی یہ کہ نئے سرے سے سارا کچھ اپ لوڈ کرو یا پھر جگاڑ کرتے ہیں۔ اس نے جگاڑ کو پسند کیا۔ میں نے آرام سے سیکنڈ لیول ہیڈنگ کے فانٹ کلر کو بیک گراؤنڈ کلر سے بدل دیا۔ "اتنے بڑے" مسئلے کو "اتنی آسانی" سے حل ہوتے دیکھا تو اس بندے کے چہرے کے تائثرات قابل ترس تھے
ہاہ ہاہ۔۔۔ قیصرانی بھیا سیم یہی جگاڑ میں بھی لگا چکا ہوں۔۔۔۔!
 

متلاشی

محفلین
چلو ہم بھی رسمِ دھاگہ نبھا دیتے ہیں۔۔۔!
میڑک کے بعد ہمیں پروگرامنگ بہت زیادہ شوق چھڑا ۔۔۔ مگرمقدر کے کھیل ۔۔۔ کسی اور فیلڈ میں ہی لے گئے ۔۔۔! البتہ شوق تو شوق ہوتا ہے اور اس کا کو مُل نہیں ہوتا۔۔۔! سو ہم نے اپنی طرف سے ٹرائیاں مارنا شروع کر دیں۔۔۔! اس مقصد کے لئے ہمارے نظرِ انتخاب ویژول بیسک پر ٹھہری ۔۔۔ ! مگر ہم تو پروگرامنگ کی ابجد سے بھی بالکل ناواقف تھے۔۔۔! سو اس کا آسان طریقہ ہم نے یہ ڈھونڈا کہ وی بی کی ہیلپ پڑھنی شروع اور کچھ کالج کی لائبریری سے وی بی سیکھنے کی بکس نکلوا کر پڑھ ڈالیں ۔۔۔!جب کچھ کچھ سمجھ میں آنے لگاتو ہم نے بھی کوئی پروگرام شروگرام بنانے کا سوچا۔۔۔! کتاب پر تھوڑا بہت ActiveX Controls کے بارے میں پڑھا تھا ۔۔۔! نیٹ سے کچھ کنڑولز ہاتھ لگے ۔۔! ایک کنٹرول کو یوز کیا جب بھی میں پروگرام رن کرتا تو ایک ڈائیلاگ باکس کھل جاتا جس میں یوزر کو وہ کنٹرول پیرچیز کرنے کے لئے کہا جاتا۔۔۔! ساتھ میں اوکے کا بٹن ہوتا ۔۔۔ وہ بٹن پریس کرنے کے بعد پروگرام رن ہوتا۔۔۔! ہم نے بہت سوچ بچار کا بعد اس کا آخر ایک حل نکال ہی لیا۔۔۔ وہ یہ کہ ہم Send Key کمانڈ یوز کرتے ہوئے فارم کے رن ٹائم کے دوران انٹر کی سینڈ کر دی ۔۔۔!
اب وہ باکس شو ہونے سے پہلے اینٹر کی خود بخود پریس ہو جاتی اوروہ میسج غائب۔۔۔۔۔!
 

رانا

محفلین
شروع شروع میں جب ویب سائٹ بنانے کے پروگرام آئے تھے تو ایک دوست نے عجیب گڑبڑ کی کہ فرسٹ لیول ہیڈنگ اور سیکنڈ لیول ہیڈنگ کے کوڈ کو کسی طرح خراب کر دیا کہ ہر صفحے پر سیکنڈ لیول ہیڈنگ مفت میں دکھائی دینے لگی جب کہ سیکنڈ لیول ہیڈنگ پوری سائٹ پر کہیں درکار نہیں تھی۔ اس نے مدد مانگی تو میں نے سارا کوڈ چھان مارا، لیکن کہیں سے سر پیر نہیں ملا۔ آخر کار تھک کر میں نے کہا کہ بھئی اب دو صورتیں ہیں، پہلی یہ کہ نئے سرے سے سارا کچھ اپ لوڈ کرو یا پھر جگاڑ کرتے ہیں۔ اس نے جگاڑ کو پسند کیا۔ میں نے آرام سے سیکنڈ لیول ہیڈنگ کے فانٹ کلر کو بیک گراؤنڈ کلر سے بدل دیا۔ "اتنے بڑے" مسئلے کو "اتنی آسانی" سے حل ہوتے دیکھا تو اس بندے کے چہرے کے تائثرات قابل ترس تھے
زبردست قیصرانی بھائی۔ نائس شئیرنگ۔ وانٹ مزید شئیرنگ۔;)
 

رانا

محفلین
کاش ہمارے کمپیوٹر میں کوئی جگاڑ ہوتا :(
جگاڑوں کی کمی نہیں عسکری ،ایک مانگو ہزار ملتے ہیں۔ ابھی آپ نے ایک ہی مانگا ہے تو ایک عنایت کررہا ہوں۔ پبلسٹی کے لئے بلامعاوضہ دیا جارہا ہے۔ اگر کبھی ماؤس خراب ہوجائے تو نئے ماؤس پر دو ڈھائی سو روپے خرچ کرنے کی ضرورت نہیں۔ بازار سے جاکر دس روپے کی چوہے مار گولیاں لے آئیے گا۔ دس روپے میں جتنی گولیاں آئیں گی فی گولی دس ماؤس آرام سے بیٹھے بٹھائے ہاتھ آجائیں گے۔ خود بھی استعمال کریں اور دوستوں کو بھی دیں۔ آزمودہ نہیں ہے۔:rollingonthefloor:
 

عسکری

معطل
جگاڑوں کی کمی نہیں عسکری ،ایک مانگو ہزار ملتے ہیں۔ ابھی آپ نے ایک ہی مانگا ہے تو ایک عنایت کررہا ہوں۔ پبلسٹی کے لئے بلامعاوضہ دیا جارہا ہے۔ اگر کبھی ماؤس خراب ہوجائے تو نئے ماؤس پر دو ڈھائی سو روپے خرچ کرنے کی ضرورت نہیں۔ بازار سے جاکر دس روپے کی چوہے مار گولیاں لے آئیے گا۔ دس روپے میں جتنی گولیاں آئیں گی فی گولی دس ماؤس آرام سے بیٹھے بٹھائے ہاتھ آجائیں گے۔ خود بھی استعمال کریں اور دوستوں کو بھی دیں۔ آزمودہ نہیں ہے۔:rollingonthefloor:

:( ایسے ایسے مشورے دینے والے 2-4 اور دوست مل جائین تو اس پاپی دنیا سے جان چھوٹ جائے ہماری
 

رانا

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

میں اس وقت korn شیل اسکرپٹنگ پر اپنا ہاتھ سیدھا کر رہا تھا اور میرے ذمہ کچھ ہاؤس کیپنگ کا کام تھا جس میں SUN Solaris سرور پر ایک دن کے بیچ پروسیسنگ کے بعد کی فائلوں کو bzip2 کی مدد سے ذپ کرنا تھا۔ ڈسک پر جگہ کم پڑ رہی تھی اس لیے کئی دنوں کی فائلوں کے ساتھ یہ کام کرنا تھا اور میں نیا نیا gzip کے بعد bzip2 پر آیا تھا اور اس کے کمپریس کرنے کی صلاحیت کو سراہا رہا تھا۔ کمپریس کرنے کے لیے میں نے ایک اسکرپٹ لکھا تھا جس کی کئی کاپیاں بنا کر مختلف تاریخوں کی ڈائریکٹری پر چلا رہا تھا۔ ڈویلپمنٹ اور پراڈکشن کے علیحدہ علیحدہ سرور موجود تھے اور اصول ڈویلپمنٹ کے سرور پر اسکرپٹ کو چلا کر ٹیسٹ کرنے کی بجائے میرے حوصلے اتنے بڑھے ہوئے تھے کہ براہ راست پراڈکشن سرور ہی اسکرپٹ بنا کر چلا رہا تھا بغیر ٹیسٹ کیے۔ اسکرپٹ انتہائی سادہ اور معصوم تھا جس میں تاریخ پر مبنی ڈائریکٹریوں کو ریگولر ایکسپریشن سے ڈھونڈ کر bzip2 کمانڈ سے کمپریس کرنا تھا اور بس۔
ایک بڑی غلطی میں پہلے اسی طرح کے چھوٹے چھوٹے اسکرپٹس میں یہ کر رہا تھا کہ پہلی لائن پر korn shell بائنری کا پتہ نہیں دے رہا تھا اور صرف اسکرپٹ کی extension میں ہی شیل کا ذکر تھا۔ طوفان سے پہلے میں نے ایک اور غلطی کرتے ہوئے extension بھی ختم کر دی، اس کے بعد جو ہوا وہ ایک مکمل تباہی تھی۔
پراڈکشن سرور SUN Fire 15k قریب قریب 80 پروسیسر اور 100 جی بی ریم پر مشتمل تھا مگر اس قدر طاقتور اور توانا یونیکس سسٹم بھی میرے معصوم اور سادہ سے اسکرپٹ سے فقط دو منٹ میں بیٹھ گیا۔ شیل کونسا کھولنا ہے اس پر فیصلہ نہ کر سکنے کی بنیاد پر آپریٹنگ سسٹم نے تمام میسر وسائل استعمال کرتے ہوئے دھڑا دھڑ شیل کھولنے شروع کر دیے اور ایک سے دو ، دو سے چار اور ہزاروں سے لاکھوں تک پہنچ تک سسٹم جام کر دیا اور Devner میں کمپنی سرور بیٹھ گیا۔ پورا ایک دن لگا ، اسے سیدھا کرنے اور سرور کو ری بوٹ کرنا پڑا۔
اگلے شام ٹھیک اسی وقت جب میں نے سرور بٹھایا تھا ، اطلاع ملی کہ اب ہم دوبارہ سے سرور پر روزمرہ کے کام کر سکتے ہیں۔ میں جو پچھلے دن سے اب تک وہ اسکرپٹ والی ونڈو سائیڈ پر کھلی رکھ کر بیٹھا تھا شکر کیا کہ اب میں اپنا ادھورا کام پورا کر سکتا ہوں۔ یہ سوچتے ہوئے پھر سے وہی اسکرپٹ چلا دیا اور ۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔ میرے ساتھ ہی میرا سیکشن لیڈ بھی تھا۔ اس نے مجھ سے پوچھا کہ وہ اس وقت سسٹم ایڈمن کے ساتھ بات کر رہا ہے اور کیا میں نے سرور پر کوئی اسکرپٹ ابھی ابھی چلایا ہے ۔ میں نے کہا کہ ہاں ، جس پر اس نے بتایا کہ وہ کہہ رہا ہے کہ یہ اسکرپٹ بے تحاشہ شیل کھول رہا ہے اور سارے وسائل لیتا جا رہا ہے وہ اسے ختم کرنے کی کوشش کر رہا ہے اور اب کوئی اور اسکرپٹ نہ چلاؤ۔
اس کے بعد کس طرح میری بچت ہوئی اور کیسے میں نے اگلا دن گزارا وہ لکھنے کی اب بھی تاب نہیں۔
 

رانا

محفلین
محب علوی بھائی اب ایک بات سچ سچ بتائیں کہ جاب واقعی بچ گئی تھی اس کے بعد؟;)
یہاں تو اس کا عشر عشیر بھی ہوجائے تو اگلے دن ہم سڑک پہ پڑے ہوں نئی جاب کے لئے جوتیاں چٹخاتے ہوئے۔:ROFLMAO:
 

رانا

محفلین
اوپر قیصرانی بھائی نے سافٹوئیر کو چیپی لگانے کی بات کی تھی۔ اسی حوالے سے میں اپنی زندگی کی پہلی چیپی کا ذکر کرتا ہوں جو میں نے اپنے پہلے سافٹوئیر کو لگائی تھی۔ یہ شوقیہ پروگرامنگ کے دنوں کی بات ہے۔ پروگرامنگ میں میری کل کائنات صرف دو بُکس تھیں۔ ایک VB6 کی بلیک بک اور دوسری کرسٹل رپورٹ کی ایک فوٹو اسٹیٹ بُک۔ نیٹ کی سہولت مجھے میسر نہ تھی اس لئے انہی دو کتابوں کی مدد سے ساری پروگرامنگ کے شوق پورے کیا کرتا تھا۔ ان دنوں ایک دوست کی معرفت ایک کلائنٹ کے لئے سافٹ وئیر بنانے کا موقع ملا جو انتہائی معمولی قیمت میں بناکر دیا۔ معمولی قیمت اس لئے کہ میرے لئے یہی بہت تھا کہ میرا زندگی کا پہلا پروگرام کسی کلائنٹ کے پاس چلے گا۔ اس پروگرام میں کچھ عرصے بعد ہی ایک مسئلہ آنا شروع ہوا کہ جب بھی اچانک لائٹ جاتی یا کسی وجہ سے سسٹم پراپر شٹ ڈاؤن نہ ہوتا تو دوبارہ سسٹم آن ہونے پر بعض اوقات پروگرام نہ کھلتا اور ایک ایرر آجاتا۔ جب میں نے جاکر چیک کیا تو پتہ لگا کہ جو مین ٹیبل ہے ٹرانزیکشن کا اس کی آخری row میں سوائے پرائمری key کی فیلڈ کے باقی تمام فیلڈز میں null پڑا ہوا ہے۔ میں نے اس خالی ریکارڈ کو ڈیٹابیس سے جاکر ڈیلیٹ کردیا اور پروگرام رن ہوگیا۔ میں مطمئن ہوکر واپس آگیا۔ کوئی ہفتہ دس دن بعد پھر وہی مسئلہ آگیا۔ پھر تو روٹین بن گئی کہ ہر ہفتہ دس میں ایک بار ایسا ضرور ہوتا۔ ہر بار ایک چیز مشترک ہوتی کہ مجھے بتایا جاتا کہ سسٹم لائٹ جانے کی وجہ سے اچانک شٹ ڈاؤن ہوا تھا۔میں نے بڑی کوشش کی کہ اصل وجہ کا پتہ لگا سکوں لیکن بغیر کسی پروفیشنل سے تربیت پائے ایک بلیک بُک کے سہارے بندہ کتنا بھی ڈی بگ کرسکتا ہے۔ آخر کار میں نے اسکا ایک حل نکالا۔ اور وہ یہ کہ جو مرہم پٹی میں آکر سافٹ وئیر کی کرتا ہوں وہ سافٹ وئیر خود ہی کرلیا کرے تاکہ میں آنے کی زحمت سے بچ جاؤں۔ میں نے ایک کوڈ لکھا جو ایپلیکیشن کے رن ہوتے ہی سب سے پہلے چلتا اور ٹرانزیکشن کے ٹیبل سے آخری ریکارڈ اٹھا کر لاتا اور چیک کرتا کہ اس میں null ویلیوز تو نہیں۔ اگر ہوتیں تو تو اس ریکارڈ پر ڈیلیٹ کی query مار دیتا۔ نئی ایگزی کمپائل کرکے انہیں دے دی۔ اور واپس آگیا۔ وہ دن اور آج کا دن کئی سال ہوگئے اس سافٹ وئیر کو کامیابی سے چل رہا ہے اور دوبارہ کوئی مسئلہ نہیں آیا۔ بلکہ کبھی کسی کام سے میرا اسطرف جانا ہو تو میں یہ ضرور پوچھا کرتا ہوں کہ اب کوئی ایرر تو نہیں آتا۔ تو جواب ملتا ہے کہ نہیں بھائی بہت اسٹیبل پروگرام بنایا ہے آپ نے اب تو کبھی کوئی مسئلہ ہی نہیں آتا۔ جبکہ یہ صرف مجھے پتہ ہے یا میرے ایک دوست کو کہ مسئلہ تواسی طرح ہے اور بعید نہیں کہ اب بھی ہر ہفتے آتا ہو لیکن سافٹ وئیر اب سمجھدار ہوگیا ہے مجھے تکلیف نہیں دیتا اور اپنی تکلیف کا خود ہی علاج کرلیتا ہے وہ بھی کسی کو بتائے بغیر کہ کس تکلیف سے گزرا ہے چارہ۔:)
 

سید ذیشان

محفلین
میں بھی ایک اعتراف کرنا چاہتا ہوں کہ انجنئرنگ کے دوران پہلے سال میں دو پروگرامنگ کے کورس پڑھے۔ اور اس وقت تک مجھ Debug موڈ کا علم ہی نہیں تھا۔ کیسے میں نے لمبے لمبے پراجیکٹ پورے کئے، یہ صرٍف مجھے اور خدا کو معلوم ہے۔ :p خاص طور پر ڈیٹا سٹرکچرز کے پراجیکٹ جن میں میموری کے بہت خراب قسم کے ایرر آتے تھے۔
لیکن اس کا فائدہ یہ ہوا کہ میں خود ایک طرح سے ڈیبگر بن گیا اور اب پروگرام دیکھ کر بہت آسانی سے خرابی نکال لیتا ہوں :)
 

رانا

محفلین
پروگرامنگ کی مدد سے چور پکڑنا۔
سب کے کان کھڑے ہوگئے ہوں گے کہ ہیں یہ کیا پروگرامنگ سے چور کیسے پکڑا جاسکتا ہے۔ تو جناب یہ کارنامہ تو میں سر انجام دے چکا ہوں لیکن وہ پیسوں کا چور نہیں تھا بلکہ وقت کا چور تھا۔ یہ بھی ان دنوں کی بات ہے جب میں لیب میں جاب کرتا تھا۔ ہماری لیب 24 آورز تھی اور اسٹاف کی تین شفٹیں چلتی تھیں۔ ہماری لیب میں ایمپلائز کی حاضری کے لئے ایک فنگر اسکین سسٹم لگا ہوا تھا۔ یہ سسٹم اندر مین لیب میں ایک کمپیوٹر کے ساتھ منسلک تھا۔ ایک بار یہ ہوا کہ سرور کا ٹائم تبدیل ہوگیا جس کی وجہ سے بہت سوں کی حاضری غلط وقت پر لگی۔ میڈم کو سب کے ریکارڈز سافٹوئیر سے جاکر ایک ایک کرکے درست کرنے پڑے۔ کچھ دنوں بعد پھر یہ مسئلہ ہوا۔ میڈم نے مجھ سے ذکر کیا تو میں نے کہا کہ شائد سرور کے مدربورڈ کا سیل تبدیل کرنے کی ضرورت ہے۔ نیا سیل لاکر ڈال دیا۔ کچھ دن بعد پھر مسئلہ آگیا۔ اب میڈم کے کان کھڑے ہوئے اور مجھے بلایا۔ اب کی بار تو مجھے بھی شک ہوگیا اور ہم دونوں ایک نتیجے پر پہنچے کہ کوئی اپنی حاضری لگاتے ہوئے ٹائم کے ساتھ چھیڑچھاڑ کرتا ہے اور حاضری لگا کر ٹائم دوبارہ ایڈجسٹ کردیتا ہے۔ جب کبھی دوبارہ ایڈجسٹ کرنا بھول جاتا ہے تو پھر بعد میں ہمیں یہ مسئلہ فیس کرنا پڑتا ہے۔ میڈم نے مجھے کہا کہ کسی طرح پتہ لگاؤ کون ہے جو حاضری میں ڈنڈی مارتا ہے۔ شوقیہ پروگرامر کا دماغ ویسے بھی چیلنجنگ ٹاسک ڈھونڈتا پھرتا ہے۔ میں نے اس پر غور کرنا شروع کردیا اور ایک حل سمجھ میں آگیا۔ میں نے ایک پروگرام بنایا جو ہر پانچ سیکنڈ کے بعد سسٹم کا ٹائم اٹھاتا اور ایکسس کی فائل میں ایک ٹیبل میں پھینک دیتا۔ پھر پانچ سیکنڈ بعد ٹائم اٹھاتا اور پہلے پھینکے گئے ٹائم کے ساتھ کمپئر کرتا۔ اگر تو فرق اتنا ہی ہوتا جتنا کہ ایکسپیکڈ ہوتا تو ٹیبل کے پرانے ریکارڈ پر ہی نیا ٹائم اپڈیٹ کردیتا۔ لیکن اگر فرق غیرمتوقع ہوتا تو نیا ٹائم نئی row میں انسرٹ کردیتا۔ اس پروگرام میں کیونکہ ایک ہی فارم تھا اس کی ویزیبل پراپرٹی میں نے فالس کی کیونکہ اس کے علاوہ مجھے کوئی طریقہ نہیں آتا تھا پروگرام کو دوسروں سے چھپانے کا۔ اور سرور پر جاکر رن کردیا۔ اگلے دن جب میں آیا تو میں نے سب سے پہلے ایکسس کی فائل کا ٹیبل چیک کیا اور پتہ لگ گیا کہ رات کوئی دس بجے کے بعد ٹائم میں گڑبڑ ہوئی ہے۔ میں نے میڈم کو جاکر صحیح ٹائم اور تبدیل شدہ ٹائم بتادیا اور کہا کہ اب آپ اٹینڈینس سافٹوئیر کی رپورٹ چیک کرکے دیکھ لیں کہ اس وقت کس نے حاضری لگائی ہے۔ پھر اس بندے کی جو کلاس ہوئی ہوگی وہ ظاہر ہے۔;)
 
Top