3 poin oleh GN⁺ 2024-07-25 | 2 komentar | Bagikan ke WhatsApp
  • Ini adalah permainan tempat anak-anak mempelajari kombinasi pipe dengan merangkai kartu berisi perintah dasar UNIX seperti cat, grep, tail, head, wc, sort, dan uniq
  • Permainan ini mengasumsikan orang tua memahami perintah dasar dan menunjukkan eksekusi nyatanya; jika tidak ada lingkungan UNIX, jslinux dapat digunakan di browser
  • Pemain membuat rantai perintah sesuai target pada kartu tugas, dengan contoh penggunaan pipeline seperti cat 03.txt | sort | uniq -c | sort -n | tail -1
  • Dalam satu ronde, pemain termuda memilih metode kemenangan rantai terpendek atau rantai terpanjang, dan pemain yang pertama menyelesaikan tugas mendapatkan poin
  • PDF kartu dan kode tersedia untuk digunakan dengan mencetaknya sendiri, serta tersedia juga expansion pack Process Substitution yang lebih sulit

Tujuan permainan kartu dan perlengkapannya

  • UNIX Pipe Card Game adalah permainan kartu untuk mengajarkan anak-anak cara menggabungkan perintah UNIX dengan pipe
  • Perintah yang dibahas dalam permainan dasar adalah cat, grep, tail, head, wc, sort, dan uniq
  • Orang tua perlu menunjukkan cara menjalankan perintah di komputer sungguhan; jika tidak ada sistem UNIX, dapat menggunakan jslinux di browser
  • Materi untuk dicetak sendiri dan kodenya tersedia secara terbuka
  • Expansion pack versi yang lebih sulit, UNIX Pipe Game - Process Substitution, membahas process substitution serta paste, tr, cut, dan bc

Jalannya ronde dan contoh rantai perintah

  • Target pada contoh ronde adalah menampilkan baris yang paling sering muncul dalam file
    • Membaca file dengan cat
    • Mengurutkan baris dengan sort
    • Menghitung jumlah baris duplikat dengan uniq -c
    • Menerapkan pengurutan berdasarkan angka dengan sort -n
    • Menampilkan baris terakhir dengan tail -1
  • Contoh rantai perintah untuk menyelesaikan target ini adalah sebagai berikut
    • cat 03.txt | sort | uniq -c | sort -n | tail -1
  • Alur dasar permainan adalah sebagai berikut
    • Pemain termuda memilih format ronde
      • Orang yang membuat rantai pipe paling kecil yang menyelesaikan tugas menang
      • Orang yang membuat rantai pipe paling besar yang menyelesaikan tugas menang
    • Pemain termuda memilih satu tugas dari kartu tugas, dan tugas yang sama tidak boleh dipilih dua kali
    • Kartu dikocok dan diletakkan tertutup di atas meja
    • Setiap pemain mengambil kartu teratas dari dek searah jarum jam dan mencoba menyelesaikan tugas
    • Pemain yang pertama menyelesaikan tugas mendapatkan poin
    • Jika tidak ada tugas tersisa, permainan berakhir

Masalah yang diminta oleh kartu tugas

  • Contoh tugas terdiri dari target yang dapat diselesaikan dengan kombinasi perintah UNIX, seperti memilih baris, mencari string, menghitung jumlah, dan mengontrol output
    • Menampilkan baris kedua
    • Menampilkan baris kedua dari akhir
    • Menampilkan baris ke-7
    • Menampilkan baris yang paling sering muncul
    • Menampilkan baris yang paling jarang muncul
    • Menghitung jumlah baris yang berisi "rises"
    • Menampilkan baris pertama yang berisi W
    • Menghitung jumlah baris yang berisi "in"
    • Menampilkan dua baris acak
    • Menghitung jumlah kata pada dua baris terakhir
    • Menampilkan baris ke-7 dan ke-8
    • Menghitung jumlah baris yang berisi !
    • Menghitung jumlah baris yang tidak berisi !
    • Membuat rantai perintah yang tidak menampilkan apa pun

2 komentar

 
GN⁺ 2024-07-25
Opini Hacker News
  • Saya membuat deck kartu ini (https://punkx.org/) untuk mengajari putri saya, dan sejauh ini cukup efektif
    Yang terutama bagus adalah Unix pipe, bahasa mesin 4917 (https://punkx.org/4917/), dan deck pointer (https://punkx.org/c-pointer-game/); untuk deck Python, kami hanya memakai sekitar 10 kartu
    Kamu juga mungkin suka board game tentang buffer overflow dengan assembly RISC-V https://punkx.org/overflow/, dan tergantung level anaknya, ada juga permainan ular tangga dengan goto https://punkx.org/overflow/build/snakes-and-ladders.pdf
    Kalau punya anak, saya juga menyarankan mencetak https://punkx.org/panic/. Isinya keusilan yang muat di satu kartu poker, misalnya menekan backspace atau spasi secara acak setiap 30 detik, atau kalau Minecraft sedang terbuka, menekan W secara acak
    Saya menyumbangkan banyak deck ke guru dan sekolah, jadi kalau tertarik, silakan kirim email
    P.S.: Saya akan berada di London selama 1 minggu lagi, jadi kalau memesan sekarang pengirimannya akan terlambat, tapi sebagai gantinya saya akan menambahkan 1–2 deck ekstra ke paketnya
    Tambahan: deck ekspansi Unix pipe sepenuhnya tentang substitusi proses; menurut saya tidak terlalu berguna untuk anak-anak, tapi puzzle-nya lumayan

    • Bagi yang suka membaca komentar lama, ada juga thread Show HN dari beberapa tahun lalu: https://news.ycombinator.com/item?id=33222687
    • Benar-benar keren
      Satu hal yang terlihat: di game ada tugas seperti “cetak baris kedua” dan “cetak baris ketujuh”, tetapi kedua baris itu kosong. Jadi secara ketat, grep yang tidak mencocokkan apa pun juga bisa menjadi jawaban benar
    • Sebagai pembeli sebelumnya, saya ingin meminta agar dibuatkan juga deck bias kognitif berdasarkan https://www.designhacks.co/products/cognitive-bias-codex-pos...
    • Saya berencana memesan beberapa setelah selesai kerja ulang malam ini
      Saya penasaran, bagaimana urusan pencetakan ditangani? Apakah dibuat sendiri, print-on-demand, atau memesan dalam jumlah besar lalu mengirimkannya sendiri? Saya selalu tertarik bagaimana penjualan produk fisik skala kecil dijalankan
    • Beberapa bulan lalu saya memesan masing-masing satu dari semua deck yang dijual
      Putri-putri saya masih terlalu kecil untuk memakainya, tapi menurut saya deck-deck itu bagus, dan saya menantikan saat mengeluarkannya sekitar 8 tahun lagi
  • Saya penasaran apakah anak-anak zaman sekarang benar-benar bisa memahami hal seperti ini
    Saya tidak punya anak dan juga tidak pernah berada di sekitar anak-anak, jadi saya harap ini diterima sebagai pertanyaan yang tulus

    • Menurut saya sangat bergantung pada anak dan orang tuanya. Saya mulai mengajari putri saya sejak ia berusia 10 tahun, dan saya mencoba melakukan sesuatu bersama setiap hari. Progresnya bisa dilihat di sini: https://github.com/jackdoe/programming-for-kids/blob/master/...
      Tantangannya adalah saya harus bersaing dengan Snapchat dan Google/Meta untuk mendapatkan perhatian putri saya. Sekolah juga cukup melelahkan, dan streak di Snapchat benar-benar menyebalkan. Semakin banyak teman, semakin banyak streak yang harus dipertahankan, sampai harus mengirim sekitar 400 pesan sehari dan tidak ada habisnya
      Saya mengajari putri saya bahwa 100.000 developer, psikolog, product lead, dan lain-lain berangkat kerja setiap hari untuk memikirkan cara mengekstraksi nilai maksimal dari perhatiannya. Jadi saya memberi tahu dia bahwa ia harus terus sadar tentang apa yang “algoritma” buat dia lakukan
      Ia cukup cepat memahami Unix pipe, tetapi tidak sering menggunakannya. Tetap saja, ia menangkap konsep bahwa satu program membaca output program lain, dan memahami command line juga tidak terlalu sulit
      Namun saya memakai beberapa trik. Misalnya, di PC Windows putri saya, saya mengganti shell dari explorer menjadi cmd.exe sehingga saat boot langsung muncul command prompt, lalu membiarkan dia menjelajah dan memperbaikinya sendiri. Saya juga membuat perburuan harta karun untuk mencari file di filesystem dengan dir, cd, dan sebagainya, dan untuk game Bandit dari https://overthewire.org/wargames/bandit/, saya memberi hadiah Robux setiap kali ia menyelesaikan level
      Saya ingin mengajarinya bagaimana komputer bekerja, dan cara membuat komputer melakukan hal yang kita inginkan. Apa itu register, apa itu instruksi, apa itu program dan proses—bisa dibilang dasar dari dasar
      Dalam prosesnya, saya juga mengajari cara memecah masalah, cara berpikir, dan yang terpenting cara belajar. Saya berusaha mengajarkan inti dari berbagai hal, agar tidak ada misteri antara proses menekan keyboard lalu huruf muncul di layar, atau cara ChatGPT memprediksi kata berikutnya. Sekarang saya sedang membuat board game jaringan saraf rekuren dengan 3 neuron, sebuah game untuk mengajarinya berhitung: https://punkx.org/move-37/rnn.pdf
      Pada akhirnya, saya tidak begitu yakin bahwa apa yang diajarkan kepada anak itu sepenting itu
    • Saya tidak tahu soal anak-anak, tetapi saya pernah melihat mahasiswa yang secara harfiah tidak tahu cara menggunakan perangkat komputasi non-iOS
      Di kelas, rekan-rekan harus menjelaskan mulai dari konsep seperti file dan folder
      Sejujurnya saya tidak menganggap itu terlalu buruk. Komputer tampaknya akan menempuh jalan yang mirip dengan mobil. Kebanyakan orang hanya akan tahu hal-hal yang sangat mendasar yang diperlukan untuk mengoperasikan barangnya, sementara pengetahuan yang lebih dalam akan tersisa bagi para penggemar dan profesional
      Jadi meskipun bagian dalam komputer menjadi semakin kompleks, cara penggunaan umumnya tampaknya akan makin menyempit
  • Agar bisa memainkan gamenya, pemrosesan pipe di https://exaequos.com jelas harus diperbaiki

  • Jika bermain game jumlah pipe minimum dengan orang yang tumbuh besar memakai awk, perl, dan sejenisnya, tingkat kesulitannya langsung naik

    • Itu karena cara penghitungan skor menghitung jumlah pipe. Mungkin lebih baik menghitung jumlah karakter
      Atau, sesuai maksud gamenya, bisa dimainkan sambil mempelajari setiap tool sesuai tujuan aslinya
      Untuk pemrosesan sekali pakai yang cepat, awk/sed banyak dipakai, dan umumnya diproses dengan model berpikir yang mirip. Misalnya membuat stream input, memakai sed untuk membentuk data menjadi record, memproses record dengan awk, lalu merapikan output dengan cara seperti sort/uniq
      Dalam banyak kasus sed dan awk bisa saling menggantikan, tetapi jika begitu akan lebih lama dibayangkan di kepala dan lebih sulit dipakai ulang
  • Di aturan tertulis bahwa pemain yang menyelesaikan tugas lebih dulu memenangkan ronde, tetapi saya penasaran bagaimana format rantai pipe terpanjang bekerja

    • Kami bermain sampai kartunya habis
  • Sepertinya orang-orang yang memberi penghargaan uuoc akan segera datang
    Menaruh cat di depan membuat penambahan sesuatu di bagian awal pipeline jadi lebih sederhana

  • Saya sangat suka karena ini bisa dicetak sendiri
    Saya sedang mempertimbangkan apakah akan mencetaknya di printer kantor sekarang juga

  • Hal bagus dari game ini adalah orang yang tahu UUoC akan menang
    cat file.txt | tr a-z A-Z | sort adalah pecundang, dan tr < file.txt a-z A-Z | sort adalah pemenang

  • Ongkir ke Canada sebesar $19 rasanya agak berlebihan
    Saya penasaran apakah ada orang di Greater Vancouver yang mau pesan bareng

    • Maaf :( Kami memakai PostNL, dan sebenarnya biayanya lebih mahal; untuk pengiriman ke luar UE, kebanyakan kami rugi
      Meski begitu, setiap deck punya PDF, jadi Anda bisa mencetaknya sendiri di percetakan lokal. Kalau tidak mencetak kotaknya, biayanya akan lebih murah
      Mencetaknya di kertas A4 biasa lalu memotongnya dengan gunting juga tidak terlalu bermasalah. Malah kadang membantu saat menjelaskannya kepada seseorang dengan pena dan kertas
      Dalam hal ini, kotaknya ada di https://punkx.org/unix-pipe-game/unix-pipe-box.pdf, dan kartunya ada di https://punkx.org/unix-pipe-game/unix-pipe-cards.pdf
    • Gagasan untuk mengambil aset yang sepenuhnya digital, mencetaknya di atas kertas di Europe, lalu memuatnya ke kapal dan mengirimkannya perlahan sampai Canada memang cukup aneh
    • 12 euro untuk pos antarbenua yang bisa dilacak adalah harga yang cukup standar
    • Jelas juga bahwa kalau mau, Anda bisa mencetaknya sendiri, dan dengan harga ini, pengiriman dari Europe hampir tidak menyisakan margin
 
unsure4000 2024-07-25

Harganya 8.000₩ ya. Kalau ada yang punya salinannya, tolong bagikan ulasannya.