- बचपन का कंप्यूटिंग 1992 में आठ साल की उम्र में नए स्कूल के कंप्यूटर लैब से शुरू हुआ, और एक छोटे औद्योगिक शहर के स्कूल में कंप्यूटर लैब होना अपने-आप में ही खास बात थी
- कंप्यूटर लैब के IBM PC compatible सिस्टम silica factory से मिले पुराने मशीन थे, और महीने में लगभग दो घंटे ही 5¼-inch floppy से MS-DOS और Logo चलाया जा सकता था
- hard disk नहीं थी और storage space बहुत कीमती था, इसलिए काम power off करते ही गायब हो जाता था, और प्रोग्राम संभाल कर रखने का तरीका लगभग कोड को कॉपी में हाथ से लिखना ही था
- असली कंप्यूटर समय बहुत कम होने की वजह से ज़्यादातर Logo programming घर पर pen और graph paper से होती थी, और दोस्त कोड की नकल करके उसमें बदलाव करते थे और फिर दोबारा टाइप करते थे
- Moon Bugs, Space Invaders, Digger, Grand Prix Circuit जैसे गेम्स ने उन्हें खुद बनाना चाहने की इच्छा छोड़ी, और 30 साल बाद भी उनकी आवाज़ और गंध तक साफ़ याद हैं
कंप्यूटर लैब से शुरू हुआ बचपन का कंप्यूटिंग
- Susam Pal का बचपन का कंप्यूटिंग 1992 में आठ साल की उम्र में नए स्कूल के कंप्यूटर लैब से शुरू हुआ, और उस समय एक छोटे औद्योगिक शहर के स्कूल में कंप्यूटर लैब होना अपने-आप में ही खास बात थी
- कंप्यूटर लैब की मशीनें शहर के केंद्र रहे silica factory से मिली पुरानी IBM PC compatible मशीनें थीं, और उन्हें महीने में लगभग दो घंटे ही इस्तेमाल किया जा सकता था
- कंप्यूटर लैब में जाने से पहले जूते उतारने पड़ते थे, और शिक्षक बताते थे कि इन महंगी मशीनों को धूल से बचाकर रखना ज़रूरी है
- ज़्यादातर कंप्यूटरों में monochrome CRT monitor लगे थे, hard disk नहीं थी, और RAM सिर्फ़ कुछ सौ KB तक सीमित थी
- हर बार 5¼-inch floppy disk से MS-DOS को memory में लोड किया जाता था, फिर दूसरी disk से
LOGO.COM चलाकर छोटे Logo programs लिखे जाते थे और turtle को चलाया जाता था
- hard disk नहीं थी और storage space बहुत सीमित था, इसलिए काम save नहीं होता था, और कंप्यूटर बंद करते ही सब गायब हो जाता था
- प्रोग्राम को बचाकर रखने का तरीका कोड को कॉपी में हाथ से लिखना था, और शुरुआती Logo programming का अलग रिकॉर्ड FD 100 में मौजूद है
कागज़ पर programming और गेम्स की यादें
- असली कंप्यूटर इस्तेमाल का समय बहुत कम था, इसलिए ज़्यादातर Logo programming घर पर pen और paper से होती थी, और graph paper पर नतीजे बनाकर प्रोग्राम को “test” किया जाता था
- इस तरह तैयार किए गए प्रोग्राम कंप्यूटर लैब में लगभग 30 मिनट तक सच में चलाए जा सकते थे
- एक यादगार Logo program घर के आकार की outline के साथ चलने वाली animated dotted line बनाता था, और दोस्त कोड कॉपी करके कुछ विवरण बदलकर अपना version बना लेते थे
- इस प्रोग्राम को लगभग पहले “free open source software” की तरह लिया गया, और उस पर एक अनौपचारिक license था: “जो चाहो करो, लेकिन अगर कोई मज़ेदार बदलाव करो तो दिखाना”
- इसका वितरण पूरी तरह analog था, और दोस्त pencil से कोड कॉपी में उतारते थे और फिर कंप्यूटर लैब में दोबारा टाइप करते थे
- Logo assignment सफलतापूर्वक पूरा करने पर शिक्षक कंप्यूटर गेम खेलने देते थे, और पहला खेला गया गेम Moon Bugs था
- पसंदीदा गेम्स में Space Invaders, Bricks, Grand Prix Circuit शामिल थे
- Space Invaders ने खुद गेम बनाना चाहने की इच्छा जगाई, लेकिन उस समय मालूम GW-BASIC और कंप्यूटर तक सीमित पहुँच के कारण साधारण text input/output programs से ज़्यादा जटिल कुछ बनाना मुश्किल था
- 2022 में वयस्क होने के बाद ही उन्होंने Invaders-शैली का गेम Andromeda Invaders बनाया, जिसमें 5 सेकंड इंतज़ार करने पर अपने-आप खेलने वाला mode भी शामिल है
- Windmill Software का Digger अपनी खुद की boot disk के साथ आता था, इसलिए पहले DOS disk डालने की ज़रूरत बिना सीधे boot होकर चल जाता था
- Accolade Inc. का Grand Prix Circuit
GPEGA command से चलता था, और यह ऐसा गेम था जिसके opening music का इंतज़ार किया जाता था
- जब Logo और GW-BASIC से सिर्फ़ बुनियादी 2D shapes बनाए जाते थे, तब keyboard input से explore की जा सकने वाली 3D virtual world की projection कंप्यूटर प्रोग्राम से बनना बेहद चौंकाने वाला लगता था
- 30 साल से ज़्यादा समय बाद भी कंप्यूटर लैब की मशीनों की आवाज़, POST beep sound, और बंद air-conditioned कमरे की खास गंध साफ़ याद है
- कभी अचानक किसी जगह वैसी ही गंध मिल जाए, तो वे बचपन के कंप्यूटिंग की शुरुआती यादों में लौट जाते हैं, और वह अनुभव आज भी विस्मय और खोज से भरी सबसे मज़बूत और जीवंत स्मृतियों में से एक है
1 टिप्पणियां
Hacker News की राय
1985 में C64 खरीदा था, और आज emulator या YouTube के ज़रिए उसके graphics और sound फिर से देख सकता हूँ, लेकिन पावर ऑन करते ही case से बाहर आती गर्म हुई circuit board की गंध आज भी हमेशा याद रहती है
साथ आया cassette player गलत tape head setting के साथ था, और क्योंकि उस समय internet नहीं था, किसी को समझ नहीं आता था कि ज़्यादातर games load क्यों नहीं होते। फिर भी program save और load हो जाते थे, और मैंने user manual तथा library से मिली programming किताबों के game listings देखकर BASIC programs टाइप करना और उन्हें अपनी cassette पर save करना शुरू कर दिया
manual में सिर्फ BASIC tutorial ही नहीं, बल्कि graphics, sprites, sound जैसी hardware features भी थीं, इसलिए मुझे पता चला कि किसी खास address पर कोई खास number
POKEकरने से sprite को screen पर दिखाकर चलाया जा सकता है। जब तक cassette player ठीक हुआ और bundle games load करने लायक बना, तब तक मैं programming में काफ़ी गहराई तक डूब चुका था, और यह महसूस करने लगा था कि अगर वे games भी किसी ने बैठकर बनाए हैं, तो मैं भी यह सीख सकता हूँ। उसके बाद से लगातार programming कर रहा हूँLOAD "*",8,1जैसा थोड़ा-बहुत programming सीखना पड़ता थाफिर भी Apple II, Sinclair, Ti99 जैसे competing machines की तुलना में feature के हिसाब से यह काफ़ी सस्ता था
स्कूल में Windows 3.1 वाले पुराने computers थे, और उन पर सिर्फ touch typing program ही चला सकते थे
पहला family computer 1995 में खरीदा था, और अगर ठीक याद है तो वह 166MHz Pentium / 16MB RAM / Windows 95 था, जिसकी उस समय कीमत लगभग 3,500~4,000 डॉलर थी। तीन साल बाद Half-Life रिलीज़ होने के तुरंत बाद उसकी एक copy मिली, लेकिन dedicated graphics card वाले उस computer पर भी वह बस मुश्किल से चल पाया। उस दौर में gamer होने का मतलब था कि latest graphics के साथ बने रहना बहुत महँगा पड़ता था
उससे पहले हमारे पास electric typewriter था, और computer का मुख्य उपयोग भी document writing और कामकाज के लिए था। मेरा पहला programming अनुभव HTML files edit करना था, और library में programming books ढूँढीं, लेकिन 3,000 आबादी वाले ग्रामीण इलाके में सिर्फ Pascal या Delphi की एक-एक किताब ही थी
मोहल्ले में कहा जाता था कि कुछ साल बड़ा एक genius बच्चा है जो “computer में सच में बहुत अच्छा” है, तो मैं उसे ढूँढने गया। उसके कमरे की shelf पर बड़ा Borland C++ box रखा था, और उसने अपना बनाया 3D flight simulator clone और Doom जैसा कुछ दिखाया, जिससे मैं पूरी तरह अभिभूत हो गया। dot-com boom के समय उसने बहुत सफलता पाई और college छोड़े बिना सीधे नौकरी पर चला गया
कुछ साल बाद जब मैं high school पहुँचा, तो एक semi-retired developer हमारे इलाके में आ बसा और स्कूल के साथ मिलकर Java programming class शुरू की। वह बहुत अच्छे teacher थे, और उसी समय मैंने तय किया कि मुझे computer से जुड़ा काम करना है
पहला यह था कि 1990 के शुरुआती दशक में मेरे पिता ने अपने self-publishing काम में मदद के लिए एक PC खरीदा, और उस समय के PCs की तरह उसमें QBasic और GORILLA.BAS जैसे game source code पहले से थे, जिन्हें मेरे जैसे अंतर्मुखी बच्चे ने, जो बहुत समय अकेले बिताता था, खुलकर छेड़छाड़ करके सीखा
दूसरा यह था कि मैं ऐसे high school में गया जहाँ computer lab का बजट ठीक-ठाक था और computer teacher बहुत open-minded थे। अगर आप भरोसेमंद लगते, तो वे आपको लगभग जो चाहो वह करने देते थे। स्कूल ज़्यादातर Mac-केंद्रित था, लेकिन high school के दौरान मुझे Microsoft की तरफ़ ज़्यादा रुचि थी, इसलिए graduation तक मैं स्कूल अख़बार के लिए Windows NT file·web server सेटअप और चलाने लगा। एक और दोस्त Linux में डूबा हुआ था, और उसे RedHat के साथ drafting room में कुछ वैसा ही करने की अनुमति मिल गई थी
स्वभाव और अवसर ठीक से मिल गए, और उसी की वजह से बाद के 25 साल मैंने tech industry में काम किया
अब जो बात चिंता देती है, वह यह है कि बहुत ज़्यादा technology बंद हो गई है। आज वैसी आज़ादी देने वाले स्कूल कम ही होंगे, phones में IDE पहले से install होकर नहीं आता, और “अनधिकृत” apps install करना भी निशाने पर है
बच्चों के लिए भी industry, tools और operating systems ज़्यादा खुले होने चाहिए। छूकर और ठीक करके देख पाना चाहिए — सबसे motivated बच्चे इसी तरह सीखते हैं। कहीं किसी hedge fund के returns maximize करने के लिए सब कुछ बंद कर देने से बेहतरीन प्रतिभाएँ बन ही नहीं पा रहीं, और America की financialization एक बड़ी गलती रही है
बेशक, यह उस समय के किशोर मेरे हिसाब से मज़ेदार था
लगभग 9 साल की उम्र में RPG Maker में अचानक variables समझ आने का वह पल मुझे याद है। उससे पहले HTML जैसी चीज़ें की थीं, लेकिन variables समझते ही जैसे दुनिया खुल गई; VB6 programs भी संभव लगने लगे, और अचानक सब कुछ समझ में आने लगा
मुझे लगता है कि जब बच्चा या किशोर एक बार यह समझ ले कि चीज़ें काम कैसे करती हैं, तो उसके बाद बहुत तेज़ी से आगे बढ़ सकता है। मैं चाहता हूँ कि मेरा बच्चा भी जितना जल्दी हो सके computing की बुनियाद समझे, क्योंकि तभी वह समझ पाएगा कि दुनिया की चीज़ें एक-दूसरे से कैसे जुड़ी हैं
हालाँकि बाद में फिर एक और realization हुआ, इसलिए अब मैं classes से बचता हूँ
1980 के दशक के मध्य का Tandy 1000 SX ही वजह बना कि मेरी पूरी ज़िंदगी तकनीक के इर्द-गिर्द घूमने लगी
ठीक-ठीक याद नहीं कि मेरी उम्र कितनी थी, लेकिन मैं एकल-अंकों की उम्र में था जब पिता इसे घर लाए थे, और वे एक स्थानीय retail chain के शुरुआती computer-based point-of-sale system और office mainframe को manage करते थे
cursive लिखना सीखने से पहले मैंने games चलाने के लिए sound और graphics card के IRQ interrupt सेट करने वाली batch files बनाना सीख लिया था, और 8~9 साल की उम्र में computer camp में BASIC से game बनाना सीखा। TandyNet पर पहली बार online होने का अनुभव मिला, और 90 के दशक के मध्य में HTML 0.9 से अपनी पहली website बनाई। वह एक उथल-पुथल भरा समय था, लेकिन वही आगे चलकर लगभग 30 साल लंबे मेरे IT career में बदल गया
आज के computers को लेकर मेरी बड़ी शिकायत यह है कि coding “सीखना” लगातार मुश्किल होता जा रहा है। Commodore जैसे systems में interface खुद programming language ही था, और एक मायने में उसे इस्तेमाल करने के लिए भी थोड़ी programming सीखनी पड़ती थी। iOS devices पर लंबे समय तक local development संभव नहीं था; शुरुआती दौर की तुलना में अब थोड़ी बेहतरी है, लेकिन अभी भी JIT की अनुमति नहीं है
मेरे लिए शुरुआत view source era से हुई थी। लगभग 2001 में मैंने Geocities page का HTML copy किया, Notepad में उसे बदला, और भले मुझे यह नहीं पता था कि programming language क्या होती है, लेकिन background color बदलना और marquee जोड़ना आता था
save करना, Alt-Tab से switch करना, और refresh करना—बस यही instant feedback मुझे पूरी तरह खींच लेने के लिए काफी था
गंध वाली बात मुझ पर गहराई से असर करती है। मैं एक university professor का बच्चा था, इसलिए university computer lab तक कुछ हद तक पहुंच मिल जाती थी, और professors के offices में plastic, dust, और हल्की जली हुई rubber जैसी गंध आती थी
वह गंध मेरे लिए एक पूरी दुनिया थी, और इसका मतलब सिर्फ शानदार games नहीं बल्कि उन adults की जादुई दुनिया तक पहुंच भी था जो उन machines को चलाना जानते थे
12~13 साल की उम्र में पिता ने मुझे square root equation की गणना करने वाले एक Turbo Pascal program का printout दिया और कहा कि इसे type करके चलाकर देखो; वहीं से मेरे programming career की शुरुआत हुई
बचपन में computers तक पहुंच पाने का सौभाग्य मुझे नहीं मिला, लेकिन ऐसे लेख खासकर आवाज़ की वजह से nostalgia जगाते हैं। सीमित resources के बावजूद उस दौर के लोग बहुत अच्छी चीज़ें बना लेते थे
क्या किसी और को games चलाने के लिए available memory निकालने हेतु MS-DOS startup settings optimize करने की कला याद है? मुझे
gorillas.basके अंदर झांकना भी याद हैशायद वही चीज़ मेरे लिए और सीखने और experiment करने की प्रेरणा बनी। मैं अपने बेटे को भी वैसी ही creative exploration के लिए प्रेरित करना चाहता हूँ, लेकिन आज की पीढ़ी के games और videos की खींचतान वाले माहौल में यह कैसे संभव होगा, समझ नहीं आता
DEVICE(HIGH)lines से छेड़छाड़ करने,FILES=औरBUFFERS=को adjust करने, औरMEMMAKER.EXEको बार-बार चलाने में बिताया, जैसे इस बार कुछ अलग हो जाएगा। लेकिन असली बात यह थी कि machine से वह काम कराना जो मैं चाहता था, न कि जो manufacturer चाहता थाआज के किसी बच्चे के लिए मैं शायद ऐसा game ढूंढूँगा जिसमें ठीक-ठाक modding API हो—मसलन Lua जैसी scripting इस्तेमाल की जा सके और multiplayer में वह जो बनाए उसे दोस्तों को दिखा भी सके
उसके बाद, Lua का इस्तेमाल जारी रखते हुए LÖVE जैसे package तक जाना अच्छा रहेगा, जहाँ game पर पूरा नियंत्रण मिल सके, ताकि वह programming को सचमुच कुछ बनाने के लिए ज़रूरी चीज़ों को explore और handle करना सीखे। अगर उसे low-level चीज़ों में रुचि हो तो मैं उसे और गहराई में जाने में मदद करूँगा, लेकिन शुरुआत के लिए modding और scripting सबसे अच्छे लगते हैं
Himem.sysथाconfig.sys,autoexec.bat, EMS, HIGHMEM, शुरुआती Sound Blaster drivers, mouse drivers, network drivers—सब सिरदर्द थेसबसे मुश्किल से चलने वाला game शायद Quarantine था, लेकिन वह निश्चित ही बेहतरीन games में से एक था। अपने समय के हिसाब से उसमें कमाल की imagination थी, वह एक Australian game था, और उसमें उन bands का music भी था जो बाद में मशहूर हुए
https://www.youtube.com/watch?v=QwO8XWbB1Pk&list=PLA5hK1g6CN... https://www.playdosgames.com/play/quarantine
मैं भी बचपन में computers इस्तेमाल करने लगा था और मुझे वे पसंद थे, मेरे पास Nintendo भी था, लेकिन आजकल के anti-screen trend को लेकर मन दुविधा में है
मेरा बेटा अभी बहुत छोटा है और मेरी पत्नी चाहती है कि वह screens का बिल्कुल इस्तेमाल न करे। मैं नहीं चाहता कि वह TikTok या Facebook इस्तेमाल करे, लेकिन कभी-कभी सोचता हूँ कि शायद एक Apple II ले आऊँ या Raspberry Pi emulator तैयार करूँ और उसके साथ वे पुराने छोटे games खेलूँ जो online नहीं होते थे
कड़ा “no screens” सोच मुझे child wellbeing क्षेत्र के गैर-तकनीकी leaders के हाथ में एक बहुत broad-brush leverage जैसा लगता है, और उसका कारण मैं समझता हूँ
लेकिन एक ऐसे व्यक्ति के रूप में जिसकी रोज़ी-रोटी इस बात से चलती है कि उसे बचपन में technology के साथ छेड़छाड़ और experimentation का मौका मिला, मैं अधिक balanced approach देखता हूँ। आप बच्चों के लिए internet से अलग एक Linux box भी रख सकते हैं, जिसे वे खुलकर टटोल सकें। Windows ने XP के बाद से काफी प्रगति की है, लेकिन मेरे हिसाब से वह पूरी तरह गलत दिशा में गया
ऐसा करने से वे Big Tech के psychological reinforcement loops या YouTube की चमकीली dopamine machine में फँसने से बच सकते हैं, और सच कहूँ तो मुझे लगता है कि “no screens” का असली मकसद भी वही है। ठीक से नियंत्रित exposure ज़रूरी है
उस दौर में graphics programming की अच्छी बात यह थी कि स्क्रीन पर कुछ बना दो, तो वह तब तक वहीं रहता था जब तक प्रोग्राम उसे मिटा न दे
इसी वजह से बढ़िया graphics आसानी से बनाए जा सकते थे। उदाहरण के लिए, अगर वृत्त के बिंदुओं की गणना करके उन्हें एक-एक करके प्लॉट किया जाए, तो स्क्रीन पर वृत्त बनते हुए साफ़ दिखाई देता था
“आधुनिक” graphics libraries, शायद SDL भी शामिल है, हर frame में पूरी स्क्रीन को फिर से draw करवाती हैं, जिससे यह तरीका मुश्किल हो गया, और वही असर पाने के लिए प्रोग्राम को पहले से draw किए गए सारे points याद रखने पड़ते हैं
पुराना workflow graphics programming को सच में मज़ेदार बनाता था, लेकिन आधुनिक fast rendering pipeline उबाऊ है और उसमें मज़ा कम है। ऐसी चीज़ों ने धीरे-धीरे computing का आनंद सोख लिया
80 के शुरुआती दशक में जब IBM PC आया था, तब Hercules का graphics card CGA से बेहतर एक हैरतअंगेज़ चीज़ था। मैंने अपने पिता के एक दोस्त के घर पर उससे वृत्त जैसी चीज़ें बनाकर देखी थीं, और उस कंप्यूटर पर graphics ज्यों का त्यों बना रहता था। स्क्रीन कैसे साफ़ करनी है, यह अलग से पता लगाना पड़ता था, लेकिन मेरे अपने कंप्यूटर में Hercules card नहीं था, इसलिए वहाँ वह बना नहीं रहता था। अब तक समझ नहीं पाया था कि मामला क्या था, लेकिन अब समझ आ गया