1 poin oleh GN⁺ 3 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Pembengkakan perangkat lunak adalah perubahan ketika aplikasi yang dulu muat dalam satu floppy kini menuntut ruang penyimpanan gigabita dan waktu tunggu yang lama
  • Disket floppy 1.44MB bukan batasan main-main, melainkan tolok ukur disiplin, dengan premis bahwa alat berfokus tunggal pun bisa dibuat cukup kecil
  • Perangkat lunak kecil mengarah pada unduhan cepat dan langsung berjalan, penggunaan memori·CPU yang rendah, daya tahan baterai yang lebih lama, serta dukungan untuk sistem lama
  • Menekankan prinsip hanya menggunakan native, menghindari pembengkakan dependensi, dan bahwa semua kode harus punya alasan untuk ada
  • Lencana floppy ditempelkan pada aplikasi dengan total ukuran unduhan di bawah 1.44MB, dan intinya bukan nostalgia melainkan sikap membuat yang menghargai setiap byte

Standar perangkat lunak kecil

  • Karena pembengkakan perangkat lunak, aplikasi yang dulu muat dalam satu disket floppy kini menuntut ruang penyimpanan gigabita, waktu tunggu yang lama, dan kesabaran yang berlebihan
  • Disket floppy 1.44MB dipakai bukan sebagai pembatas yang lucu, tetapi sebagai tolok ukur pengendalian diri
  • Jika dahulu perangkat lunak yang menjalankan seluruh bisnis bisa masuk dalam kapasitas ini, maka alat modern yang terfokus pada satu tujuan juga cukup masuk akal untuk dibuat sangat kecil
  • Perangkat lunak kecil bertujuan untuk diunduh dengan cepat, langsung dijalankan, dan mengurangi pemuatan yang tidak perlu
  • Ia menghormati perangkat pengguna dengan penggunaan memori dan CPU yang rendah, daya tahan baterai yang lebih lama, hingga dukungan untuk sistem lama
  • Menekankan hanya menggunakan native, menghindari pembengkakan dependensi, dan semua kode harus memiliki alasan untuk ada
  • Perangkat lunak yang melakukan satu hal dengan baik dapat memiliki fitur yang lebih fokus, bug yang lebih sedikit, dan bertahan lebih lama

Cara pengukuran dan maksudnya

  • Lencana floppy diberikan pada aplikasi dengan total ukuran unduhan di bawah 1.44MB, yaitu kapasitas disket floppy 3,5 inci standar
  • Ukuran yang ditampilkan pada disket didasarkan pada ukuran universal binary yang dilaporkan oleh platform distribusi pengembang
  • Ukuran unduhan aktual ke perangkat bisa lebih kecil daripada ukuran yang ditampilkan karena platform thinning hanya mengirim bagian yang diperlukan untuk perangkat keras tertentu
  • Intinya bukan nostalgia pada disket floppy itu sendiri, tetapi pada sikap membuat bahwa setiap byte itu penting, batasan melahirkan kreativitas, dan perangkat lunak seharusnya ringan
  • Sebagai contoh terkait, terhubung artikel proses pembuatan game pemenang berukuran 39KB YOYOZO

1 komentar

 
GN⁺ 3 jam lalu
Komentar di Lobste.rs
  • Secara umum setuju, tetapi sangat bergantung pada apa yang sudah terpasang di sistem. Binary dynamic linking yang dibuat dengan C atau skrip Python mudah memenuhi kriteria ini karena runtime-nya ada di hampir semua komputer
    Sebaliknya, jika melakukan static linking demi portabilitas atau memakai bahasa dengan runtime yang kurang umum seperti Janet, ukurannya akan jauh melampaui batas ini
    • Cenderung setuju. Kecuali Anda membuat aplikasi native di atas dependensi yang masuk akal seperti toolkit UI yang bisa diasumsikan sudah ada di OS target, sulit memenuhi batas ukuran ini. Bahkan libc yang “kecil” biasanya lebih dari 0.5MB, dan kalau ingin membuat request jaringan, LibCURL juga ratusan KB, BearSSL pun tampaknya mirip
      Proyek saya Decker berusaha keras mengurangi dependensi eksternal, tetapi demi portabilitas bergantung pada SDL dan SDL_image serta mendistribusikannya bersama aplikasi. Rilis Apple Silicon saat ini berukuran 6MB dalam keadaan terkompresi, dan sekitar 4.6MB di antaranya adalah dylib SDL dan SDL_image. Build web dimulai dari sekitar 0.5MB dengan asumsi pengguna sudah memiliki browser HTML5 yang cukup modern, tetapi jika browsernya ikut dihitung maka dependensinya menjadi ratusan MB
      File deck mentah untuk aplikasi dan library yang berguna bisa hanya puluhan KB jika runtime-nya sudah ada. Love2d juga berada dalam situasi serupa, dibangun di atas SDL dan berbagai komponen bawaan, dengan ukuran 10MB terkompresi dan 25MB setelah diekstrak. Di atas Love2d, Anda bisa membuat aplikasi berguna berukuran puluhan KB hanya dengan skrip Lua dan grafik vektor, tetapi sekali lagi itu hanya berlaku jika runtime-nya sudah tersedia
      Jika sumber daya pengembangan tak terbatas, menghindari dependensi SDL mungkin tujuan yang keren, tetapi pada kebanyakan proyek berbasis SDL, kemungkinan besar itu berarti sepenuhnya mengorbankan dukungan untuk OS yang kurang populer alih-alih hanya mengurangi beberapa MB dari installer. Apakah ini harus dianggap sebagai bloat mungkin tergantung sudut pandang
  • Menghindari software menjadi besar itu bagus, tetapi kebanyakan aplikasi besar ukurannya besar karena file aset, bukan software itu sendiri. Resolusi layar meningkat, dan sekarang kita lebih memedulikan pengalaman pengguna daripada dulu
    Dulu, hanya teks saja sudah cukup masuk akal, tetapi sekarang jarang begitu. Dari daftar motivasi yang diajukan, hanya yang pertama yang benar-benar terhubung langsung dengan ukuran binary mentah, sedangkan sisanya lebih seperti kelebihan terpisah yang bagus jika ada
    Lagi pula, situs itu sendiri memakai sekitar 200,000 byte untuk menyampaikan manifesto berukuran 1,600 byte
  • Saya pernah memainkan game yang dirilis dalam lebih dari 4 floppy disk, dan sebagai orang yang juga mengalami masa ketika ada buku manual 100 halaman berisi seluruh dialog yang ikut disertakan, saya sama sekali tidak merasa cara seperti itu perlu kembali
    • Terdengar agak keren juga, harus merakit gamenya di kepala dari tiga media yang berbeda :-) Game favoritmu pada masa itu apa?
  • Terdengar familiar https://fosstodon.org/@dillo/113913161923323567
    https://cdn.fosstodon.org/media_attachments/files/…
  • Sebagai orang yang waktu kecil menghabiskan waktu memasang game dari floppy disk, memang ada rasa nostalgia, tetapi ini cuma nostalgia murni
    Pengguna masa kini tidak akan menyadari apakah unduhannya 1.44MB, 2.88MB, atau lebih besar dari itu, dan mereka juga tidak akan merasakan bedanya saat menjalankan executable
  • Pernyataan seperti “dulu aplikasi muat di satu floppy, sekarang butuh beberapa GB penyimpanan, beberapa menit waktu, dan terlalu banyak kesabaran” itu berlebihan
    Memang ada aplikasi yang muat dalam satu floppy, tetapi sebagian besar software serius pada era 80-an dan 90-an didistribusikan dalam beberapa disk. Misalnya Microsoft Word v2.0 on 7 disks with 2 supplemental disks, Lotus 1-2-3 on 13 floppy disks, dan bahkan Doom pun ada di 4 floppy disks
    Gagasan muat di satu floppy disk bahkan bukan hal yang umum pada era floppy, dan semua orang tahu bahwa software yang lebih besar tinggal didistribusikan dalam beberapa disk
  • Saya ingat masa ketika distro Linux bisa dimuat dalam satu floppy disk. Tom's RootBoot Disk sangat bagus sebagai sistem pemulihan
  • Tunggu, maksudnya kita tidak boleh memasukkan kutipan Lovecraft 2KB ke dalam semua binary?
  • Saya memakai screensaver ini selama 1–2 minggu terakhir dan sangat menikmatinya. Separuh rasanya seperti toaster terbang, separuh lagi seperti “oh, saya kenal disk itu”
  • Baru-baru ini keluarga saya menonton acara kuis, dan ada pertanyaan tentang berapa banyak yang bisa disimpan di floppy disk standar. Anak berusia 23 tahun itu belum pernah melihat floppy disk seumur hidupnya, padahal pengetahuan komputernya jauh di atas teman-teman sebayanya