1 poin oleh GN⁺ 2025-12-13 | 1 komentar | Bagikan ke WhatsApp
  • Penulis yang mengembangkan editor kode pribadi Boo menjelaskan alasan menghentikan proyek itu untuk sementara dan membuat bahasa pemrograman baru
  • Boo adalah editor berbasis Rust dengan navigasi keyboard berpusat pada manusia dan sistem pengganti LSP, ditujukan untuk penggunaan pribadi alih-alih komersialisasi
  • Ia menilai proses pengembangan yang berulang menurunkan kreativitas, dan lebih mengutamakan kesenangan membuat perangkat lunak yang menginspirasi
  • Dengan contoh merakit balok Lego dan The Legend of Zelda: Breath of the Wild, ia menekankan pentingnya karya yang membekas dalam ingatan
  • Alih-alih mengikuti rumus sukses, ia mempertahankan filosofi pengembangan yang berpusat pada minat dan pembelajaran pribadi, dan berencana menulis ulang Boo di masa depan dengan bahasa yang ia buat sendiri

Proyek Boo dan motivasi pengembangannya

  • Boo adalah proyek yang dibuat penulis sebagai editor kode untuk dirinya sendiri, dengan fokus pada kegunaan pribadi ketimbang keberhasilan populer
    • Boo memiliki fitur navigasi keyboard manusia dan menggunakan sistem yang lebih cepat serta lebih ringan bagi OS dibanding LSP (Language Server Protocol)
    • Saat ini Boo sudah berjalan cukup baik untuk dipakai dalam pekerjaan sehari-hari, tetapi tidak ada rencana untuk merilisnya sebagai sumber terbuka
  • Boo dan Rio Terminal sama-sama ditulis dalam Rust, serta memiliki struktur dan proses distribusi yang serupa
    • Kemiripan ini terasa seperti pekerjaan berulang dan mengurangi kesenangan dalam pengembangan

Hubungan antara penciptaan dan inspirasi

  • Dengan contoh bermain balok Lego, ia menjelaskan bahwa kebebasan untuk membuat bentuk berbeda setiap kali adalah inti dari kesenangan berkreasi
    • Bukan sekadar memakai komponen yang sama berulang kali, melainkan menambahkan elemen luar untuk menghasilkan sesuatu yang baru itulah inti ketertarikan
    Iklan
  • Semakin repetitif pemrograman, semakin kecil kemungkinan lahir karya yang memberi efek “wow”
    • Ia menekankan bahwa untuk membuat perangkat lunak yang menginspirasi, seseorang juga harus terinspirasi

Contoh perangkat lunak yang membekas dalam ingatan

  • Dengan contoh The Legend of Zelda: Breath of the Wild, ia menyebut tingkat penyelesaian game itu begitu tinggi hingga membuat orang yang bahkan tidak bermain game ikut membeli konsol
    • Ia menekankan kekuatan karya yang tetap memberi pengalaman membekas lama setelah dimainkan
  • Ia menjelaskan bahwa perangkat lunak yang dibuat dengan tingkat ketekunan seperti ini meninggalkan kesan emosional pada orang
Iklan

Penghentian sementara Boo dan pengembangan bahasa baru

  • Boo adalah proyek hobi, bukan untuk bisnis, sehingga tidak ada target pendapatan maupun tenggat waktu
    • Ia juga tidak berniat membuat proyek besar seperti VS Code, dan tidak akan memaksakan kelanjutannya
  • Agar bisa melanjutkannya lagi saat inspirasi kembali, ia menghentikan sementara Boo dan saat ini sedang mengembangkan bahasa pemrogramannya sendiri
    • Dalam jangka panjang, ia berencana menulis ulang Boo dengan bahasa ini

Filosofi dan sikap pengembangan

  • Mengembangkan bahasa baru memang pekerjaan besar, tetapi penulis memandangnya sebagai proses belajar yang menyenangkan
    • Sambil memperluas pemahamannya tentang binary dan compiler, ia melanjutkannya dengan ritmenya sendiri
  • Alih-alih mengikuti rumus sukses atau nasihat dari luar, ia terus mengembangkan berdasarkan cara berpikir dan minatnya sendiri
  • Tulisan ini sendiri juga ditulis menggunakan Boo

1 komentar

 
GN⁺ 2025-12-13
Komentar Hacker News
  • Setelah bangun hari ini, minum kopi, lalu membaca tulisan bahwa keluarganya sudah tidur sehingga sore harinya jadi bebas, saya jadi penasaran bagaimana zona waktunya bisa berbeda dengan keluarganya. Saya sampai membayangkan mungkin keluarganya tidur di sore hari, atau justru bangun malam untuk memulai hari

    • Bercanda apakah hobi lainnya mungkin anestesi. Mungkin saja dia punya anak yang sedang tidur siang, tapi tetap saja waktu luangnya sepertinya cuma sekitar dua jam
    • Sikap yang tampak seolah menikmati tidak menghabiskan waktu bersama keluarga terasa agak aneh. Rasanya itu bukan hal yang patut dirayakan
    • Dari contoh seperti “Breath of the Wild”, rasanya seperti membaca tulisan blog dari dimensi lain
    • Mungkin dia tinggal di Spanyol. Bisa jadi karena siesta legendaris mereka
  • Kalimat “editor ini ada untuk membuat saya senang” terasa menyegarkan. Belakangan ini ada tekanan bahwa setiap proyek sampingan harus berkembang menjadi open source atau SaaS, dan itu sering kali justru mematikan kreativitas. Proyek eksperimental seperti Boo atau Rio tampaknya lahir dari kebebasan seperti ini

    • Open source itu bagus, tetapi menurut saya tidak menerima permintaan patch dan hanya merilis kodenya saja juga tidak masalah
    • Belakangan ini, bukan cuma harus jadi open source atau SaaS; suasana bahwa semuanya harus mencapai skala kelas enterprise terasa lebih parah. Bahasa kecil, eksperimen, self-hosting, dan semangat DIY malah jadi semacam kontra-budaya
    • Saya juga setuju dengan kalimat “ada untuk membuat saya senang”. (Emacs)
  • Kalimat “saya membuatnya untuk diri sendiri” adalah cara kerja banyak seniman. Tolkien juga begitu, dan kebanyakan orang membuat sesuatu untuk dirinya sendiri dulu lalu baru menunjukkannya ke dunia. Namun biasanya tidak ada yang peduli, atau baru mendapat perhatian setelah pembuatnya meninggal. Itu pun tidak masalah. Yang penting adalah naluri manusia untuk mengekspresikan imajinasi ke luar

    • Saya juga membuat library canvas saya dengan perasaan seperti itu. Awalnya saya ingin mengekspresikan puisi dengan cara baru di website, lalu tanpa terasa proyek itu sudah menghabiskan waktu senggang saya lebih dari 10 tahun. Hasilnya ada di halaman puisi ini
    • Dulu pernah ada email yang saya tulis dalam kemarahan, lalu atas saran seorang teman dimuat di koran lokal sebagai op-ed. Saya senang ada orang yang mau memperhatikan tulisan saya
    • Kalau benar-benar membuat sesuatu untuk diri sendiri, kita tidak seharusnya terlalu memikirkan pandangan orang lain. Dulu saya juga memikirkan “orang lain akan menganggap ini bagaimana”, tetapi saat saya mulai benar-benar membuat untuk diri sendiri, rasanya benar-benar berbeda
    • Dulu, seniman yang ingin mengejar visinya membutuhkan patron. Sekarang patronase sudah terdemonokratisasi, tetapi sebagai gantinya jumlah klik menentukan penghidupan. Sayang sekali patron kaya menghilang, lalu uang justru mengalir ke kripto atau AI
    • Begitu dengar “seniman yang baru diperhatikan setelah meninggal”, saya langsung teringat pelukis Belanda bertelinga satu
  • Jika pemrograman bersifat repetitif, elemen ‘wow’-nya berkurang. Namun proyek seperti yt-dlp yang mendukung berbagai situs adalah pengecualian. Membuat begitu banyak parser data memang membosankan, tetapi hasil akhirnya memberi rasa “berfungsi di mana saja”

  • Saya membuat perangkat lunak yang membuat orang merasakan emosi — kebanyakan kemarahan. Pada akhirnya, hanya ada dua jenis software: yang diabaikan, dan yang dipakai cukup banyak sampai orang mau mengeluh tentangnya

    • Misalnya Microsoft Teams atau Office 365 jelas membangkitkan emosi, tapi bukan kebahagiaan
    • Software DRM juga sama. Terutama kasus seperti skandal rootkit Sony BMG, itu benar-benar legendaris
    • Saya juga mendapati bahwa alat yang saya buat sambil mencoba menyelesaikan masalah yang saya hadapi setiap hari justru menghasilkan kualitas terbaik. Kalau terlalu cepat digeneralisasi, biasanya malah jadi lambat dan kualitasnya turun
  • Emacs dan Emacspeak memberi saya emosi yang luar biasa besar. Semuanya terasa seperti satu manual utuh, dan cukup tekan C-h m maka semua perintah langsung muncul. Tidak ada yang tersembunyi, dan tidak perlu mengubek dokumen HTML. Kalau ada yang tidak bisa, saya bahkan akan memperbaikinya dengan Codex agar tetap bisa melakukan yang saya inginkan

  • Dalam keadaan ideal, pengembangan software harus diperlakukan sebagai craft. Seperti pertukangan kayu, ini bisa berguna sekaligus menjadi seni. Namun banyak proyek memperlakukan developer seperti buruh pabrik. Budaya yang lebih mementingkan kuantitas daripada kualitas adalah masalahnya.
    Pada saat yang sama, melihat software semata-mata sebagai seni juga tidak praktis. Tujuan kode adalah bekerja, bukan untuk dinikmati. Meski begitu, tetap disayangkan bahwa ungkapan “software yang dibuat dengan craft” terdengar janggal

    • Pertukangan kayu pada akhirnya juga membuat kursi untuk diduduki, bukan untuk dilihat. Jadi saya tidak mengerti kenapa software tidak dipandang sebagai craft
  • FAANG seperti Meta dan Google juga sudah membuat software yang membuat orang merasakan emosi — kemarahan, depresi, kadang bahkan kebahagiaan. Tapi itu menunjukkan bagaimana teknologi yang dimulai dengan niat baik bisa terdistorsi. Seperti pepatah “jalan menuju neraka dipenuhi niat baik”, mengejar kebaikan sering kali justru menghasilkan keburukan.
    Mengutip Knuth, penggerak kemajuan adalah “biarkan ribuan ilmuwan komputer bebas melakukan apa yang ingin mereka lakukan”. Seperti di Bell Labs, kebebasan untuk bereksplorasi itu penting.
    Sekarang kita terobsesi dengan optimisasi tetapi lemah secara matematis, dan pada akhirnya menjadi masyarakat yang berhenti menjelajah. Karena itu saya rasa kemajuan melambat

    • Saya punya ungkapan, “kalau ingin menggiring kucing, kita sendiri harus menjadi kucing.” Kalau ingin memimpin para jenius, kita harus menjadi seperti mereka. Kadang kita juga harus menanggung banyak peran sendirian
  • Ini kebiasaan yang saya pelajari dari Casey Muratori dan Jonathan Blow; saya juga suka membuat dunia kecil saya sendiri. Proyek-proyek yang saya satu-satunya pengguna sekaligus sasarannya. Tanpa tenggat, tanpa permintaan, tanpa runtime, sebuah ruang kesenangan yang murni

    • Ada yang bertanya apakah “membuat dunianya sendiri” mungkin berarti dunia geografis fiktif. Tolkien dan Stevenson juga memulainya seperti itu
    • Tetapi Blow dan Casey sudah lama tidak merilis hasil karya
  • Belakangan ini sebagian besar software membangkitkan emosi yang kuat dalam diri saya

    • Terutama saat melihat node_modules, saya jadi marah. Saat melihat aplikasi berbasis Electron, saya jadi berpikir “di mana sebenarnya kita mulai salah”. Saya juga benci UI mobile yang ditempelkan ke desktop