शीर्षक देखें, लेकिन मैं तकनीकी दृष्टिकोण से पूछ रहा हूं, नहीं
मेरी 40 साल की कुंवारी भतीजी को डेट पर ले जाओ या तुम्हें निकाल दिया जाए।
शीर्षक देखें, लेकिन मैं तकनीकी दृष्टिकोण से पूछ रहा हूं, नहीं
मेरी 40 साल की कुंवारी भतीजी को डेट पर ले जाओ या तुम्हें निकाल दिया जाए।
जवाबों:
नील स्टीफेंसन के विज्ञान-फाई थ्रिलर स्नो क्रैश का विपणन करने के लिए, मुझे "सौम्य" कंप्यूटर वायरस लिखने के लिए कहा गया था। यह "सौम्य" उपयोगकर्ता के कंप्यूटर को संभालने और बर्फ, उर्फ, "बर्फ दुर्घटना" के साथ स्क्रीन को बदलने का दिखावा करेगा। एक या दो मिनट के बाद, बर्फ फीका हो जाएगा और पुस्तक के लिए एक विज्ञापन द्वारा प्रतिस्थापित किया जाएगा। यह "सौम्य" होगा, आप देखें। यह वायरस सामान्य तरीकों से फैल जाएगा, लेकिन किसी को भी बुरा नहीं लगेगा क्योंकि उनके कंप्यूटर को लेने के बाद "आपको बस एक मजेदार विज्ञापन मिलेगा और फिर राहत मिलेगी कि आपके कंप्यूटर में कुछ भी बुरा नहीं हुआ है।"
मुझे वास्तव में एक प्रमुख विश्वव्यापी निगम में ऐसा करने के लिए कहा गया था। मुझे एक ज्ञापन लिखना था जिसमें बताया गया था कि इससे सारे कानून टूट जाएंगे और सभी 17 बुरी चीजें हो सकती हैं, अगर वे वास्तव में मुझे इस पर अमल करते हैं।
"यह DLL जो आपने लिखा है वह केवल 17kb है। क्या आप इसे बड़ा बनाने के लिए कुछ कोड जोड़ सकते हैं? क्लाइंट हमें बहुत पैसा दे रहा है, और हम चाहते हैं कि उन्हें उनके पैसे मिलें।"
Visual SourceSafe का उपयोग करें।
"आप जानते हैं कि यह बहुत बड़ा 20 वर्षीय कोबोल कार्यक्रम है जिसमें ढेरों-कठोर व्यावसायिक नियमों के ढेर और ढेर हैं जो हमारी कंपनी को कम या ज्यादा परिभाषित करते हैं? क्या आप इसे .NET में परिवर्तित करना चाहेंगे?"
ओह।
हम कुछ हफ्तों में लाइव हो जाते हैं।
मुझे शुभकामनाएँ दें..
मेरे भाई और मैं कई साल पहले एक बहुत ही प्रसिद्ध रॉक स्टार के लिए मल्टीमीडिया हेवी-वेबसाइट पर काम कर रहे थे।
जब ग्राहक ने साइट को देखा तो उसने कुछ जेपीईजी पर कुछ संपीड़न कलाकृतियों को देखा और पूछा कि उनके साथ क्या गलत था। हमने बताया कि छवियों को बैंडविड्थ प्रयोजनों के लिए संपीड़न की आवश्यकता होती है और यह कि छवियां वर्तमान में लगभग 80% गुणवत्ता पर संपीड़ित थीं। वह नाराज था और उसने कुछ कहा
मैं नहीं मिला हूँ जहाँ मैं आज 80% से बातें कर रहा हूँ, इसे 100% पर सेट करें।
हमने यह समझाने की कोशिश की कि यह उपयोगकर्ताओं को कैसे प्रभावित करेगा, लेकिन उसके पास कोई नहीं होगा। यह अब तक की सबसे धीमी "आभासी दुनिया" वेबसाइट का परिणाम है। यह वास्तव में हुआ ।
हमें साइट के लॉन्च में दो सप्ताह की देरी करने की आवश्यकता है क्योंकि बुध प्रतिगामी है और नई चीजों को शुरू करने के लिए यह एक बुरा समय है।
जाहिर तौर पर एक एरोप्लेन पर कुछ बिजनेस मैगज़ीन पढ़ने के बाद कि XML कितनी हॉट नई तकनीक थी (यह लगभग 2002 थी), हमारे एक अधिकारी ने मुझसे पूछा कि क्या हमारे एप्लीकेशन ने एक्सएमएल का उपयोग किया है, जब मैंने कहा कि नहीं, उसने मुझसे पूछा कि क्या हम इसे जोड़ सकते हैं।
अब, मैं XML प्रारूप में फ़ाइलों को आयात / निर्यात करने के लिए एक फीचर के बारे में बात नहीं कर रहा हूं, वह बस इसे बिना किसी कारण के आर्किटेक्चर का हिस्सा बनाना चाहते थे क्योंकि यह इस समय लोकप्रिय था और हमारे ऐप को विश्वसनीयता प्रदान करेगा।
"अभी, उपयोगकर्ता नाम के लिए विशिष्ट होना आवश्यक है, और पासवर्ड नहीं हैं। क्या हम इसे दूसरे तरीके से बना सकते हैं?"
लगभग 7 साल पहले मैंने एक bespoke सॉफ्टवेयर की दुकान पर काम किया, जिसने अपने एक उत्पाद को बेचने का फैसला किया। यह कुछ उद्योग के लिए एंड-टू-एंड ऑपरेशन सूट था। खैर, यह उद्योग सुपर तकनीकी होने के लिए नहीं जाना जाता था, इसलिए किसी तरह हमने अपने सर्वर और आईटी बुनियादी ढांचे के लिए तीसरे पक्ष के तकनीकी समर्थन प्रदान करने के बजाय इसे स्वतंत्र छोटे व्यवसाय आईटी सलाहकारों को प्रदान किया।
एक दिन, एक ग्राहक के सर्वर को डिस्क भ्रष्टाचार का सामना करना पड़ा। हमने जो सर्वर बेचा था, वह एक एडेप्टेक RAID नियंत्रक के साथ कॉन्फ़िगर किया गया था, एक RAID 1 दर्पण के लिए सेट किया गया था। उनका एप्लिकेशन डेटाबेस टोस्ट था। उन्होंने महीनों में बैकअप प्रदर्शन नहीं किया था। उनके द्वारा प्रदर्शन किया गया बैकअप अनुपयोगी था। उन्होंने 8 महीने का डेटा खो दिया। उन्होंने इस खोजी कार्य को संभालने के लिए एक आईटी सलाहकार को काम पर रखा।
फोन कॉल्स की गणना की गई, और बिक्री प्रबंधक (असंभव सुविधाओं के लिए जाना जाता है) ने स्पष्ट रूप से उन्हें बताया कि इसका ध्यान रखा जाएगा, और इसे एक अनुबंध में लिखा था।
बिक्री प्रबंधक ने ग्राहक से वादा किया कि हम यह सुनिश्चित करेंगे कि एप्लिकेशन डेटाबेस और किसी भी अन्य एप्लिकेशन-संबंधित फ़ाइलों को RAID नियंत्रकों द्वारा कभी भी दोहराया नहीं जाएगा यदि फ़ाइलों को भ्रष्ट माना जाता है। कोई भी कॉन्फ़िगरेशन आवश्यक नहीं होना चाहिए। हां। हमें कहा गया था कि इस कार्यक्षमता को 2 सप्ताह में वितरित करें, या ग्राहक हमें आग लगा देगा।
तो प्रोग्राम मैनेजर - जिनके बेल्ट के नीचे कुछ बड़े उद्यम सीआरएम उत्पाद, और अन्य गंभीर विकास सफलताएं थीं, और मेरी सीओओ और बिक्री प्रबंधक के साथ बैठक हुई। कार्यक्रम प्रबंधक इस बात का विवरण दे रहा था कि यह कितना असंभव, असंभव और पागलपनपूर्ण है। बिक्री प्रबंधक (सैन्य पृष्ठभूमि) बस उसके चेहरे में चिल्लाएगा (शाब्दिक रूप से!), "मुझे परवाह नहीं है! RAID चीज़ को बनाने में कितना मुश्किल हो सकता है RAID? उनका डेटा अन्य ड्राइव पर ठीक होगा यदि! RAID चीज़ ने इसे खराब नहीं किया था! "
उस बैठक के अंत में, कार्यक्रम प्रबंधक शून्य-दिन के नोटिस के साथ बाहर निकल गया। इसलिए मुझे अब यह काम सौंपा गया था। अगले हफ्ते, मैंने एडाप्टेक और एलएसआई लॉजिक दोनों को एक कॉन्फ्रेंस कॉल के लिए एक इंजीनियर प्रदान करने के लिए याचिका दी, बस बिक्री प्रबंधक के चेहरे पर हंसी लाने के लिए।
अंतत: उन्होंने समझौता किया, और सौदेबाजी के अपने अंत को आयोजित किया। और वे विस्तार में चले गए कि यह कितना हास्यास्पद था। LSI का लड़का विशेष रूप से कठोर था - उसने कुछ भी चीनी का कोट नहीं किया था।
मुझे इस सुविधा को लागू नहीं करना था। मुझे जो लागू करना था वह एक कस्टम सुरक्षा योजना थी जो एक ग्राहक द्वारा अनुरोध की गई थी, जो उन्हें एप्लिकेशन के किसी भी नियंत्रण को नियंत्रित करने की अनुमति देगा - नियंत्रण के आधार पर नियंत्रण के रूप में - दृश्यमान, अक्षम, सक्षम, केवल पढ़ने या लिखने के लिए । सिद्धांत रूप में, 146,000 संयोजन थे। और अगर आपने गलती से कह दिया ... नियंत्रण समूह को अक्षम कर दिया, तो आपको अनजाने दुष्प्रभाव होंगे। कहने की जरूरत नहीं है, जब मुझे यह अल्टीमेटम दिया गया था कि इसे लागू किया जाना है, तो मैंने शून्य-दिन के नोटिस के साथ छोड़ दिया।
+1
"शून्य-दिन के नोटिस के साथ छोड़ें" के लिए, क्योंकि कभी-कभी आपको बस छोड़ना पड़ता है, और कुछ लोगों को कभी नहीं मिलता है और मडलिंग करते रहते हैं।
उन्होंने मुझे एक वाणिज्यिक उत्पाद खोजने के लिए कहा जो स्वचालित रूप से स्रोत कोड बग को ढूंढ और ठीक कर सके।
अभी भी खोज रहा है..साल 2001 :)।
मेरे पास एक बार एक ग्राहक विनिर्देश था, जो कि समय में पीछे की यात्रा करने में सक्षम कोड के लिए कहलाता था।
मेरे नियोक्ता ने ग्राहक के लिए डेटा काटा, और हम इसे फ़ाइल प्रारूप X में दस मिनट के अंतराल पर सुबह 9 बजे और शाम 5 बजे के बीच वितरित करने के लिए थे, अंतिम वितरण के लिए सहेजें, जो प्रारूप Y (एक अलग पाद के साथ X) में था। मैंने बस इतना ही किया ... और वे पागल हो गए। हम कम-मात्रा डेटा एकत्र कर रहे थे, और वास्तव में किसी भी दिन वितरित करने के लिए केवल एक या दो डेटा बिंदु थे।
"शीघ्र फिल्मों के साथ हमें छोड़ दिया !!!" वे रोये। "पांच बार हर मिनट हमारे बंदियों को शामिल किया गया है!"
ठीक है। इसलिए, मेरे कोड ने हर दस मिनट में जाँच की, और केवल तभी डिलीवर किया जब डिलीवर करने के लिए कुछ था। काफी उचित।
"फॉरमैट वाई में पिछले फ़ाइल का होना जरूरी है !!!" वे चिल्लाए। "आधुनिक प्रौद्योगिकी का उपयोग करता है और हमारे पास है! FIX आईटी या हम आपको एक मैस्टोडन फ़ेमूर के साथ मिलेंगे! *"
(* - यह संभव है कि मैं बातचीत के कुछ हिस्सों को गलत बता रहा हूँ।)
"तो, मैं केवल फ़ाइल डिलीवर करने के लिए हूँ अगर डिलीवर करने के लिए ताज़ा डेटा है।"
"हाँ।"
"और दिन के लिए अंतिम वितरण एक अलग फ़ाइल प्रारूप माना जाता है।"
"हाँ।"
"इसके अलावा मेरे पास यह जानने का कोई तरीका नहीं है कि दिन के अंत तक कौन सी फ़ाइल दिन के अंतिम होगी।"
"हाँ।"
"तो मेरे लिए इसे लागू करने का एकमात्र तरीका कोड लिखना है जो दिन के अंत में समय के साथ पीछे की ओर जाता है, जो कि अंतिम वितरण के रूप में प्रारूप को फिर से बनाता है।"
"आपको लगता है कि यह स्कोर स्कोर है? हम भविष्य के लिए वापस आ गए हैं। BANN TANNEN हमें अमेरिका में लाता है।"
मैंने मना कर दिया, क्योंकि भाग में उल्लंघन का कारण अनैतिक प्रोग्रामिंग प्रथा है, क्योंकि CPAN.org में कोई मॉड्यूल नहीं था जो मुझे ऐसा करने देता। (मैंने जाँच की।) अंत में, उन्होंने मुझे दिन के अंत में प्रारूप वाई में एक फ़ाइल भेजने की अनुमति दी, भले ही इसका कोई वास्तविक डेटा हो या नहीं। मुझे पूरा यकीन है कि उनका बैंडविड्थ हिट होने से बच गया।
+1
"उल्लंघन करने का कारण एक अनैतिक प्रोग्रामिंग प्रथा है"। अब एक नियम है जिस पर अधिक ध्यान देने की आवश्यकता है।
बिना किसी कारण के, मुझे एक निजी बैठक में लाया गया, और यह नहीं बताया कि मेरे कंप्यूटर की निगरानी की जा रही है या नहीं, कभी भी किसी भी कारण से अपने कार्य प्रबंधक की जाँच न करें। मैंने पूछा कि क्या वे मेरे कंप्यूटर की निगरानी कर रहे हैं, और बताया गया (मोटे तौर पर) "यह सिर्फ एक निवारक बात है - आप जानते हैं, हमारे वकील ने हमें कर्मचारियों को इस बारे में बताने के लिए कहा था - लेकिन आप जानते हैं, हम वास्तव में नहीं कह सकते हैं - - लेकिन मैं अभी इसकी निगरानी नहीं कर रहा हूं। ''
(कुहनी से, मुझे लगता है कि वे मेरे कंप्यूटर की निगरानी कर रहे थे, बस नहीं, जबकि वे मुझे किसी भी निगरानी कार्यक्रम की तलाश नहीं करने के लिए कह रहे थे। वास्तव में, कुछ हफ्ते बाद, मैं जल्दी आ गया और सचमुच माउस को मेरी स्क्रीन पर घूमते हुए देखा जैसे कि दूरस्थ - इसलिए मैंने सीईओ की खिड़की से देखा और उसे दूर से अपने लैपटॉप पर अपने कंप्यूटर पर क्लिक करते देखा।)
मैंने एक बार एक नुकीले बालों वाले मालिक के साथ एक लंबी "चर्चा" की थी जिसने जोर देकर कहा था कि हम 2 को थोड़ा डेटाटाइप में स्टोर कर सकते हैं क्योंकि यह "केवल एक अंक था।"
मुझे जो बेवकूफी भरी बात करने के लिए कहा गया है, वह शायद एक बहुत बड़े प्रोजेक्ट का पुनर्लेखन है। यह 350k लाइनों के बारे में था, सभी C ('सहायक' लिपियों के लिए थोड़ा सा पर्ल के साथ मिलाया गया) और ग्राहकों को इससे कोई फर्क नहीं पड़ता था कि इसमें क्या हुआ।
लगभग एक साल बाद, हमारे पास था:
असल में, हमने ऐसा कुछ भी नहीं किया जो समझदार रिफैक्टिंग पूरा न कर सके। लेकिन मेरे मालिक खुश थे, हमें सहायक स्क्रिप्ट से छुटकारा मिला।
मैं इसे समय और मौजूदा कोड का सबसे अहंकारी अपशिष्ट मानता हूं जो मैंने कभी देखा है।
ग्राहक: हम आपके डेटाबेस सॉफ़्टवेयर का उपयोग कई वर्षों से कर रहे हैं, इसके साथ अपने स्वयं के एप्लिकेशन विकसित कर रहे हैं और समय-समय पर आपको मदद के लिए बुला रहे हैं।
मैं: हाँ, हम आपके साथ व्यापार करने की सराहना करते हैं।
ग्राहक: हाँ। हर बार जब हम कॉल करते हैं, तो आप हमें एक नई सुविधा का उपयोग करने का तरीका बताते हैं, या आप हमारे उपयोग को डीबग करने में मदद करते हैं, या किसी समस्या के लिए समाधान प्रदान करते हैं।
Me: यकीन है, हम हमेशा सहायता के लिए खुश हैं।
ग्राहक: कभी-कभी, आपके उत्पाद में एक वास्तविक बग होता है, और आपकी कंपनी इसे ठीक करती है और हमें एक सॉफ़्टवेयर अपडेट देती है।
मैं: हम अपना सर्वश्रेष्ठ करते हैं।
ग्राहक: ठीक है, अब हमें आपसे जो कुछ भी चाहिए वह कुछ आश्वासन है कि हमारे पास और कोई समस्या नहीं होगी।
मुझे: । । ।
मुझे हमारे सॉफ्टवेयर की एक प्रस्तुति में एक प्रमुख बहुराष्ट्रीय संभावित ग्राहक को लिखने के लिए कहा गया है जिसका हमने "स्पेगेटी कोड" कोडिंग तकनीक का उपयोग किया है।
बेशक, हम इटली में हैं ... अच्छा लग रहा है।
संस्करण नियंत्रण प्रणाली में इस्तेमाल होने वाले लोगों से मिलान करने के लिए मेरे सिंटैक्स हाइलाइटिंग रंगों को बदलना।
चलो देखते हैं:
C ++ में प्रोग्राम लिखें
क्या आप इस 10-पृष्ठ की रिपोर्ट ले सकते हैं, जो मैंने आपसे एक शब्द दस्तावेज़ के रूप में तैयार करने और इसे पावरपॉइंट प्रेजेंटेशन में बनाने के लिए कहा था क्योंकि मैं वास्तव में एक दृश्य विचारक हूं और वास्तव में लिखित रिपोर्ट नहीं पढ़ूंगा जो मैंने आपसे बनाने के लिए कहा था?
ठीक है, मैं चाहता हूं कि आप एक घर की इस तस्वीर को स्कैन करें, जब मैं वापस आऊंगा, तो आप मुझे इसका पिछला हिस्सा दिखाने में सक्षम होना चाहिए।
"मुझे यह ओरेकल डेटाबेस के काम करने का तरीका पसंद नहीं है। हम सिर्फ अपना डेटाबेस क्यों नहीं लिखते हैं?"
(बेशक, यह 15 साल पहले था, लेकिन अभी भी!)
मुझे एक iframe के अंदर एक प्रतियोगी की वेबसाइट से लेख लोड करने के लिए कहा गया था जो हमारी वेबसाइट की त्वचा के अंदर होगा, जिससे यह ऐसा लगेगा जैसे यह हम से आया है।
मेरे लिए, पागलपन (और संभवतः, सबसे मजेदार) था
इन (आउट-डेटेड वेब तकनीक) कोड की 10 मिलियन लाइनें देखें? इसे वर्किंग Asp.net साइट में बदलने के लिए कंपाइलर लिखें।
इसने कभी भी काम करने वाले संस्करण को नहीं उतारा (बेशक, मैंने उन्हें यह बताने की कोशिश की कि यह अव्यवहारिक था), लेकिन यह मजेदार तरीका था।
हमारी कंपनी द्वारा विकसित एक एप्लिकेशन की एक प्रमुख विशेषता दस्तावेज के पूर्ण-पाठ द्वारा बड़ी मात्रा में दस्तावेजों की खोज करने की क्षमता थी। हमारे ग्राहकों में से एक के लिए एक विपणन प्रस्तुति में एक प्रतियोगी ने निम्नलिखित दावा किया,
हमारी खोज तकनीक बेहतर है क्योंकि यह केवल दस्तावेजों के पाठ को नहीं खोजती है, यह बाइनरी फॉर्म में वास्तविक फ़ाइल के 'बिट्स और बाइट्स' को भी खोजती है।
उन्होंने एक हास्यास्पद उदाहरण दिया कि कैसे "बूट" और "बोट" शब्दों के दशमलव अस्की प्रत्यावर्तन द्विआधारी रूप में समान शब्दों की तुलना में बहुत कम थे, जब आपने प्रतिनिधित्व में वास्तविक संख्यात्मक अंकों की तुलना की थी। इसलिए 1 और 0 के आधार पर खोज करना अधिक सटीक रूप से परिलक्षित होता है कि कैसे वे दो शब्द समान रूप से दिखाई देते हैं, और इस प्रकार याद में सुधार हुआ है।
स्वाभाविक रूप से मुझे इस तकनीक पर शोध करने का काम सौंपा गया था, जो मुझे लगता है कि एक विपणन व्यक्ति को पूरी तरह से एक प्रोग्रामर की गलतफहमी का परिणाम था, और एक प्रतिक्रिया का मसौदा तैयार करना जो हम अपने प्रस्ताव में शामिल कर सकते थे।
प्रोग्रामर की छोटी टीम, बॉस चाहते हैं कि हम एक छोटी एयरलाइन (निश्चित रूप से बहुत कम समय सीमा में) के लिए टिकट आरक्षण प्रणाली करें। टीम का कहना है:
- जैसा कि आप कल्पना कर सकते हैं, हमें इस परियोजना के लिए कुछ परीक्षकों की आवश्यकता होगी
बॉस कहते हैं:
- चिंता न करें, कार उद्योग से सीखें। वे समय-समय पर कारों को याद करते हैं: उपयोगकर्ता परीक्षण करेंगे।
मैं एक मेनफ्रेम सपोर्ट टीम का हिस्सा था जिसने एक डेटा सेंटर में अन्य सपोर्ट टीमों के साथ शिफ्ट किया था। पारी के बाद हम आमतौर पर प्रबंधकों और अगली पाली की टीम के साथ एक ब्रीफिंग करेंगे। एक दिन हमारे नए निदेशक ने दिखाया और सवाल पूछा: "आपकी शिफ्ट के दौरान औसत सीपीयू लोड केवल 72% था, जबकि पिछली शिफ्ट 95% के पास थी? मुझे लगता है कि अगर हम असली मेहनत करते हैं, तो हम अंततः 100% सीपीयू लोड प्राप्त कर सकते हैं! "
लगभग 12 साल पहले जब मैं कॉलेज में था तब मैंने विंडोज के लिए डेटा मॉडलिंग एप्लिकेशन पर काम किया था। Win32 कोड की लगभग 60,000 पंक्तियों के बाद यह परियोजना लगभग पूरी हो गई थी, आप जानते हैं, कोड विंडोज़ प्लेटफ़ॉर्म को लक्षित कर रहा है। फिर क्लाइंट ने कहा कि एप्लिकेशन को "वेब पर" चलाने की भी आवश्यकता है। उसे यह समझने में कठिन समय था कि इस "मामूली छोटी" आवश्यकताओं को बदलने से परियोजना पर इतना बड़ा प्रभाव कैसे पड़ सकता है। मैंने जावा में स्क्रैच से शुरुआत की, लेकिन प्रोजेक्ट को पूरा करने से पहले ही इसे खत्म कर दिया।
मैं 1996 में एक बड़े प्रोजेक्ट पर काम कर रहा था, जहां हम लाइव स्पोर्टिंग इवेंट्स की शुरुआत कर रहे थे। यह बातचीत हुई:
बॉस: अगले कार्यक्रम के लिए कार्यक्रम स्थल पर जाएं।
मैं: मुझे क्या करने की जरूरत है?
बॉस: वहाँ सिर्फ मामले में हो।
Me: बस के मामले में क्या?
बॉस: मामले में टेक लीड इसे खो देता है। उसने बहुत जोर दिया और मुझे नहीं पता कि वह क्या कर सकता है।
Me: और अगर वह इसे खो देता है, तो आप मुझे क्या करना चाहते हैं?
बॉस: बस उसे वहाँ से बाहर निकालो ताकि बाकी सभी लोग काम करना जारी रख सकें। मुझे परवाह नहीं है कि आप इसे कैसे करते हैं।