3 पॉइंट द्वारा GN⁺ 2024-07-25 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • यह एक गेम है जिसमें बच्चे cat, grep, tail, head, wc, sort, uniq जैसे बुनियादी UNIX commands को cards के रूप में जोड़ते हुए pipe combinations सीखते हैं
  • इसमें माना गया है कि माता-पिता basic commands जानते हैं और उन्हें असल में चलाकर दिखाते हैं; अगर UNIX environment नहीं है, तो browser में jslinux इस्तेमाल किया जा सकता है
  • खिलाड़ी task card के लक्ष्य के मुताबिक command chain बनाते हैं, और उदाहरण के तौर पर cat 03.txt | sort | uniq -c | sort -n | tail -1 जैसी pipeline इस्तेमाल होती है
  • हर round में सबसे छोटा खिलाड़ी सबसे छोटी chain या सबसे लंबी chain वाली जीत का तरीका चुनता है, और task पहले पूरा करने वाला खिलाड़ी points पाता है
  • Card PDF और code publicly उपलब्ध हैं, जिन्हें print करके इस्तेमाल किया जा सकता है, और ज्यादा कठिन Process Substitution expansion pack भी उपलब्ध है

कार्ड गेम का उद्देश्य और जरूरी सामग्री

  • UNIX Pipe Card Game बच्चों को UNIX commands को pipes से जोड़ना सिखाने वाला एक card game है
  • Basic game में जिन commands को शामिल किया गया है वे हैं cat, grep, tail, head, wc, sort, uniq
  • माता-पिता को commands असल कंप्यूटर पर चलाकर दिखानी चाहिए, और अगर UNIX system नहीं है तो browser में jslinux इस्तेमाल किया जा सकता है
  • खुद print करने के लिए material और code उपलब्ध हैं
  • ज्यादा कठिन version, UNIX Pipe Game - Process Substitution expansion pack, process substitution और paste, tr, cut, bc को कवर करता है

Round कैसे चलता है और command chain का उदाहरण

  • उदाहरण round का लक्ष्य file में सबसे आम line को output करना है
    • cat से file पढ़ते हैं
    • sort से lines sort करते हैं
    • uniq -c से duplicate lines की गिनती करते हैं
    • sort -n से numeric order में sorting लागू करते हैं
    • tail -1 से आखिरी line output करते हैं
  • इस लक्ष्य को हल करने वाली example command chain यह है
    • cat 03.txt | sort | uniq -c | sort -n | tail -1
  • Basic flow इस क्रम में है
    • सबसे छोटा खिलाड़ी round format चुनता है
      • task पूरा करने वाली सबसे छोटी pipe chain बनाने वाला जीतता है
      • task पूरा करने वाली सबसे बड़ी pipe chain बनाने वाला जीतता है
    • सबसे छोटा खिलाड़ी task card में से एक task चुनता है, और एक ही task दो बार नहीं चुना जा सकता
    • Cards shuffle करके table पर उल्टा रखे जाते हैं
    • हर खिलाड़ी clockwise order में deck के ऊपर वाला card उठाता है और task पूरा करने की कोशिश करता है
    • task सबसे पहले पूरा करने वाला खिलाड़ी points पाता है
    • जब और tasks नहीं बचते, game खत्म हो जाता है

Task cards जिन समस्याओं की मांग करते हैं

  • Task examples ऐसे goals से बने हैं जिन्हें UNIX command combinations से हल किया जा सकता है, जैसे line selection, string search, counting और output control
    • दूसरी line output करना
    • अंत से दूसरी line output करना
    • 7वीं line output करना
    • सबसे आम line output करना
    • सबसे दुर्लभ line output करना
    • "rises" वाली lines की संख्या गिनना
    • W वाली पहली line output करना
    • "in" वाली lines की संख्या गिनना
    • random दो lines दिखाना
    • आखिरी दो lines के words की संख्या गिनना
    • 7वीं और 8वीं lines output करना
    • ! वाली lines की संख्या गिनना
    • ! नहीं वाली lines की संख्या गिनना
    • ऐसी command chain बनाना जो कुछ भी output न करे

2 टिप्पणियां

 
GN⁺ 2024-07-25
Hacker News रायें
  • अपनी बेटी को सिखाने के लिए मैंने ये कार्ड decks (https://punkx.org/) बनाए थे, और अब तक ये काफी असरदार रहे हैं
    खास तौर पर Unix pipes, 4917 machine code (https://punkx.org/4917/), pointer deck (https://punkx.org/c-pointer-game/) अच्छे रहे, और Python deck में बस करीब 10 कार्ड ही इस्तेमाल किए
    RISC-V assembly में buffer overflow पर बना board game https://punkx.org/overflow/ भी पसंद आ सकता है, और बच्चे के स्तर के हिसाब से goto वाला snakes and ladders game https://punkx.org/overflow/build/snakes-and-ladders.pdf भी संभव है
    अगर आपके बच्चे हैं तो https://punkx.org/panic/ भी print करके देखने की सलाह दूंगा। इसमें ऐसे pranks हैं जो poker card के एक पत्ते में फिट हो जाते हैं, जैसे हर 30 सेकंड में random तरीके से backspace या space दबाना, या Minecraft खुला हो तो random तरीके से W दबाना
    मैं कई decks teachers और schools को donate कर रहा हूं, इसलिए रुचि हो तो email भेज सकते हैं
    P.S.: मैं अगले 1 हफ्ते और London में हूं, इसलिए अभी order करने पर shipping में देर होगी, लेकिन बदले में package में 1–2 decks और डालकर भेज दूंगा
    और हां, Unix pipes expansion deck पूरा process substitution पर है; मुझे नहीं लगता कि वह बच्चों के लिए उपयोगी है, लेकिन puzzles ठीक लगते हैं

    • अगर आपको पुराने comments पढ़ना पसंद है, तो कुछ साल पहले का Show HN thread भी है: https://news.ycombinator.com/item?id=33222687
    • सच में शानदार
      एक बात ध्यान में आई: game में “दूसरी line print करो”, “सातवीं line print करो” जैसे tasks हैं, लेकिन दोनों lines खाली हैं। इसलिए सख्ती से देखें तो match न करने वाला grep भी सही जवाब हो सकता है
    • पिछले खरीदार के तौर पर, मैं अनुरोध करना चाहूंगा कि https://www.designhacks.co/products/cognitive-bias-codex-pos... पर आधारित cognitive bias deck भी बनाइए
    • आज रात rework खत्म होने के बाद कुछ order करने वाला हूं
      जिज्ञासा है कि printing आप कैसे handle करते हैं। क्या खुद बनाते हैं, print-on-demand है, या bulk order करके खुद ship करते हैं? छोटे scale पर physical products की बिक्री कैसे चलती है, यह हमेशा दिलचस्प लगता है
    • कुछ महीने पहले sale पर मौजूद हर deck का एक-एक order किया था
      मेरी बेटियां अभी बहुत छोटी हैं, इसलिए इस्तेमाल करने के लिए जल्दी है, लेकिन मुझे decks बहुत अच्छे लगे और करीब 8 साल बाद इन्हें निकालकर इस्तेमाल करने का इंतजार है
  • सोच रहा हूं कि आजकल बच्चे सच में ऐसी चीजें समझ सकते हैं या नहीं
    मेरे बच्चे नहीं हैं और बच्चों के आसपास रहने का मौका भी नहीं मिलता, इसलिए इसे ईमानदार सवाल की तरह लें तो अच्छा होगा

    • मुझे लगता है यह बच्चे और माता-पिता पर बहुत निर्भर करता है। मैं अपनी बेटी को 10 साल की उम्र से सिखा रहा हूं, और हर दिन उसके साथ कुछ न कुछ करने की कोशिश करता हूं। progress यहां देख सकते हैं: https://github.com/jackdoe/programming-for-kids/blob/master/...
      मुश्किल यह है कि बेटी का ध्यान पाने के लिए Snapchat और Google/Meta से मुकाबला करना पड़ता है। स्कूल भी काफी थका देता है, और Snapchat के streaks सच में परेशान करने वाले हैं। जितने ज्यादा दोस्त, उतने ज्यादा streaks बनाए रखने पड़ते हैं; दिन में करीब 400 messages भेजने पड़ते हैं और इसका कोई अंत नहीं
      मैं बेटी को सिखाता हूं कि 100,000 developers, psychologists, product leads वगैरह हर दिन काम पर आते हैं और सोचते हैं कि उसके ध्यान से अधिकतम value कैसे निकाली जाए। इसलिए उसे लगातार aware रहना चाहिए कि “algorithm” उससे क्या करवाने की कोशिश कर रहा है
      उसने Unix pipes काफी जल्दी समझ लिए, लेकिन अक्सर इस्तेमाल नहीं करती। फिर भी यह concept समझ गई कि एक program दूसरे program का output पढ़ता है, और command line समझना भी इतना मुश्किल नहीं था
      हालांकि मैंने कई उपाय अपनाए। जैसे बेटी के Windows PC में shell को explorer की जगह cmd.exe में बदल दिया, ताकि boot होते ही command prompt खुले, और उसे explore करके खुद ठीक करने दिया। filesystem में dir, cd आदि से files खोजने वाला treasure hunt भी बनाया, और https://overthewire.org/wargames/bandit/ के Bandit game में हर level clear करने पर Robux से reward दिया
      मैं उसे सिखाना चाहता हूं कि computer कैसे काम करता है, और computer से अपनी चाही हुई चीज कैसे करवाई जाती है। register क्या है, instruction क्या है, program और process क्या हैं—कहें तो बिल्कुल basics
      इस प्रक्रिया में problems को divide करना, सोचना, और सबसे बढ़कर सीखना भी साथ में सिखाता हूं। मैं चीजों का core सिखाने की कोशिश करता हूं, ताकि keyboard दबाने पर screen पर अक्षर दिखने की प्रक्रिया या ChatGPT के next word predict करने के तरीके में कोई रहस्य न रहे। अभी मैं 3 neurons वाले recurrent neural network का board game बना रहा हूं, जो उसे गिनती करना सिखाने वाला game है: https://punkx.org/move-37/rnn.pdf
      आखिर में, बच्चे को क्या सिखाते हैं, यह इतना महत्वपूर्ण है या नहीं, मुझे ठीक से नहीं पता
    • बच्चों के बारे में नहीं जानता, लेकिन मैंने ऐसे college students देखे हैं जिन्हें iOS के अलावा किसी computing device को literally इस्तेमाल करना नहीं आता था
      class में साथियों को file, folder जैसी concepts से समझाना पड़ा
      ईमानदारी से कहूं तो मुझे यह इतना बुरा नहीं लगता। computers भी शायद cars जैसी राह पर जाएंगे। ज्यादातर लोग चीज चलाने के लिए जरूरी बेहद basic बातें ही जानेंगे, और deeper knowledge hobbyists और experts के पास रह जाएगी
      इसलिए computer के अंदरूनी हिस्से भले और complex होते जाएं, आम use के तरीके शायद लगातार कम होते जाएंगे
  • game खेलने के लिए https://exaequos.com पर pipe processing जरूर ठीक करनी होगी

  • awk, perl आदि इस्तेमाल करते हुए बड़े हुए लोगों के साथ अगर “न्यूनतम pipe संख्या” वाला गेम खेलें, तो difficulty तुरंत बढ़ जाती है

    • ऐसा इसलिए है क्योंकि score calculation method pipe की संख्या गिनता है। शायद characters की संख्या गिनना बेहतर हो सकता है
      या फिर गेम के मकसद के मुताबिक हर tool को उसके मूल उद्देश्य के अनुसार सीखते हुए खेला जा सकता है
      तेज़ one-off processing के लिए awk/sed का खूब इस्तेमाल होता है, और आम तौर पर similar thinking model से काम किया जाता है। input stream बनाना, sed से data को record form में बदलना, awk से records process करना, फिर sort/uniq जैसे तरीकों से output को polish करना—ऐसा कुछ
      कई मामलों में sed और awk एक-दूसरे की जगह ले सकते हैं, लेकिन ऐसा करने पर दिमाग में flow visualize करने में ज़्यादा समय लगता है और reuse भी मुश्किल हो जाता है
  • rules में लिखा है कि जो player task पहले पूरा करता है, वह round जीतता है, लेकिन सबसे लंबी pipe chain वाला format कैसे काम करता है, यह जानने की उत्सुकता है

    • हमने तब तक खेला जब तक cards खत्म नहीं हो गए
  • uuoc award देने वाले लोग जल्द ही आते दिख रहे हैं
    शुरुआत में cat रखने से pipeline के आगे कुछ जोड़ना आसान हो जाता है

  • यह बात वाकई अच्छी है कि इसे खुद print किया जा सकता है
    अभी सोच रहा हूं कि office printer से तुरंत print कर दूं या नहीं

  • इस game की अच्छी बात यह है कि UUoC जानने वाला व्यक्ति जीतता है
    cat file.txt | tr a-z A-Z | sort loser है, और tr < file.txt a-z A-Z | sort winner है

  • Canada shipping fee $19 होना थोड़ा ज़्यादा लगता है
    सोच रहा हूं Greater Vancouver में कोई साथ में bundled order करना चाहेगा क्या

    • माफ़ करें :( हम PostNL इस्तेमाल करते हैं, और असल में यह इससे भी महंगा पड़ता है; EU के बाहर shipping पर अक्सर नुकसान होता है
      फिर भी हर deck के साथ PDF है, इसलिए आप अपने local print shop में खुद print करा सकते हैं। box print न करें तो यह सस्ता पड़ेगा
      बस A4 paper पर print करके scissors से काट लें, तब भी कोई बड़ी समस्या नहीं है। बल्कि किसी को pen और paper से समझाते समय यह मददगार भी हो सकता है
      इस मामले में box https://punkx.org/unix-pipe-game/unix-pipe-box.pdf है, और cards https://punkx.org/unix-pipe-game/unix-pipe-cards.pdf हैं
    • पूरी तरह digital assets को Europe में कागज़ पर print करने के बाद ship पर लादकर Canada तक धीरे-धीरे भेजना काफी अजीब-सा विचार है
    • trackable intercontinental mail के लिए 12 euro काफी standard price है
    • चाहें तो खुद print कर सकते हैं, और यह भी साफ दिखता है कि इस कीमत में Europe से shipping तक करने पर लगभग कुछ बचता नहीं है
 
unsure4000 2024-07-25

8,000₩ है। अगर किसी के पास इसकी कॉपी हो तो कृपया अपना रिव्यू बताइए।