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

نکتہ ور

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

نیرنگ خیال

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

نیرنگ خیال

لائبریرین
:(

لو جی اب آپ ہمارے جہازوں اور ملنگوں کے پیچھے نا پڑیں اپنی نا معلوم زبان کی کہانیاں چالو رکھیں اور مین تو جہاز پر کوئی ایس بات نہین کرتا جو عام فہم نا ہو :roll: پر یہ کیا ہے ؟
VB6 = کمپیوٹر لینگوئج
WEB ActiveX = مائیکروسافٹ کا سیٹ آف ٹیکنالوجیز ہے جو کہ مختلف ایپلیکشنز کے درمیان معلومات شئیر کرنے کو استعمال ہوتا ہے۔ (مختصر ترین تعریف :p )
KML = کی ہول مارک اپ لینگوئج
dll = ڈائنامک لنک لائبریری
asp.net = کمپیوٹر لینگوئج
ڈپلائمنٹ = کسی بھی سافٹ وئیر کی تنصیب یعنی انسٹالیشن کا عمل
ریلیز مینجمنٹ = کوڈ کمپائل سے لے کر سیٹ اپ بنا کر ڈسٹری بیوٹ کرنے تک کا عمل
ورژن کنڑولنگ = کوڈ کی ہسٹری محفوظ کرنے کا عمل
چینج مینجمنٹ = پراجیکٹ کے کسی بھی حصے میں کسی طے شدہ یا غیر طے شدہ تبدیلی کا پہلے سے موجود پروڈکٹ پر اثر کو زیر بحث لانے کا عمل
کسٹم ڈویلپر = جو خود تو پروگرامر نہ ہو۔ مگر اپنے کام کرنے کے لیے اس کو سکرپٹ یا چھوٹی موٹی پروگرامنگ کرنی پڑے
انسٹال شیلڈ = آپ جو Setup.exe انسٹال کرتے ہیں۔ اس کو بنانے کا سافٹ وئیر
ڈویلپر سکس = انسٹال شیلڈ کا اک پرانا ورژن۔
پروڈکشن سرور = وہ کمپیوٹر جس پر آپ کی اپیلیکشن انسٹال ہو کر سروسز مہیا کرتی ہے۔

عسکری بھائی ہو سکتا ہے آپ ہم سب کو بنا رہے ہوں۔ مگر پھر بھی میں نے چھوٹی چھوٹی تعریف شامل کر دی۔ کہ آپ کے نہ صحیح کسی اور کے کام آجائے گی۔ :cowboy:
 

رانا

محفلین
یہ آٹو رن والی کہانی تو ہر انسٹالر کا حصہ ہوتی ہے عمومی طور پر۔۔ آپ جتنے بھی میسنجرز دیکھ لیں۔ یا وہ پروگرامز جو سسٹم ٹرے میں لوڈ ہوتے ہیں۔ سٹارٹ اپ کا حصہ ہوتا ہیں۔ اگر آپ رجسٹری سے کھیلنے کے عادی ہیں۔ تو اس میں دو رجسٹری نوڈز ہوتی ہیں۔ رن اور رن ونس۔۔ رن ونس میں فائل صرف اک بار لوڈ ہوتی ہے۔ اور ڈیلیٹ ہوجاتی ہے۔ جبکہ رن میں ہر بار لوڈ ہوتی ہے۔ :)
خیر آپ کو اک اور قصہ سناتا ہوں۔ وہ یہ کہ اگر ڈسک سپیس کم ہو تو ایسے انسٹالر جن میں سپیس چیک نہیں لگا ہوتا وہ فیل ہو جاتے ہیں۔ مجھے بھی حکم ہوا کہ انسٹالر کو چاہیے کہ دیکھے مناسب سپیس موجود ہے یا نہیں۔ میں نے بہت کوشش کی کہ کسی طرح انسٹال شیلڈ کے انجن کو استعمال میں لاکر یہ کام کر لوں۔ مگر وائے قسمت کے ناکامی ہوئی۔ اوپر سے حکم یہ کہ آج شام کی ریلیز کا حصہ بھی ہو یہ کام۔ میں نے اک سکرپٹ لکھا۔ جو کہ انسٹال ڈائریکٹری کی سپیس کیلکولیٹ کرتا تھا۔ اس کو موازنہ کے طور پر میں نے 500 ایم-بی کا پیرامیٹر ہاٹ کوڈ کر دیا۔ کہ انسٹالر سائز اس وقت 350 ایم-بی کے قریب تھا۔ وقت گزرتا گیا۔ انسٹالر بڑا ہوگیا۔:p لیکن کسی نے بھی کم سپیس والا ٹیسٹ رن نہ کیا۔ کوئی ڈیڑھ سال بعد وہی مسئلہ دوبارہ آگیا۔ اس وقت انسٹالر کا سائز قریب ایک جی-بی سے بھی بڑھ چکا تھا۔ ٹیسٹرز نے مجھے کہا کہ یہ آپ کا مسئلہ ہے۔ مگر میں نہ مانا۔ اور کہا کہ میرا جو مسئلہ تھا وہ میں نے بہت عرصہ ہوا حل کر دیا تھا۔ اور ثبوت کے طور پر پرانے بگ آئی-ڈیز اور ای-میلز دکھا دیں۔ واپس سیٹ پر آکر دیکھا تو 500 ایم-بی کا ہاٹ کوڈ پیرا میٹر دیکھ کر بہت ہنسا۔ چپکے سے کاسٹ اینالائز کا فنکشن کال کر کے اپڈیٹ کر دیا۔ :devil:
ہاہاہا۔ زبردست۔ یہ بھی آپ نے خوب شئیر کیا کہ پروگرامر کو بعض اوقات ایسی سچویشن سے بھی واسطہ پڑتا ہے جب وہ بڑے کانفیڈنس سے اپنے آپ کو برئی الذمہ ڈکلئیر کرتا ہے اور بعد میں اسی کا فالٹ نکلتا ہے۔;) ایسے میں پروگرامر کی مزید صلاحیتیں سامنے آتی ہیں کہ اس سچویشن سے اپنے کانفیڈنس کو زد پہنچائے بغیر کیسے نکلتا ہے۔:p
ایسا ہی ایک واقعہ شئیر کرتا ہوں کہ جس سے یہ بھی پتہ لگتا ہے بعض اوقات کئی کئی سال کا تجربہ رکھنے والے کنسلٹنٹ بھی کیسے کیسے بلینڈر مارتے ہیں۔ میں ایک ریٹیل ERP پر کام کررہا تھا جس کے لئے کمپنی نے ایک کنسلٹنٹ ہائر کیا ہوا تھا جو صرف ایک گھنٹے کے لئے آتا تھا اور مجھے کام دے کر چلاجاتا تھا اور پھر اگلے دن آکر پرانا کام چیک کرکے نیا کام دے جاتا۔ ڈیٹا بیس میں جن ٹیبلز کی ضرورت ہوتی ان کا اسکرپٹ وہ بنا کر لاتا تھا اور یہاں میرے سسٹم پر رن کرکے مجھے سمجھا دیتا کہ کس فیلڈ کا کیا پرپز ہے۔ ایک دن اس نے چارٹ آف اکاؤنٹس کے ٹیبل کا اسکرپٹ رن کرکے مجھے سمجھانا شروع کیا تو میں نے نوٹ کیا کہ ہر اکاؤنٹ کا ایک parent acount بھی ہے لیکن پیرینٹ اکاؤنٹ کی فیلڈ بجائے bigint ہونے کے varchar تھی۔ مجھے خیال آیا کہ یہ غلطی ہے اسے bigint ہونا چاہئے۔ میں نے اس کی توجہ اس طرف مبذول کرائی تو کہنے لگا کہ نہیں یہ ٹھیک ہے اس میں تم نے اکاؤنٹ کا نام سیو کرانا ہے۔ مجھے بڑی حیرت ہوئی لیکن کچھ نہ سمجھتے ہوئے سر ہلا دیا کہ مجھے پروفیشنلی اس فیلڈ میں آئے ہوئے جمعہ جمعہ آٹھ دن ہوئے تھے اور وہ برسوں کا گھاگ کنسلٹنٹ۔ میں اس سے کیا بحث کرتا اور فارم بنا کر ٹیبل سے میپ کرادیا۔ یہ اتنا بڑا بلینڈر تھا کہ مجھے اب بھی حیرت ہوتی ہے کہ توجہ دلانے کے باوجود اس نے یہ کیوں کیا۔ اب اسی سے ریلیٹڈ وہ واقعہ جہاں میرے ساتھ ویسی ہی سچویشن ہوئی جس سے آپ گزرے۔
پروجیکٹ مینیجر نے مجھے کہا کہ اب تک جتنا بنا ہے اس کو کمپائل کرکے میرے سسٹم پر انسٹال کردو میں اسے ٹیسٹ کرنا چاہتا ہوں۔ میں نے ان کے سسٹم پر انسٹال کردیا۔ انہوں نے کچھ ڈمی اینٹریز ڈالنا شروع کیں۔ جب اسی چارٹ آف اکاؤنٹ کے فارم پر پہنچے اور کچھ اینٹریز ڈال کر ایک پیرینٹ اکاؤنٹ کو مدون کرکے اس کا نام تبدیل کیا تو اس کے تمام چائلڈز غائب ہوگئے۔ پروجیکٹ مینیجر نے مجھے بلایا اور دکھایا کہ یہ کیا ہوا ہے۔ میں نے بڑے کانفیڈنس سے کہا کہ میں نے اسے ٹیسٹ کیا ہوا ہے میرے کوڈ میں کوئی مسئلہ نہیں ہے۔ آپ نے کچھ الٹا سیدھا کیا ہوگا۔:) اس وقت تک مجھے علم نہیں تھا کہ یہ مسئلہ کیوں آیا ہے۔ بہرحال میں نے کہا کہ بعد میں دیکھوں گا کہ کیا ہوا ہے۔ میں جیسے ہی اپنی سیٹ پر آیا ایک جھماکے سے ذہن میں خیال آیا کہ ارے یہ تو اسی پیرینٹ فیلڈ کا مسئلہ ہوگا کہ اکاؤنٹ کا نام تو انہوں نے تبدیل کردیا اب جہاں جہاں وہ اکاؤنٹ پیرنٹ فیلڈ میں تھا وہاں تو پرانا نام ہی ہے تو چائلڈز کیسے ظاہر ہوں گے۔ اب میں اس سوچ میں کہ انہیں کس منہ سے بتاؤں کہ یہ مسئلہ میری طرف سے ہی تھا۔:p میں نے سوچا کہ کسی طرح ان کے علم میں لائے بغیر یہ حل ہوجائے تو بات ہے۔ میں نے ڈیٹا بیس کھولا اگر فیلڈ سے چھیڑ چھاڑ کرتا تو کوڈ میں پتہ نہیں کہاں کہاں پرابلم آتی اور دوبارہ کمپائل کرنا پڑتا۔ میں نے اسکا اسٹورڈ پروسیجر کھولا اس میں اپڈیٹ کے کوڈ میں مزید یہ کوڈ ڈال دیا کہ اگر اکاؤنٹ کا نام اپڈیٹ ہو تو ساتھ ہی اس اکاؤنٹ کا نام پرانا نام پیرنیٹ فیلڈ میں سے سرچ کرے اور سب جگہ اپڈیٹ ماردے۔ اس طرح ایپلکیشن کے کوڈ سے چھیڑخانی کئے بغیر یہ مسئلہ صرف اسٹورڈ پروسیجر سے حل ہوگیا۔ پھر میں نے یہ سوچ کر کہ یہ بلینڈر تو ان کے کنسلٹنٹ کا ہے میں کیوں پریشان ہورہا ہوں۔ ان کو ساری بات بتائی۔ وہ خود بھی ڈیٹا بیس کو سمجھتے تھے اس لئے بات ان کی سمجھ میں آگئی اور حیران ہوکر مجھ سے پوچھنے لگے کہ اس نے ایسا کیوں کرایا۔ میں نے کہا یہ تو اس سے پوچھیں میں تو مزدور ہوں۔:p
 

عسکری

معطل
VB6 = کمپیوٹر لینگوئج
WEB ActiveX = مائیکروسافٹ کا سیٹ آف ٹیکنالوجیز ہے جو کہ مختلف ایپلیکشنز کے درمیان معلومات شئیر کرنے کو استعمال ہوتا ہے۔ (مختصر ترین تعریف :p )
KML = کی ہول مارک اپ لینگوئج
dll = ڈائنامک لنک لائبریری
asp.net = کمپیوٹر لینگوئج
ڈپلائمنٹ = کسی بھی سافٹ وئیر کی تنصیب یعنی انسٹالیشن کا عمل
ریلیز مینجمنٹ = کوڈ کمپائل سے لے کر سیٹ اپ بنا کر ڈسٹری بیوٹ کرنے تک کا عمل
ورژن کنڑولنگ = کوڈ کی ہسٹری محفوظ کرنے کا عمل
چینج مینجمنٹ = پراجیکٹ کے کسی بھی حصے میں کسی طے شدہ یا غیر طے شدہ تبدیلی کا پہلے سے موجود پروڈکٹ پر اثر کو زیر بحث لانے کا عمل
کسٹم ڈویلپر = جو خود تو پروگرامر نہ ہو۔ مگر اپنے کام کرنے کے لیے اس کو سکرپٹ یا چھوٹی موٹی پروگرامنگ کرنی پڑے
انسٹال شیلڈ = آپ جو Setup.exe انسٹال کرتے ہیں۔ اس کو بنانے کا سافٹ وئیر
ڈویلپر سکس = انسٹال شیلڈ کا اک پرانا ورژن۔
پروڈکشن سرور = وہ کمپیوٹر جس پر آپ کی اپیلیکشن انسٹال ہو کر سروسز مہیا کرتی ہے۔

عسکری بھائی ہو سکتا ہے آپ ہم سب کو بنا رہے ہوں۔ مگر پھر بھی میں نے چھوٹی چھوٹی تعریف شامل کر دی۔ کہ آپ کے نہ صحیح کسی اور کے کام آجائے گی۔ :cowboy:

اور یہ تو پہلے والے سے بھی مشکل ہے مجھے اس کی سب کی تشریح کر کے کون بتائے گا ؟ نوٹ آج مجھ مین عزیز امین بھائی بول رہے ہین :grin:
 

رانا

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

عسکری

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

ہمارا تو ایک ہی اصول ہے فلئیرز اینڈ بلنڈرز آر فار آرمی اینڈ ائیر فورس :grin:
 

رانا

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

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

لاکھوں ڈالر مالیت کی مرنیر 1 اسپیس پروب مکمل تباہ !
"28 جولائی 1962 ء کو مرینر اسپیس پروب جو کہ مرینر پروگرام کا پہلا راکٹ تھا، کو سیارہ زہرہ کی تحقیق کے لئے روانہ کیا گیا۔ مگر فلائٹ سافٹ ویئر میں موجود ایک بگ کی وجہ سے یہ راکٹ اپنے محور سے منحرف ہوگیا۔ بعد میں مشن کنٹرول کے رینج سیفٹی آفیسرز نے کئی ملین ڈالرز کی لاگت سے تیار ہونے والے اس راکٹ کو سمندر کے اوپر تباہ کردیا تاکہ راستے بھٹکنے کی وجہ سے یہ کسی شہری آبادی پر نہ گر کر جانی نقصان کا باعث نے بنے۔
تحقیقات کرنے پر انکشاف ہوا کہ فلائٹ سافٹ وئیر پروگرام جو کہ فورٹران میں لکھا گیا تھا، کے پروگرامز نے پنسل سے پیپر پر لکھے ہوئے ایک فارمولے کو غلط انداز میں کمپیوٹر کوڈ کی شکل دی۔ فارمولے میں صرف ایک ہائفن (-) موجود نہیں تھا۔ جس کی وجہ سے راکٹ اپنے راستے سے بھٹک گیا۔
یہ بھی کہا جاتا ہے کہ فلائٹ پروگرام میں ایک جگہ کوما کی جگہ غلطی سے نقطہ (.) لگا دیا گیا اور اسی اسٹیمنٹ میں ایک اسپیس ڈیلیٹ کردیا گیا۔ اسٹیٹمنٹ کو کچھ یوں ہونا چاہئے تھا:
DO 17 I = 1, 10
مگر کومے کی جگہ نقطہ لگانے اور اسپیس ڈیلیٹ کرنے کی وجہ سے یہ اسٹیٹمنٹ کچھ یوں ہوگئی۔
DO17I = 1.10
اس سے ملتا جلتا ایک بگ ناسا کے اوربٹ کمپیوٹیشن سسٹم میں بھی پایا گیا تھا جو کہ پروجیکٹ مرکری کے لئے تیار کیا گیا تھا۔"
 
ہمیں ایک واقعہ یاد آ رہا ہے جو کسی غلطی کی پردہ پوشی تو نہیں بلکہ محض ایک جگاڑ کہا جا سکتا ہے۔ :)

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

نیرنگ خیال

لائبریرین
رانا صاحب آپ تو بہت دور چلے گئے گاڑیوں اور سپیس سے مثالیں لینے۔۔۔ :p ہم آپکو مائیکرو سافٹ جس سے ہر خاص و عام کا پالا پڑتا ہے کی مثالیں دیتے ہیں :D
بڑے پیمانے پر ٹیمز کے درمیاں پیرالل پروگرامنگ کے دوران برانچ بنانا اک عام سی بات ہے۔ مزید یہ کہ ریلیز کے بعد بھی ہر ریلیز کی برانچ بنا دی جاتی ہے۔ ٹیم فاؤنڈیشن سرور 2010میں ورژن کنڑولنگ کے فیچر میں اک بڑا زبردست بگ ہے۔ اور وہ یہ کہ اگر آپ نے اک برانچ بنا دی ہے۔ اور Visualization فیچر آن ہے۔ جو کہ ٹیم فاؤنڈیشن سرور کا گرافیکل انٹرفیس ہے برانچنگ کو دکھانے کا۔ تو آپ اس برانچ کی کسی بھی چائلڈ نوڈ کو مزید برانچ نہیں کر سکتے۔ آپ کو اک عجیب و غریب سا ایرر آجائے گا۔ تو طریقہ یہ کہ آپ پہلے برانچ کو فولڈر میں کنورٹ کریں اور پھر برانچ
بنائیں۔ :cautious: مائیکروسافٹ سے کنسلٹ کرو تو وہ کہتے ہیں میاں ہمیں معلوم ہے اس کا۔ :evil:
دوسرا دلچسپ ایرر یہ ہے کہ وزٹا اور سرور 2008 سے پہلے رائٹ اسائنمنٹ کے لیے CACLS کی ایگزی استعمال ہوتی تھی۔ اس میں تبدیل کر کے ICACLS کر دیا۔ اور اک چھوٹا سا پیرامیٹر اور ڈال دیا شاپر ڈبل کرنے کو۔۔۔ :shock: اب اسکا مزیدار اثر یہ ہوا کہ اگر آپ کسی فولڈر کو شئیر کر کے اس کے رائٹس کے ساتھ چھیڑ خانی کرتے ہیں۔ تو وہ سیکیورٹی رائٹس کو ڈی آرڈر کر دیتا ہے۔ جس کی وجہ سے آٹومیٹڈ اینوارنمنٹ کے اندر بڑے دلچسپ قسم کے ایکسس ڈینائیڈ کے ایررز آتے ہیں۔ صاحبان کا فرمانا ہے کہ یہ بھی ہمیں معلوم ہے۔۔۔ :devil:
 

نیرنگ خیال

لائبریرین
پھر میں نے یہ سوچ کر کہ یہ بلینڈر تو ان کے کنسلٹنٹ کا ہے میں کیوں پریشان ہورہا ہوں۔ ان کو ساری بات بتائی۔ وہ خود بھی ڈیٹا بیس کو سمجھتے تھے اس لئے بات ان کی سمجھ میں آگئی اور حیران ہوکر مجھ سے پوچھنے لگے کہ اس نے ایسا کیوں کرایا۔ میں نے کہا یہ تو اس سے پوچھیں میں تو مزدور ہوں۔:p
ہمیں تو پتا چل جائے کہ غلطی اپنی نہیں تو دلیریاں دیکھنے والی ہوتی ہیں :laugh:
 

نیرنگ خیال

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

سعادت

تکنیکی معاون
ہمیں ایک واقعہ یاد آ رہا ہے جو کسی غلطی کی پردہ پوشی تو نہیں بلکہ محض ایک جگاڑ کہا جا سکتا ہے۔ :)

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

پس ثابت ہوا کہ تمام اچھے پروگرامرز سست ہوتے ہیں۔ :)
 
Top