4 poin oleh GN⁺ 2025-04-15 | 2 komentar | Bagikan ke WhatsApp
  • JSLinux adalah daftar VM yang dapat langsung menjalankan Linux dan sistem operasi lain di dalam browser, sekaligus menampilkan CPU, UI, VFsync, dan file konfigurasi
  • Opsi yang bisa dijalankan dibagi menjadi x86_64, x86, dan riscv64, mencakup Alpine Linux, Buildroot, Fedora 33, Windows 2000, dan FreeDOS
  • Konsol x86_64 Alpine Linux 3.23.2 menyertakan dukungan AVX-512 dan APX, sementara x86 Alpine Linux 3.12.0 disediakan terpisah dalam versi konsol dan X Window
  • Lingkungan grafis atau X Window tersedia untuk Windows 2000, FreeDOS, Alpine Linux, Buildroot, dan Fedora 33, dan beberapa menu X Window dibuka dengan tombol mouse kanan
  • Entri riscv64 Fedora 33 memiliki peringatan bahwa waktu boot lebih lama, dan Windows 2000 menautkan penafian terpisah tanpa akses VFsync

Daftar VM yang dapat dijalankan di browser

  • JSLinux menyediakan daftar sistem yang diemulasikan untuk menjalankan Linux atau sistem operasi lain di browser
  • Setiap entri terdiri dari CPU, sistem operasi, antarmuka pengguna, apakah akses VFsync tersedia, tautan mulai, file konfigurasi, dan catatan
  • Tabel juga menampilkan status akses VFsync dan tautan konfigurasi terkait TEMU

Opsi eksekusi berdasarkan CPU dan sistem operasi

2 komentar

 
GN⁺ 2025-04-15
Opini Hacker News
  • Fabrice sangat piawai membuat perangkat lunak yang swasembada, dan hasilnya sering kali memiliki kehidupannya sendiri
    Contoh yang kurang dikenal: emulator terminal JSLinux pernah beberapa kali di-fork dan kini dikenal sebagai xterm.js, lalu menjadi arus utama untuk emulator terminal yang bisa disematkan di web
    Sekarang saya sedang membuat penerus sejati JSLinux; kernel dan user space dikompilasi secara native ke Wasm sehingga jauh lebih cepat, dan tentu saja memakai xterm.js untuk emulasi terminal
    Kalau suka demo penuh bug yang rasanya belum boleh dibagikan, https://linux.tombl.dev layak dilihat, tetapi saat ini hanya ada shell busybox, jadi harus terbiasa memakai echo * alih-alih ls

    • Fabrice sering digambarkan membuat proyek sampingan yang akan dipelihara orang lain seumur hidup
      Saya tahu QEMU, ffmpeg, pekerjaan terkait LTE, dan QuickJS, tetapi tidak tahu bahwa xterm.js juga bermula darinya
    • Perintah apa pun yang dijalankan memunculkan attempted to munmap dan peringatan kernel seperti di bawah
      Muncul stack trace seperti WARNING: CPU: 3 PID: 36 at kernel/exit.c:812 0x00000000, Comm: sh Not tainted 6.1.132, lalu mengarah ke vmlinux-NLTKI6YG.wasm dan worker-MHWHWELT.js
    • Jadi teringat nostalgia. Sudah lama tidak melihatnya, senang mengetahui fork dari fork saya 12 tahun lalu masih hidup dengan baik
      Sepertinya sebagian besar sudah ditulis ulang, dan mungkin menjadi lebih baik
      https://github.com/xtermjs/xterm.js
      https://github.com/chjj/term.js
    • Keren. Kalau efisiensi dayanya lebih baik daripada JSLinux dan bisa berjalan di iOS, mungkin ini bisa menjadi alternatif bagus untuk A-Shell atau iSH
      Saya mencobanya di MacBook, tetapi input keyboard tidak terdaftar
    • Apakah ada perintah yang berfungsi? ps, cat, vi, ed semuanya crash
      Saya tidak terlalu paham embedding busybox, jadi tidak tahu harus melakukan apa
  • Fabrice luar biasa. Jumlah hal yang dibuat orang ini benar-benar sulit dipercaya
    Kalau saja saya membuat satu saja dari karya-karyanya, misalnya ffmpeg, QEMU, atau tinyc, saya akan membanggakannya seumur hidup, tetapi dia terus saja mengutak-atik hal keren lain

    • Bagaimana kalau kita cari tahu saja apa yang dia inginkan lalu memberikannya. Sebagai balasan, sepertinya dia akan menulis ulang dengan benar semua hal rusak yang kita punya
      Ponsel, sistem operasi, lingkungan desktop, negara, app store, semuanya
    • Saya suka orang ini. QEMU buatannya dipakai begitu luas sehingga setengah dari pengembangan Android di seluruh dunia menjadi lebih mudah berkat dia, dan dampaknya terus membesar
    • LZEXE, yang mungkin akrab bagi orang-orang yang pernah memakai DOS, juga ditulis oleh orang yang sama
    • Saya penasaran bagaimana dia memilih hal yang akan dikerjakan. Entah apakah dia hanya mengikuti minatnya
  • Mesin virtual yang berjalan di browser tidak terlalu banyak
    https://copy.sh/v86/
    https://webvm.io/
    https://bellard.org/jslinux/
    https://jamesfriend.com.au/pce-js/ (https://github.com/jsdf/pce)
    https://www.pcjs.org/ mendukung banyak hardware dan sistem operasi (https://github.com/jeffpar/pcjs)
    Untuk Mac OS juga ada https://infinitemac.org/ (https://blog.persistent.info/2023/03/infinitemac-dot-org.htm...), https://jamesfriend.com.au/projects/basiliskii/BasiliskII-wo..., https://jamesfriend.com.au/pce-js/pce-js-apps/

  • Jika melihat ekstrem dari para developer yang sangat produktif, ini menjadi kontras menarik dengan dogma seperti “fungsi atau file sama sekali tidak boleh melebihi x baris”
    quickjs.c berisi 50 ribu baris dan ada juga fungsi yang panjangnya ratusan baris
    https://github.com/bellard/quickjs/blob/master/quickjs.c
    Tentu saja pendekatan yang tepat bergantung pada situasinya

    • Jawabannya sederhana. Bellard bisa mengingat seluruh konteks 50 ribu baris, tetapi kebanyakan orang tidak bisa
      Aku juga punya working memory yang cukup besar, jadi baru belakangan sadar bahwa batas ukuran file dan fungsiku jauh lebih tinggi daripada orang lain
      Dogma seperti itu diperlukan ketika banyak orang harus membaca dan menulis file yang sama
    • Aku bekerja di codebase itu, dan kami mem-fork-nya sebagai QuickJS-ng
      Awalnya terasa mengintimidasi, tetapi dengan editor yang tepat ternyata cukup mudah dikerjakan. Hanya saja banyak editor tersendat pada file sebesar ini
      Filenya memang sangat besar, tetapi cukup tertata berdasarkan makna, sehingga misalnya saat menambahkan metode iterator baru, kode terkait berada berdekatan dan membuat pekerjaan lebih mudah
    • Karena orang-orang yang bekerja bersama kita bukan Fabrice. Lebih mudah mengatakan “jangan pernah lakukan X” daripada menjelaskan kapan aman untuk melanggar aturan
      Ini juga bergantung pada bahasa yang digunakan. Misalnya JVM mungkin tidak meng-inline fungsi jika jumlah instruksi bytecode melewati ambang tertentu
    • Contoh yang bagus: garbage collector .NET adalah satu file C++ tunggal sepanjang 54 ribu baris
    • Kadang satu fungsi panjang yang melakukan satu hal dengan baik lebih baik daripada beberapa fungsi yang saling terikat kuat dan sulit ditalar
      Programmer yang menerapkan dogma mentah-mentah bisa merugikan
  • Kohei Tokunaga sedang membuat generasi berikutnya dari keluarga ini
    https://ktock.github.io/container2wasm-demo/
    Menggunakan jaringan browser berbasis fetch dari Emscripten atau proxy WebSocket yang kompatibel dengan POSIX
    https://ktock.github.io/container2wasm-demo/amd64-debian-was...

  • Setelah 20 tahun, aku mencoba lagi Windows 2000. Aku tahu nostalgia bisa mengaburkan pandangan, tetapi dengan UI seperti itu aku ingin langsung kembali
    Taskbar yang tidak berantakan dan menu Start sederhana yang tidak penuh rekomendasi serta iklan tak berguna benar-benar menyenangkan

    • Aku sama sekali tidak ingin memakai Windows 2000 lagi, tetapi menarik melihat versi Windows yang UI-nya masih konsisten
      Sekarang ini campur aduk empat generasi GUI toolkit, sehingga sebagian UI memakai satu gaya dan UI lain memakai gaya lain
    • Artikel terkait:
      “Windows 2000 Server named peak Microsoft. Readers say it's all been downhill since Clippy”
      https://www.theregister.com/2025/04/11/windows_2000_best_mic...
      https://news.ycombinator.com/item?id=43653421
    • Aku sempat mencoba memasang Visual Basic 6 di sana, tetapi karena error SSL di Firefox yang terpasang, bahkan tahap mengunduh ISO pun tidak terlewati. Sayang sekali
    • Setidaknya sejak 2010, inilah alasan aku memakai Xfce. Sampai sekarang masih bekerja dengan cara yang sama
      Menurutku open source pada dasarnya selaras dengan kepentingan pengguna, dan memiliki mekanisme untuk mencegah enshittification
  • Ada yang tahu bagaimana Fabrice Bellard menghasilkan uang? Keluaran open source orang ini benar-benar mencengangkan
    Sulit juga membandingkan apakah ada orang lain di level serupa. Rasanya VMware mungkin pernah mencoba merekrutnya, atau Google ingin membawanya ke ranah codec video, V8, rendering Chromium, atau ffmpeg

  • Tampaknya Prancis melahirkan cukup banyak seniman perangkat lunak atau kontributor individual yang sangat berbakat, kreatif, dan produktif
    Entah apakah ini faktor khas Prancis, karena sistem pendidikan seperti Écoles, atau alasan lain, tetapi itu mencolok

    • Bootlin adalah perusahaan Prancis dan kontributor open source utama. Aku pernah bekerja dengan mereka dan merekomendasikannya
      Teknologi Prancis dulu punya reputasi seperti kualitas mobil Renault tua, tetapi dalam praktiknya aku tidak melihatnya begitu. Bahkan Renault dan Citroen justru membuatku terkesan
      Sebaliknya, bekerja dengan software engineer Jerman terasa sulit, karena sikap “kalau bukan buatan kami, tidak bisa” sangat kuat. Tentu ini hanya generalisasiku
      Masalah ekosistem teknologi Eropa sederhana. Kita tidak pandai menjual dan mengoptimalkan efisiensi sumber daya. “Gaji kompetitif” sering berarti dalam keadaan apa pun tidak membayar di atas harga pasar
      Amerika mengoptimalkan pertumbuhan, dan bersedia menanggung gaji lebih tinggi untuk mengamortisasi biaya lewat pertumbuhan
      Terakhir, di tempat asalku, banyak orang mengejek bahwa Prancis rusak karena imigrasi. Sudut pandang seperti itu mungkin ada, tetapi benar juga bahwa Prancis menarik brain drain dari koloni-koloninya dan mendapatkan orang-orang yang sangat kompeten serta produktif
      Dosen pembimbing magisterku juga berasal dari Pantai Gading, dan di Bootlin pun aku bekerja dengan engineer kelas atas yang namanya bukan nama berbahasa Prancis
    • Bisakah menyebutkan nama orang-orang yang bisa dibandingkan dengan Fabrice Bellard?
  • Menggunakan JSLinux di https://barebox.org/webdemo agar calon pengguna bisa melihat kenyamanan shell bootloader tanpa harus mem-flash ke perangkat keras sungguhan
    Senang melihat berbagai fork yang disebutkan di sini, dan saya perlu mengecek mana yang paling baik menjalankan bareDOOM, serta apakah ada yang suaranya berfungsi

  • JSLinux menjadi inspirasi saat membuat Endor (https://endor.dev), dan pekerjaan QEMU-nya juga menjadi dasar bagi banyak proyek browser terkait Wasm

    • Apakah ada materi detail yang dipublikasikan tentang bagaimana pendekatan mesin virtual, kontainer, dan Wasm native diimplementasikan?
 
ndrgrd 2025-04-16

Karena pengaturan CORS salah, agar berfungsi normal ternyata harus membuka https://bellard.org/jslinux/ alih-alih https://www.bellard.org/jslinux/ pada tautan tersebut.