किशोर उम्र से ही मैं ऐसे कंटेंट का सपना देखता आया हूँ, और यह देखकर अच्छा लगता है कि काफ़ी advanced projects पर काम करने वाले programmers अपने काम की प्रक्रिया stream कर रहे हैं
इस तरह पर्दे के पीछे झांकने का मौका मिले तो जो चीज़ें जादू जैसी लगती थीं और उनकी जटिलता, दोनों बहुत हद तक कम हो जाती हैं
आजकल के बच्चों से जलन होती है कि वे जो भी सीखना चाहें, लगभग सब कुछ ढूंढ सकते हैं। पहले ऐसा बिल्कुल नहीं था
मैंने भी यही सपना देखा था, लेकिन मुझे अब भी लगता है कि गहरी और तकनीकी रूप से बेहतरीन सामग्री मिलना मुश्किल है
अच्छा होगा अगर हम ऐसे channels आपस में share करें, और मैं दूसरे channels के बारे में भी जानना चाहूँगा
मुझे जो दूसरा channel पता है वह है https://www.youtube.com/@LowLevelLearning
सख्ती से कहें तो programming channel नहीं है, लेकिन https://www.youtube.com/@StuffMadeHere भी मुझे बहुत पसंद है। यह शानदार engineering channel है
Marcan channel भी देखने लायक है। Apple ARM silicon पर Linux चलाने की प्रक्रिया लगभग 12 घंटे की है और कमाल की है, और इससे दिखता है कि Apple ने काफ़ी custom hardware इस्तेमाल किया है https://www.youtube.com/live/GxnWuXgj3JI?si=lUJ_7KdkylzXLryj
कुछ महीने पहले मैंने STM32F4 के लिए USB host driver लिखा था, और सबसे मुश्किल हिस्सा अच्छी documentation की कमी थी
peripheral में read/write registers को SVD में read-only के तौर पर map किया गया था, ऐसे bits set करने पड़े जो documentation में नहीं थे, और USB bulk-only transport एक ऐसे SCSI spec की ओर इशारा कर रहा था जो मौजूद ही नहीं था
आखिर में मुझे एक blog post मिली कि USB drive को चलाने के लिए Windows जो करता है, उसे लगभग हूबहू copy करना पड़ता है
सौभाग्य से मेरे पास USB frames decode कर सकने वाला oscilloscope था, जिससे यह समझने में बहुत समय बचा कि चीज़ क्यों काम नहीं कर रही
USB काफ़ी हद तक परंपरागत/मौखिक ज्ञान पर निर्भर लगता है, फिर भी यह इतना आम है और अधिकतर मामलों में तुरंत काम कर जाता है—यह प्रभावित करने वाली बात है
जानना चाहूँगा कि USB decoding के लिए कौन-सा oscilloscope इस्तेमाल किया
क्या कभी ऐसा काम stream करने के बारे में सोचा है?
Intel USB controllers control software bugs के मामले में बेहद forgiving होते हैं। सचमुच बेहद उदार
मैंने decompilation project में contribute करना शुरू किया है, और भले ही मैं बिल्कुल भी सबसे अच्छा decompiler नहीं हूँ, काम करते हुए stream करने के बारे में सोचा है
सोचता हूँ कि क्या लोगों को ऐसे content में रुचि होगी। पता नहीं लोगों को assembly पर variable signedness के असर के संकेत, struct access और array access के फर्क, 30 साल पुराने compiler भी control structures के साथ कैसी अजीब चीज़ें करते हैं, register reuse, और classic consoles पर byte-for-byte identical assembly निकलवाने के लिए code को guide करने के तरीकों जैसी बातें जानने में दिलचस्पी होगी या नहीं
अगर ऐसा कुछ देखने को मिले तो बहुत शानदार होगा, इसलिए मैंने account बनाया। मैं इस तरह का दुर्लभ reverse engineering knowledge इकट्ठा करने की कोशिश कर रहा था, लेकिन यह भी समझना मुश्किल है कि इसे कहाँ खोजें
रुचि है। University में basic 8086 assembly सीखी थी और reverse engineering की कुछ books भी पढ़ी थीं, लेकिन उससे आगे नहीं बढ़ पाया
जानना चाहूँगा कि क्या आप किसी open source project पर काम कर रहे हैं
मैं एक operating system बना रहा हूँ और कुछ work sessions stream करने के बारे में सोच रहा था; अगर लोगों को सच में दिलचस्पी है तो शायद शुरू कर सकता हूँ
कठिन काम करते किसी इंसान को देखने का आकर्षण उसके सोचने की प्रक्रिया में झांकने में है। operating system लिखना निश्चित रूप से कठिन कामों में आता है
अगर सच में समय मिल सके तो ज़रूर कीजिए, मैं support भी करूँगा
title में एक बात छूट गई है: यह एक अपेक्षाकृत simple device के लिए USB device driver है, और existing code भी मौजूद है, इसलिए असल में यह code से code में ले जाने वाली “translation” जैसा काम है
यह बहुत impressive दिख सकता है, लेकिन निजी तौर पर मुझे यह किसी ऐसे व्यक्ति को काम करते देखने जैसा लगता है जो अपने पेशे में माहिर है
सही है। title थोड़ा भटका हुआ था। kernel के बारे में मेरी जानकारी बहुत गहरी नहीं है, और video देखकर मैंने कुछ सीखा भी, लेकिन कई हिस्से लगभग magic जैसे लगे
अच्छा होगा अगर moderator title से “from scratch” हटाकर device driver वाली बात डाल दे, लेकिन न भी हो तो ठीक है
शुरू से ही ऐसा driver लग रहा है जिसकी मौजूदगी की वजह बहुत कम है। अगर front panel है तो user space में libusb application से manage करना शायद बेहतर होगा
इस तरह के videos और गहराई वाले tutorials मुझे सच में पसंद हैं, लेकिन “from scratch” कहना थोड़ा सही नहीं है
“ठीक इसी काम का 10 साल का अनुभव लेकर शुरू” कहें तो वही feel नहीं आएगी, लेकिन
USB spec करीब 500 pages का नहीं होता क्या? impressive है
USB spec की सारी details पढ़ने की ज़रूरत नहीं होती; functionality को मोटे तौर पर समझना काफ़ी है
kernel बहुत-से functions देता है जिनसे काम किया जा सकता है। kernel source में मिलने वाला सबसे simple driver code पढ़कर भी सीखा जा सकता है, और फिर उससे ज्यादा कठिन drivers की ओर बढ़ा जा सकता है
500 pages तो तीन घंटे में नकल करके लिखना भी मुमकिन नहीं होगा
अच्छा driver API हो तो वह ये सब बातें hide कर दे, ताकि individual USB drivers को USB spec की चिंता न करनी पड़े। यह common USB core code का काम है
और यहाँ तो इनमें से ज़्यादातर का खास लेना-देना भी नहीं है
1 टिप्पणियां
Hacker News रायें
किशोर उम्र से ही मैं ऐसे कंटेंट का सपना देखता आया हूँ, और यह देखकर अच्छा लगता है कि काफ़ी advanced projects पर काम करने वाले programmers अपने काम की प्रक्रिया stream कर रहे हैं
इस तरह पर्दे के पीछे झांकने का मौका मिले तो जो चीज़ें जादू जैसी लगती थीं और उनकी जटिलता, दोनों बहुत हद तक कम हो जाती हैं
अच्छा होगा अगर हम ऐसे channels आपस में share करें, और मैं दूसरे channels के बारे में भी जानना चाहूँगा
मुझे जो दूसरा channel पता है वह है https://www.youtube.com/@LowLevelLearning
सख्ती से कहें तो programming channel नहीं है, लेकिन https://www.youtube.com/@StuffMadeHere भी मुझे बहुत पसंद है। यह शानदार engineering channel है
https://www.youtube.com/live/GxnWuXgj3JI?si=lUJ_7KdkylzXLryj
कुछ महीने पहले मैंने STM32F4 के लिए USB host driver लिखा था, और सबसे मुश्किल हिस्सा अच्छी documentation की कमी थी
peripheral में read/write registers को SVD में read-only के तौर पर map किया गया था, ऐसे bits set करने पड़े जो documentation में नहीं थे, और USB bulk-only transport एक ऐसे SCSI spec की ओर इशारा कर रहा था जो मौजूद ही नहीं था
आखिर में मुझे एक blog post मिली कि USB drive को चलाने के लिए Windows जो करता है, उसे लगभग हूबहू copy करना पड़ता है
सौभाग्य से मेरे पास USB frames decode कर सकने वाला oscilloscope था, जिससे यह समझने में बहुत समय बचा कि चीज़ क्यों काम नहीं कर रही
USB काफ़ी हद तक परंपरागत/मौखिक ज्ञान पर निर्भर लगता है, फिर भी यह इतना आम है और अधिकतर मामलों में तुरंत काम कर जाता है—यह प्रभावित करने वाली बात है
मैंने decompilation project में contribute करना शुरू किया है, और भले ही मैं बिल्कुल भी सबसे अच्छा decompiler नहीं हूँ, काम करते हुए stream करने के बारे में सोचा है
सोचता हूँ कि क्या लोगों को ऐसे content में रुचि होगी। पता नहीं लोगों को assembly पर variable signedness के असर के संकेत, struct access और array access के फर्क, 30 साल पुराने compiler भी control structures के साथ कैसी अजीब चीज़ें करते हैं, register reuse, और classic consoles पर byte-for-byte identical assembly निकलवाने के लिए code को guide करने के तरीकों जैसी बातें जानने में दिलचस्पी होगी या नहीं
जानना चाहूँगा कि क्या आप किसी open source project पर काम कर रहे हैं
मैं एक operating system बना रहा हूँ और कुछ work sessions stream करने के बारे में सोच रहा था; अगर लोगों को सच में दिलचस्पी है तो शायद शुरू कर सकता हूँ
अगर सच में समय मिल सके तो ज़रूर कीजिए, मैं support भी करूँगा
terminal/coding के लिए font सबसे दिलचस्प है
https://tosche.net/fonts/comic-code
title में एक बात छूट गई है: यह एक अपेक्षाकृत simple device के लिए USB device driver है, और existing code भी मौजूद है, इसलिए असल में यह code से code में ले जाने वाली “translation” जैसा काम है
यह बहुत impressive दिख सकता है, लेकिन निजी तौर पर मुझे यह किसी ऐसे व्यक्ति को काम करते देखने जैसा लगता है जो अपने पेशे में माहिर है
अच्छा होगा अगर moderator title से “from scratch” हटाकर device driver वाली बात डाल दे, लेकिन न भी हो तो ठीक है
इस तरह के videos और गहराई वाले tutorials मुझे सच में पसंद हैं, लेकिन “from scratch” कहना थोड़ा सही नहीं है
“ठीक इसी काम का 10 साल का अनुभव लेकर शुरू” कहें तो वही feel नहीं आएगी, लेकिन
USB spec करीब 500 pages का नहीं होता क्या? impressive है
kernel बहुत-से functions देता है जिनसे काम किया जा सकता है। kernel source में मिलने वाला सबसे simple driver code पढ़कर भी सीखा जा सकता है, और फिर उससे ज्यादा कठिन drivers की ओर बढ़ा जा सकता है