4 puan yazan GN⁺ 2025-04-15 | 2 yorum | WhatsApp'ta paylaş
  • JSLinux, tarayıcı içinde Linux ve diğer işletim sistemlerini doğrudan çalıştırmayı deneyebileceğiniz bir VM listesidir; CPU, UI, VFsync ve yapılandırma dosyaları da birlikte görülebilir
  • Çalıştırılabilir öğeler x86_64, x86 ve riscv64 olarak ayrılır; Alpine Linux, Buildroot, Fedora 33, Windows 2000 ve FreeDOS içerir
  • x86_64 Alpine Linux 3.23.2 konsolu AVX-512 ve APX desteği içerir; x86 Alpine Linux 3.12.0 ise ayrı konsol ve X Window sürümleriyle sunulur
  • Grafik veya X Window ortamı Windows 2000, FreeDOS, Alpine Linux, Buildroot ve Fedora 33 üzerinde sunulur; bazı X Window menüleri sağ fare düğmesiyle açılır
  • riscv64 Fedora 33 öğelerinde önyükleme süresinin daha uzun olduğu uyarısı bulunur; Windows 2000 ise VFsync erişimi olmadan ayrı bir sorumluluk reddi bağlantısına sahiptir

Tarayıcıda çalıştırılabilen VM listesi

  • JSLinux, tarayıcıda Linux veya başka işletim sistemleri çalıştıran emüle edilmiş sistemlerin bir listesini sunar
  • Her öğe CPU, işletim sistemi, kullanıcı arayüzü, VFsync erişimi durumu, başlatma bağlantısı, yapılandırma dosyası ve notlardan oluşur
  • Tabloda VFsync erişim durumu ve TEMU ile ilgili yapılandırma bağlantıları birlikte gösterilir

CPU ve işletim sistemine göre çalıştırılabilir öğeler

2 yorum

 
GN⁺ 2025-04-15
Hacker News yorumları
  • Fabrice, kendi kendine yeten yazılımlar yapmakta gerçekten çok iyi ve ortaya çıkan işlerin çoğu zaman kendine özgü bir yaşamı oluyor
    Daha az bilinen bir örnek olarak, JSLinux’un terminal emülatörü birkaç kez fork edildi ve bugün xterm.js olarak biliniyor; web’e gömülebilen terminal emülatörlerinin ana akımı haline geldi
    Şimdi JSLinux’un gerçek halefini yapıyor; çekirdeği ve kullanıcı alanını Wasm’e native olarak derleyerek çok daha hızlı hale getiriyor ve terminal emülasyonu için de doğal olarak xterm.js kullanıyor
    Henüz paylaşılmaması gereken kadar hatalı bir demoyu seviyorsanız https://linux.tombl.dev bakmaya değer, ancak şu anda yalnızca busybox shell var; bu yüzden ls yerine echo * kullanmaya alışmanız gerekiyor

    • Fabrice için bazen başkalarının ömür boyu bakımını yapacağı yan projeler üreten biri deniyor
      QEMU, ffmpeg, LTE ile ilgili çalışmaları ve QuickJS’yi biliyordum ama xterm.js’in de ondan çıktığını bilmiyordum
    • Hangi komutu çalıştırırsanız çalıştırın aşağıdaki gibi attempted to munmap ve çekirdek uyarıları çıkıyor
      WARNING: CPU: 3 PID: 36 at kernel/exit.c:812 0x00000000, Comm: sh Not tainted 6.1.132 gibi stack trace’ler görünüyor ve vmlinux-NLTKI6YG.wasm ile worker-MHWHWELT.js tarafına uzanıyor
    • Eski günleri hatırlattı. Uzun zamandır bakmamıştım ama 12 yıl önce yaptığım fork’un fork’unun hâlâ iyi durumda olması hoşuma gitti
      Çoğu şey yeniden yazılmış gibi görünüyor ve muhtemelen daha da iyi olmuştur
      https://github.com/xtermjs/xterm.js
      https://github.com/chjj/term.js
    • Harika. JSLinux’tan enerji verimliliği daha iyiyse ve iOS’ta da çalışabiliyorsa, A-Shell ya da iSH için iyi bir alternatif olabilir
      MacBook’ta denedim ama klavye girdisi algılanmadı
    • Çalışan bir komut var mı? ps, cat, vi, ed hepsi çöküyor
      busybox gömmeyi çok bilmediğim için ne yapmam gerektiğini anlayamadım
  • Fabrice müthiş. Bu kişinin ürettiği şeylerin miktarına gerçekten inanmak zor
    Onun yaptığı işlerden sadece birini ben yapmış olsaydım, örneğin ffmpeg, QEMU ya da tinyc’den yalnızca birini bile, bununla ömür boyu övünürdüm; o ise durmadan başka harika şeyler hacklemeye devam ediyor

    • Belki de sadece ne istediğini bulup ona vermeliyiz. Karşılığında da elimizdeki bozuk şeyleri baştan düzgünce yazabilir gibi görünüyor
      Telefonlar, işletim sistemleri, masaüstü ortamları, ülkeler, uygulama mağazaları, hepsi
    • Bu adamı seviyorum. Onun QEMU’su o kadar yaygın kullanılıyor ki dünyadaki Android geliştirme işlerinin yarısını onun sayesinde yapmak kolaylaştı ve etkisi giderek büyüyor
    • DOS kullanmış olanlara tanıdık gelebilecek LZEXE de aynı kişi tarafından yazıldı
    • Üzerinde çalışacağı şeyleri nasıl seçtiğini merak ediyorum. Belki de sadece ilgisini çeken şeylerin peşinden gidiyordur
  • Tarayıcıda çalışan sanal makineler çok fazla değil
    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/ çok sayıda donanım ve işletim sistemini destekliyor (https://github.com/jeffpar/pcjs)
    Mac OS tarafında da 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/ de var

  • Aşırı üretken geliştiricilerin uç örneklerine bakınca, “bir fonksiyon ya da dosya asla x satırı geçmemeli” gibi dogmalarla ilginç bir tezat oluşturuyor
    quickjs.c 50 bin satır ve içinde yüzlerce satırlık fonksiyonlar da var
    https://github.com/bellard/quickjs/blob/master/quickjs.c
    Elbette duruma göre farklı yaklaşımlar doğru olabilir

    • Cevap basit. Bellard 50 bin satırlık bağlamın tamamını aklında tutabiliyor, ama çoğu kişi tutamıyor
      Benim de çalışma belleğim geniş sayılır; bu yüzden dosya ve fonksiyon boyutu sınırlarımın başkalarınınkinden çok daha yüksek olduğunu ancak sonradan fark ettim
      Bu tür dogmalar, birden fazla kişinin aynı dosyayı okuyup yazması gerektiğinde gerekli oluyor
    • O kod tabanında çalışıyorum ve biz onu QuickJS-ng olarak fork ettik
      İlk başta göz korkutucu geliyor ama doğru editörü kullanırsanız şaşırtıcı derecede çalışması kolay. Yalnız birçok editör bu kadar büyük dosyalarda zorlanıyor
      Dosya çok büyük, ama belli ölçüde anlamına göre düzenlenmiş; örneğin yeni bir yineleyici metodu eklerken ilgili kodun birbirine yakın olması çalışmayı kolaylaştırıyor
    • Çünkü birlikte çalıştığın insanlar Fabrice değil. Kuralları ne zaman bozmanın güvenli olduğunu anlatmaktansa, “X'i hiç yapmayın” demek daha kolay
      Bu, kullandığınız dile de bağlı. Örneğin JVM, bytecode komutu sayısı belirli bir eşiği aşan fonksiyonları inline etmeyebilir
    • İyi bir örnek olarak .NET'in çöp toplayıcısı, 54 bin satırlık tek bir C++ dosyasıdır
    • Bazen güçlü şekilde bağlı ve akıl yürütmesi zor birden fazla fonksiyondan ziyade, tek bir işi iyi yapan uzun bir fonksiyon daha iyi olabilir
      Dogmayı aynen uygulayan programcılar zararlı olabilir
  • Kohei Tokunaga bu çizginin bir sonraki neslini yapıyor
    https://ktock.github.io/container2wasm-demo/
    Emscripten'in fetch tabanlı tarayıcı ağ iletişimini ya da POSIX uyumlu WebSocket proxy'sini kullanıyor
    https://ktock.github.io/container2wasm-demo/amd64-debian-was...

  • 20 yıl sonra ilk kez Windows 2000 kullandım. Nostaljinin insanın gözünü boyayabileceğini biliyorum ama o arayüze hemen şimdi geri dönmek isterdim
    Dağınık olmayan görev çubuğu ve gereksiz öneri ve reklamlarla dolu olmayan sade Başlat menüsü gerçekten keyifliydi

    • Windows 2000'i yeniden kullanmak istemem ama arayüzün tutarlı olduğu bir Windows sürümünü görmek ilginç
      Şimdi dört nesil GUI toolkit birbirine karışmış durumda; bir arayüz bir stildeyken başka bir arayüz başka bir stilde olan bir karışım var
    • İlgili yazı:
      “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
    • Oraya Visual Basic 6 kurmayı denedim ama kurulu Firefox'taki SSL hatası yüzünden ISO indirme aşamasını bile geçemedim. Yazık oldu
    • En az 2010'dan beri Xfce kullanmamın sebebi tam olarak bu. Hâlâ aynı şekilde çalışıyor
      Açık kaynağın doğası gereği kullanıcıyla çıkarlarının daha uyumlu olduğunu ve enshittification'ı engelleyen mekanizmalara sahip olduğunu düşünüyorum
  • Fabrice Bellard'ın nasıl para kazandığını bilen var mı? Bu adamın açık kaynak çıktıları gerçekten şaşırtıcı
    Benzer kalibrede başka biri var mı, karşılaştırmak bile zor. VMware'in onu işe almaya çalıştığını ya da Google'ın video codec, V8, Chromium rendering veya ffmpeg tarafına çekmek istediğini düşünmeden edemiyorum

  • Fransa'dan oldukça fazla yetenekli, yaratıcı ve üretken yazılım sanatçısı ya da bireysel katkıcı çıkıyor gibi görünüyor
    Bunun Fransızlara özgü bir etken mi, Écoles gibi eğitim sistemi mi, yoksa başka bir şey mi olduğunu bilmiyorum ama dikkat çekiyor

    • Bootlin Fransız bir şirket ve önemli bir açık kaynak katkıcısı. Onlarla çalıştım ve tavsiye ederim
      Fransız teknolojisinin eskiden eski Renault'ların kalitesi gibi bir itibarı vardı ama ben gerçekte öyle görmedim. Hatta Renault ve Citroen'de bile hayran kalınacak şeyler gördüm
      Buna karşılık Alman yazılım mühendisleriyle çalışmak zordu; “biz yapmadıysak olmaz” tavrı çok güçlüydü. Tabii bu tamamen benim genellemem
      Avrupa teknoloji ekosisteminin sorunu basit. Biz satış yapamıyoruz ve kaynak verimliliğine optimize oluyoruz. “Rekabetçi maaş” da çoğu zaman hiçbir koşulda piyasa fiyatının üstüne çıkmamak anlamına geliyor
      ABD büyümeye optimize oluyor ve daha yüksek maaşları göze alıp bunu büyümeyle amorti etmeye çalışıyor
      Son olarak, geldiğim yerde Fransa'nın göç yüzünden bozulduğuyla alay eden çok kişi var. Bu da bir bakış açısı olabilir ama Fransa'nın eski sömürgelerden beyin göçü çekerek çok yetenekli ve üretken insanları kendine kattığı da bir gerçek
      Yüksek lisans danışmanım da Fildişi Sahili kökenliydi ve Bootlin'de de Fransızca isim taşımayan, üst düzey mühendislerle çalıştım
    • Fabrice Bellard'la kıyaslanabilecek kişileri isim isim sayabilir misiniz?
  • https://barebox.org/webdemo üzerinde JSLinux kullanılarak, potansiyel kullanıcıların bootloader kabuğunun kullanım kolaylığını gerçek donanıma flash etmeden de görebilmesi sağlanıyor
    Burada bahsedilen çeşitli fork'ları görmek sevindirici; hangisinin bareDOOM'u en iyi çalıştırdığını ve sesin çalıştığı bir sürüm olup olmadığını kontrol etmek gerekir.

  • JSLinux, Endor'u (https://endor.dev) geliştirirken ilham kaynağı olmuş ve onun QEMU çalışmaları da birçok Wasm ile ilgili tarayıcı projesinin temelini oluşturuyor

    • Sanal makinelerin, container'ların ve Wasm yerel yaklaşımının nasıl uygulandığına dair herkese açık ayrıntılı bilgiler var mı?
 
ndrgrd 2025-04-16

CORS ayarı yanlış yapılandırılmış; bu yüzden bağlantıdaki https://www.bellard.org/jslinux/ yerine https://bellard.org/jslinux/ adresine girmeniz gerekiyor, ancak o zaman düzgün çalışıyor.