2 poin oleh GN⁺ 2023-07-16 | 1 komentar | Bagikan ke WhatsApp
  • Uxn/Varvara adalah stack komputasi personal yang berpusat pada mesin virtual kecil untuk menjalankan aplikasi yang sama di berbagai sistem
  • Berawal dari kebutuhan spesifik untuk hosting aplikasi grafis, tetapi tersedia secara terbuka agar siapa pun dapat mengadopsinya sebagai target rilis
  • Program ditulis dalam bahasa miliknya sendiri, Uxntal, dan cara distribusinya mirip berbagi ROM game untuk emulator konsol klasik
  • Untuk menjalankannya dibutuhkan emulator sesuai sistem operasi, dan Anda juga dapat mengimplementasikan emulator sendiri berdasarkan spesifikasi VM dan I/O
  • Karena ROM yang sama dapat dijalankan di desktop, perangkat elektronik kecil, handheld, dan browser, software kecil lebih mudah dipertahankan dalam jangka panjang dan dipindahkan ke berbagai lingkungan

Stack komputasi yang dituju Uxn/Varvara

  • Ekosistem Uxn/Varvara adalah stack komputasi personal yang berpusat pada mesin virtual kecil
  • Tujuan utamanya adalah memungkinkan aplikasi yang sama berjalan di berbagai sistem
  • Desainnya didasarkan pada pola pikir implementation-first, dan disesuaikan dengan kebutuhan spesifik untuk hosting aplikasi grafis
  • Uxn diprogram dengan bahasa miliknya sendiri, Uxntal
  • Distribusi program Uxn mirip dengan cara berbagi ROM game untuk emulator konsol klasik
  • Latar belakang desain yang lebih rinci dapat dilihat di catatan uxn design

Emulator dan menjalankan ROM

  • Untuk menjalankan program Uxn, diperlukan emulator yang sesuai dengan sistem
  • Anda juga dapat mengimplementasikan emulator sendiri dengan melihat spesifikasi VM dan I/O
  • Emulator lintas platform untuk desktop memerlukan SDL2
    • Arch: sudo pacman -S sdl2
    • Ubuntu: sudo apt install libsdl2-dev
    • Void Linux: sudo xbps-install SDL2-devel
    • OSX: brew install sdl2
    • openBSD: doas pkg_add sdl2
  • Ada beberapa cara menjalankan ROM
    • Menggunakan program launcher
    • Menyeret file .rom ke jendela emulator
    • Menjalankan bin/uxnemu path/to/example.rom dari terminal
  • Pengoperasian dasar emulator dilakukan melalui tombol fungsi dan pemetaan tombol
    • F1: toggle zoom
    • F2: toggle debugger
    • F3: screenshot
    • F4: memuat launcher.rom
    • L-Ctrl: A, L-Alt: B, L-Shift: Select, Home: Start

Lingkungan yang dapat menjalankannya dan contoh program

  • ROM Uxn yang sama dapat digunakan di komputer desktop, perangkat elektronik kecil, handheld modern, dan browser
  • Ada juga port untuk GBA, Nintendo DS, Playdate, DOS, PlayStation Vita, Raspberry Pi Pico, Teletype, ESP32, Amiga, iOS, STM32, IBM PC, dan lainnya; sebagian belum selesai
  • Contoh program Uxn yang disediakan mencakup mainan, game, dan alat

Materi belajar dan komunitas

1 komentar

 
GN⁺ 2023-07-16
Komentar Hacker News
  • Semua aspek dari kelompok ini menarik. Mereka adalah nomaden digital di atas kapal, dan tiap tulisan memberi kesempatan mengintip kehidupan yang bahkan tak pernah terpikir mungkin dijalani
    Setiap kali masuk ke situsnya, rasanya seperti jatuh ke lubang kelinci. Dalam kehidupan yang lain, mungkin aku juga ingin mencobanya
    https://100r.co/site/dry_toilet_installation.html

    • Benar-benar banyak hal yang menarik. Secara pribadi, favoritku adalah tabung kolektor surya, tentang memasak dan bahkan memanggang roti dengan sinar matahari
      https://100r.co/site/solar_evacuated_tube_cooking.html
    • Mereka juga aktif memakai 9front karena muak dengan dependensi dan sistem operasi yang membengkak. 9front sangat kecil, semuanya dikompilasi statis, dan API-nya juga kecil
      Cross-compilation juga mudah, dan membaca pengantar Plan 9 dari Ballesteros secara alami membantu membangun intuisi ilmu komputer
    • Kalau tertarik, ada juga wiki pribadi milik Devine: https://wiki.xxiivv.com/site/home.html
      Isinya benar-benar keren
    • Sangat mengesankan bahwa sambil menangani semua persoalan “dunia nyata” seperti ini, mereka masih punya energi, motivasi, dan waktu untuk membuat mesin virtual
      Fakta bahwa itu berjalan di berbagai perangkat keras nyata juga mengejutkan. Aku sudah melihat banyak proyek mesin virtual, tetapi kebanyakan terasa terisolasi di dalam komputer lain. Sepertinya keterbatasan ekstrem mendorong desain ke arah yang sama sekali berbeda
    • Di YouTube ada subkultur besar para pelaut, dan secara pribadi aku menikmatinya sebagai konten pelarian
      Tentu saja algoritma YouTube tetap algoritma YouTube dan kapitalisme tetap kapitalisme, jadi cukup banyak video pelayaran yang pada akhirnya jadi konten bikini. Tapi di saat yang sama, hidup memperbaiki, memodifikasi, dan meningkatkan yacht kecil juga menjadi bagian besar darinya. Dari pekerjaan fiberglass sampai tenaga surya dan desalinasi, itu benar-benar memberi gambaran kehidupan yang sangat menarik
  • Aku sangat menghormati tim ini. Ada juga tulisan bagus tentang pencarian menuju model komputasi yang lebih sederhana yang layak dibaca: https://100r.co/site/weathering_software_winter.html

  • 100r mengingatkanku pada hal yang paling banyak kita hilangkan akhir-akhir ini, yaitu keberanian
    Kita takut menangkap peluang, mengeksplorasi ide, memilih jalan yang sedikit lebih sulit, dan terjun ke tantangan yang merepotkan. Kita terlalu menghindari risiko dan enggan mencoba hal baru
    Membaca tentang perjalanan mereka, semua pekerjaan yang dilakukan di kapal, sikap mereka terhadap kode, terutama gagasan membuat perangkat lunak untuk satu orang, membuatku merasa pengecut. Itu membuatku ingin lebih berani dalam cara memperlakukan kode, hidup, dan lingkungan sekitarku
    Terima kasih untuk semua karya Rek dan Devine. Menyenangkan melihat orang-orang sibuk tidak melakukan apa-apa

  • Akun penulis di Mastodon (https://merveilles.town/@neauoire) adalah harta karun berisi proyek kecil dan tangkapan layar dari semesta komputasi paralel bernama komputer Devine
    Juga sangat merekomendasikan episode podcast mereka di Future of Coding: https://futureofcoding.org/episodes/044.html dan ada juga lanjutan yang membahas Orca, lingkungan musik live yang luar biasa: https://futureofcoding.org/episodes/045.html
    Berkat orang ini dan para pengguna Lisp lama di forum ini, aku sudah lama memikirkan komputasi alternatif dan bahasa pemrograman niche. Uxn ada di daftar hal yang ingin kupelajari, dan belakangan ini aku sedang sibuk dengan keluarga Smalltalk sebelum masuk ke Forth dan Uxn :)

    • Mereka menyebut kalender yang membagi satu tahun dari A sampai Z menjadi 26 periode dua mingguan, tetapi 26 kali dua minggu hanya 364 hari. Aku penasaran apakah dalam kalender itu satu tahun memang dibuat 364 hari, atau ada hari tambahan di luar 26 periode dua mingguan, atau ada cara lain
    • Di profil Mastodon langsung tertulis they/them
  • Aku selalu senang ketika mereka muncul di halaman depan. Perangkat lunak yang mereka tulis memang menarik, tetapi pekerjaan yang mereka lakukan untuk membuat kapal mereka semaksimal mungkin mandiri benar-benar luar biasa

  • Ada penggemar Blame! di sini? https://wiki.xxiivv.com/site/devine_lu_linvega.html https://blame.fandom.com/wiki/Davine_Lu_Linvega

  • Dari semua situs mereka, yang benar-benar sering kucek justru situs resepnya: https://grimgrains.com/site/home.html
    Ada cukup banyak hal menarik di sana untuk orang yang suka memasak

  • Maxine Chevalier-Boisvert, yang dikenal lewat pekerjaan Basic Block Versioning JIT dan yjit yang lebih baru, juga baru-baru ini membahas gagasan serupa
    https://pointersgonewild.com/2023/02/24/building-a-minimalistic-virtual-machine/

  • Ini adalah desain mesin virtual yang kecil dan elegan, jadi kemungkinan besar banyak orang di sini akan menganggapnya menarik

    • Yang mengejutkan adalah betapa praktisnya ini. Mereka telah mem-porting-nya ke segala macam perangkat tua yang berserakan, dan juga membuat banyak perangkat lunak untuknya
      Ini bukan cuma desain di halaman web seseorang; mereka benar-benar membuat alat, game, dan karya seni
    • Kalau ingin melihat konsep ini dalam bentuk yang lebih arus utama, RISC-V juga layak dilihat. Mengimplementasikan mesin virtual interpreter RISC-V dasar tanpa ekstensi kira-kira bisa dilakukan dalam sehari
      Aku pernah melakukannya, dan memang sedikit lebih kompleks daripada set instruksi mereka, tetapi tidak terlalu jauh. Karena bisa menjadi target compiler sungguhan, pada dasarnya kamu bisa menjalankan perangkat lunak apa pun. Hanya saja, kamu tetap perlu menyediakan sisa lingkungan mesin virtual untuk hal-hal seperti I/O
  • Game bergaya retro berbasis Forth, spesifikasi rendah, dan mesin virtual yang sudah di-porting ke hampir mana pun, jadi mirip dengan Z-Machine tetapi lebih cocok untuk piksel
    Terlihat pas untuk game bergaya GB tanpa harus berurusan dengan instruksi mirip Z80 atau khawatir bug timing siklus aneh saat menampilkan sprite bisa sampai membakar LCD sungguhan