1 poin oleh GN⁺ 2023-09-23 | 1 komentar | Bagikan ke WhatsApp
  • Pengalaman pribadi menghindari berita akhirnya berujung pada berita teknologi, dan setelah merasa tidak berdaya menghadapi perubahan negatif yang terus berulang, saya memutuskan untuk membuat browser sendiri
  • Di Hacker News, saya terus berhadapan dengan arus seperti pembaruan yang tidak diinginkan, kenaikan biaya langganan, pengumpulan data pribadi, pembahasan pelarangan enkripsi, dan kontrol atas ekosistem browser
  • Kali ini, alih-alih hanya menghindar, saya mencoba merespons secara kecil-kecilan sebagai programmer dengan cara membuat dan merilis kode
  • Saya mengakui kecil kemungkinan proyek ini akan selesai atau menjadi browser arus utama, dan jika tidak mendapat bantuan, proyek ini bisa segera berhenti
  • Saya berharap proyek browser yang terbuka dan nonkomersial ini bisa menginspirasi orang lain dan memicu lebih banyak proyek alternatif

Proses bagaimana menghindari berita berujung pada pengembangan browser

  • Sekitar 10 tahun lalu, saat sering bepergian dengan mobil ke lokasi klien, saya biasa mendengarkan Business News Radio (BNR) atau Radio 1 di Belanda, tetapi suatu hari setelah mematikan radio, saya merasa tidak ingin mendengarkan berita lagi
  • Saya merasa berita hanya terus-menerus menyampaikan hal-hal buruk seperti perang dan korupsi, dan sebagai individu saya tidak punya cara untuk menyelesaikan masalah itu
  • Setelah itu saya menghindari mendengarkan, menonton, dan menjelajahi berita di internet; ketika berita jam 8 malam mulai, saya mengganti saluran atau meninggalkan ruangan tempat berita diputar
  • Saya menganggap kabar penting pada akhirnya tetap akan sampai lewat orang lain, dan alih-alih berita umum saya hanya sesekali mengikuti beberapa subreddit di Reddit serta berita teknologi

Rasa tidak berdaya yang berulang juga di berita teknologi

  • Sekitar 98% berita teknologi saya peroleh lewat Hacker News milik Y Combinator, tetapi seiring waktu perasaan yang dulu saya rasakan dari berita umum 10 tahun lalu kembali membesar
  • Masalah yang terus berulang adalah pembaruan yang tidak diinginkan, ingkar janji, kenaikan biaya langganan, akuisisi perusahaan, dan upaya mengumpulkan lebih banyak data pribadi
  • Saya juga melihat arus pemerintah yang ingin melarang enkripsi dengan alasan pelaku kejahatan seksual terhadap anak sebagai bagian dari masalah yang sama
  • Browser menjadi target yang sangat penting karena hampir semua orang di dunia menghabiskan waktu di sana
    • Jika browser itu sendiri menampilkan iklan, pemblokir iklan yang memblokir iklan situs bisa menjadi lebih sulit untuk merespons
    • Pernah ada kasus situs dibuat sulit digunakan di browser lain lewat ekstensi khusus untuk browser tertentu, dan menurut saya jika muncul cara untuk menghindari masalah monopoli, hal itu bisa terulang lagi

Alasan memutuskan membuat sendiri dan ekspektasi yang rendah

  • Kali ini, alih-alih sekadar menghindar, saya menilai bahwa sebagai programmer saya bisa mengembangkan browser sendiri dan membagikan kodenya
  • Ada dua alasan saya memutuskan membuat browser
    • Sebagai upaya untuk sedikit mendorong balik
    • Alasan pribadi bahwa sejak dulu saya memang ingin mencoba membuat browser sendiri
  • Saya tidak menaruh ekspektasi besar pada proyek ini
    • Saya tidak berharap proyek ini akan selesai
    • Jika tidak ada orang yang membantu, saya rasa proyek ini bisa segera mati
    • Saya juga tidak berharap proyek ini akan menjadi browser dominan yang menjatuhkan browser besar yang sudah ada
  • Bentuk yang saya harapkan adalah proyek ini terbuka untuk tujuan nonkomersial dan bisa menginspirasi orang lain untuk membuat proyek mereka sendiri
  • Perkembangan proyek bisa dilihat di tulisan progres di codemusings.nl
  • Repositori proyek ada di jaytaph/gosub-browser

1 komentar

 
GN⁺ 2023-09-23
Komentar Hacker News
  • Saya OP. Terima kasih untuk semua komentar positif/negatif/netral. Ada beberapa hal yang ingin saya tambahkan: memang benar sudah ada banyak proyek browser yang bisa dikontribusikan dan itu lebih efisien, tetapi kalau begitu yang tersisa hanya beberapa browser saja. Saya ingin ada banyak browser agar orang punya pilihan
    Ini jelas proyek pribadi. Mungkin saya tetap akan memulainya meski bukan hanya karena muak dengan industri teknologi, tetapi saya marah oleh rasa tak berdaya bahwa saya tidak bisa mengubah apa pun, dan inilah cara saya mencoba melakukan sesuatu. Saya tidak berharap browser sungguhan akan selesai. Saya berharap orang melihat kode saya lalu tertawa, atau mendapatkan ide yang lebih baik. Misalnya, jika algoritma tokenizer dan parser HTML5 dijelaskan langkah demi langkah seperti di situs WHATWG, siapa pun akan lebih mudah menulis parser HTML5 mereka sendiri. Kalau Google atau Microsoft memakai dominasi pasar mereka untuk membuat HTML5 kustom dalam format tertutup, misalnya ghtml, siapa yang bisa menghentikannya? Alasan saya memulai dari nol adalah karena saya ingin lebih memahami kesulitan teknis di lapisan paling dasar

    • Sikap “saya marah karena merasa tidak bisa melakukan apa pun, dan inilah cara saya mencoba melakukan sesuatu” itu berharga sekali, dan memang sikap seperti itulah yang benar-benar mengubah dunia
      Saya juga setuju soal kemelaratan “berita”. Dalam perang psikologis, hal seperti ini disebut penurunan moral (sapping). Dulu musuh membuat propaganda untuk mematahkan kehendak melawan dan membuat orang tidak berdaya; contoh klasiknya adalah Lord Haw-Haw. https://en.wikipedia.org/wiki/Lord_Haw-Haw
      Saat ini, kanal berita arus utama dan raksasa teknologi tampak berusaha mengikat orang dalam keputusasaan dan kecemasan permanen. Diskursus teknologi juga seperti lubang sinisme, penghindaran, penyangkalan, kepasrahan, dan learned helplessness; setelah belakangan ini melakukan banyak wawancara dan analisis sentimen, hasilnya mengerikan. Rasanya kata “tech” sendiri makin menjadi sinonim dari “perlawanan itu sia-sia”. Melakukan sesuatu bukan karena berharap sukses, melainkan untuk memberi teladan dan menjaga kewarasan diri sendiri, adalah respons yang paling positif dan manusiawi
    • Aneh rasanya harus menulis jawaban seperti ini di ‘hacker’ news, tetapi lakukan saja apa yang ingin dilakukan. Ada orang yang membuat kerajinan kayu, memperbaiki mobil, dan bermain gim; ada juga yang suka coding. Saya juga punya banyak proyek sampingan yang dimulai karena berbagai alasan, dan semuanya menyenangkan. Semoga beruntung dan nikmatilah. Bisa saja itu menjadi sesuatu yang lebih besar
    • Memulai dengan sikap bahwa ini adalah proyek pribadi itu sangat bagus
      Jika memakai gaya Linus Torvalds, saat membuat sesuatu dengan sikap “bukan mau membuat sesuatu yang besar dan profesional seperti GNU, ini untuk saya sendiri”, kita bisa mencapai banyak hal dengan usaha yang jauh lebih kecil. Dengan begitu kita bisa berkompromi secara praktis, dan baik untuk belajar maupun dipakai sungguhan, kita bisa mencapai sesuatu yang berguna bagi diri sendiri dengan usaha yang jauh lebih kecil dibanding membuat sebuah “produk”. Banyak proyek pribadi saya juga bermula dari menemukan proyek pribadi kecil seperti ini, memakai ulang sebagian darinya, lalu bergerak ke arah yang sama sekali berbeda. Jauh lebih mudah mengambil proyek kecil yang “cukup mendekati” daripada memangkas atau menyesuaikan monster besar yang fiturnya lengkap. Kompleksitas browser banyak berasal dari keharusan mendukung semua situs dan semua skenario penggunaan, tetapi jika membuatnya untuk diri sendiri, kita bisa fokus membuat situs yang kita pedulikan berjalan cukup baik, sehingga masalahnya jauh berkurang. Saya berharap lebih banyak orang mencoba proyek yang “mustahil”. Meski keseluruhannya tidak langsung berguna bagi orang lain, sebagian bisa saja berguna, dan kadang-kadang sesuatu yang lebih besar muncul dari proyek pribadi kecil, seperti Linux
    • Abaikan saja gangguannya. Di HN kadang terlalu banyak mentalitas kepiting dalam ember
      Kalau saja setengah dari waktu yang dipakai untuk mengatakan bahwa proyek seseorang tidak berguna dan membuang-buang waktu digunakan untuk hal yang konstruktif, dunia akan punya jauh lebih banyak proyek keren dan menarik. Lebih baik gagal dalam hal yang berani dan ambisius daripada tidak mencoba sama sekali
    • Saya berharap lebih banyak orang mencoba implementasi browser. Banyak komentar mengatakan ini tugas yang sangat besar, dan memang bisa jadi begitu, tetapi bukan berarti seburuk itu
      Tidak perlu mengimplementasikan semua fitur browser web modern. Tidak perlu Battery API, Gamepad API, USB, dan semacamnya; fokus saja pada HTML, CSS, JS yang penting. Dalam skenario terburuk pun, kita akan mempelajari hal baru. Semoga proyeknya berhasil
  • Pernyataan “saya tidak mengharapkan apa pun, tidak berharap akan menyelesaikannya, ini proyek yang akan segera mati kalau tidak ada yang membantu, tidak berharap menjadi browser dominan yang menumbangkan pemain raksasa di pasar” mirip dengan pengumuman pertama Linux yang Linus unggah ke comp.os.minix
    Tulisan itu dimulai dengan “Halo semua pengguna minix. Saya sedang membuat sistem operasi bebas untuk klon AT 386(486). Ini hanya hobi, jadi tidak akan sebesar dan seprofesional gnu…”, lalu mengatakan bahwa ia telah mem-port bash dan gcc, tampaknya sesuatu yang praktis akan keluar dalam beberapa bulan, dan meski tidak berjanji akan mengimplementasikan apa pun, ia meminta orang memberi tahu fitur yang diinginkan. Di bagian akhir ia juga mengatakan tidak ada kode minix sama sekali, ada filesystem multithreaded tetapi tidak portabel, dan mungkin tidak akan mendukung selain hard disk AT

    • Ia bilang “mungkin tidak akan mendukung selain hard disk AT”, tetapi sekarang Linux dipasang di pesawat ruang angkasa
      Tidak ada yang tahu sejauh mana sebuah proyek akan berjalan. Dan jika kita melakukannya karena alasan sendiri, dalam beberapa hal itu bahkan tidak penting
    • Membaca pengumuman lama itu terasa gila, tetapi akhirnya kita sampai sejauh ini. Menakjubkan juga Linus masih memimpin proyeknya dengan tekun, dan kini Linux menjadi sistem operasi fondasi internet. Ruang server hampir semua perusahaan besar sebagian besar terdiri dari server yang menjalankan Linux atau turunan internalnya
  • Saya tidak terbiasa melihat suasana senegatif ini di HN terhadap browser dan web terbuka. Terlepas dari berhasil atau tidak, saya melihatnya sebagai upaya yang sangat bernilai
    Sekalipun hasil akhirnya hanya browser setengah jadi yang tidak dipengaruhi motivasi perusahaan teknologi raksasa, itu bisa berguna suatu hari nanti ketika tiba saatnya kita harus berhenti bergantung pada Firefox. Saya sangat menyukai Firefox, jadi saya berharap hari seperti itu tidak datang, tetapi saya menyadari bahwa saat mengakses web, browser saya sendiri adalah semacam bottleneck. Ada situs web lain untuk melihat konten yang sama, dan ada merek komputer lain yang bisa dipakai, tetapi di tengahnya selalu ada Firefox. Ada browser lain juga, tetapi kebanyakan tampak berbasis Googlium atau apa pun namanya sekarang. Jadi saya berharap mereka beruntung dan sukses, dan berniat berlangganan RSS feed-nya untuk sesekali melihat proyek ini

    • Bukankah sudah hampir jadi pola baku bahwa setiap kali thread tentang browser dibuka di HN, akan ada sekitar selusin balasan dengan banyak upvote yang berargumen bahwa membuat browser baru itu mustahil?
      Padahal ada bukti bahwa itu memang mungkin. Ladybird dibuat dari nol, awalnya bahkan sampai membuat sendiri pustaka standar C++, dan setelah 3–4 tahun pengerjaan paruh waktu, sekarang bahkan bisa menjalankan Discord meski lambat. Kini ada juga developer penuh waktu. Untuk GoSub, kalau melihat cargo.lock, tampaknya mereka tidak mencoba mengimplementasikan semuanya dari nol; hal-hal seperti image decoder kemungkinan besar memakai komponen yang sudah ada, sehingga berpotensi tumbuh lebih cepat
  • Saat ini, “menulis browser dari nol” pada dasarnya lebih dekat artinya dengan mengimplementasikan sistem operasi portabel di dalam kotak, yaitu platform web, dan membuatnya kompatibel dengan hal-hal yang diputuskan Google untuk ditambahkan ke browsernya sendiri
    Browser memiliki fungsi dan API yang terlalu luas, dan bahkan Microsoft pun tidak mampu mengejar perubahan fitur Google yang terus-menerus serta dominasinya. Ada proyek pribadi terkait bernama Tersenet. https://github.com/runvnc/tersenet
    Ini lebih mirip konsep yang hampir belum memiliki implementasi, tetapi persyaratannya sengaja dipilih agar orang bisa mengimplementasikannya. Jauh lebih tidak kompleks dibandingkan browser web penuh. Ada juga diskusi terkait dengan GPT-4. https://chat.openai.com/share/16d02b78-f876-4c87-949a-a60b4f...
    Proyek Gemini yang benar-benar ada dan praktis juga relevan. https://geminiprotocol.net/ Itu menginspirasi ide Tersenet

    • Tidak harus begitu. Jika cakupannya dibatasi menjadi penampil dokumen hiperteks, tiba-tiba ini menjadi dapat dijangkau. Banyak fitur adalah fitur bergaya PWA yang tidak diinginkan siapa pun dan tidak digunakan untuk hal baik
      Hal seperti WebSQL, IndexedDB, service worker, WebGL, WebGPU, WebBluetooth, dan WebRTC semuanya bisa diperlakukan seolah tidak ada. 99% situs web nyata, yaitu situs yang bukan “aplikasi” web, tidak akan kehilangan fungsionalitas
    • Ladybird adalah proyek yang masih sangat muda, tetapi berkembang dengan kecepatan yang cukup baik. Tentu perlu diingat bahwa developer utamanya punya cukup banyak pengalaman di bidang ini
      Secara pribadi, saya ingin ada lebih banyak engine alternatif selain monokultur Blink dan kerabatnya, WebKit, serta Gecko/Quantum. Saya ingin ada sesuatu yang menggantikan posisi KHTML sebelum diserap ke WebKit, atau setidaknya satu lagi opsi open source yang bisa dicoba
    • Pernyataan bahwa harus kompatibel dengan hal-hal yang diputuskan Google untuk ditambahkan ke browsernya sendiri itu berlebihan. Ada banyak orang terhormat yang mempertahankan homepage pribadi dengan HTML yang jauh lebih sederhana, dan news.ycombinator.com juga dicintai karena mempertahankan tampilan klasiknya
      Saya berharap orang-orang yang sangat setuju dengan gagasan ini dapat menyepakati subset yang akan digunakan, dan saya bisa puas dengan browser yang tidak melakukan semua hal yang dilakukan browser Google. Saya memakai uMatrix untuk mematikan cukup banyak fungsi Google, dan tidak pernah memasukkan domain google.com ke daftar izin, seolah membuktikan bahwa dunia tidak berakhir karenanya. Situs yang tidak berfungsi relatif sedikit
    • Mengapa harus melakukan apa yang Google lakukan? Sebagian besar situs web mengikuti HTML dan ECMAScript. Bukankah inti proyek ini adalah melepaskan sinkronisasi dari apa yang dilakukan perusahaan teknologi raksasa?
      Mayoritas situs web tidak ingin mengikuti teknologi iklan, AMP, DRM, dan hal-hal lain yang baru-baru ini dibuat khusus untuk Google
    • Mungkin yang kurang agar ekosistem browser menjadi kaya adalah runtime/interpreter JavaScript mandiri yang modular, mirip Java? Java punya banyak JVM. https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
      Mungkin Mozilla dan pihak lain perlu membuat “VM” JavaScript independen yang bisa digunakan semua orang
  • Sebagai seseorang yang sama sekali tidak tahu bagaimana browser “sungguhan” bekerja tetapi memutuskan untuk menulis browser sendiri, bahkan sampai membuat layout engine kustom, saya hanya ingin mengatakan: coba saja
    Melihat sebuah situs web dirender oleh kode sendiri adalah hal yang sangat memuaskan, betapapun berantakan kode atau keluarannya. Proyek saya sudah berjalan sekitar dua setengah tahun, dan sekarang bisa merender HN serta blog sederhana dengan lumayan. Apakah secara objektif lebih baik daripada w3m yang semula ingin saya gantikan? Belum tentu, jadi untuk beberapa pekerjaan saya masih kembali ke w3m. Namun proyek ini tetap berguna untuk pekerjaan yang tidak pernah saya duga, saya belajar banyak tentang pemrograman, dan bagaimanapun juga keren bahwa itu berfungsi. https://sr.ht/~bptato/chawan

  • Membuat browser berarti membuat rendering engine dan layout engine. Bukan hal yang mustahil, tetapi ini tugas yang cukup besar
    Namun ada banyak pekerjaan lain yang lebih berpeluang membuahkan hasil. Kita bisa mem-port Servo ke Nyxt Browser, atau mem-fork WebKit/Servo/Gecko untuk menyingkirkan standar web invasif yang merugikan pengguna dan disuntikkan perusahaan iklan selama 10 tahun terakhir. Kalau itu semua adalah hal-hal yang tetap harus dilakukan saat membuat dari nol, lebih baik memulai dari komunitas yang sudah ada dan bersedia bekerja sama daripada mulai benar-benar dari dasar

    • Karena itu, saya melakukannya dengan WebKit. https://github.com/tholian-network/retrokit karena ternyata Servo tidak semodular dulu
      Gecko nyaris menjadi definisi monolit, sehingga mustahil menghapus attack surface, dan bahkan Tor pun memakai pendekatan penggantian stub yang buruk, yang rusak setiap kali API internal atau bridge berubah. Namun mengikuti upstream sendirian itu mustahil, jadi diperlukan kontributor dan maintainer. Dari perspektif keamanan siber, saya sudah mendokumentasikan attack surface semaksimal mungkin, serta mencatat pekerjaan yang tersisa dan hal-hal yang pada akhirnya harus dihapus. https://github.com/tholian-network/retrokit/blob/main/SECURI...
      Ini bisa cukup subjektif karena saya ingin memakai RetroKit sebagai webview untuk Browser Stealth saya. Browser Stealth berfungsi sebagai proxy pemfilter, scraper, dan cache terdesentralisasi. https://github.com/tholian-network/stealth Saat ini sedang ditulis ulang dalam golang
    • Saya memelihara library layout web yang dirancang untuk diintegrasikan ke perangkat lunak lain. https://github.com/DioxusLabs/taffy
      Library ini perlu digabungkan dengan text layout engine seperti https://github.com/pop-os/cosmic-text, dan belum mendukung semua fitur. Fitur utama yang saat ini belum ada adalah float, display: inline-block, box-sizing: content-box, dan position: static. Namun Block, Flexbox, dan CSS Grid sudah didukung, dan masih terus ditambahkan
    • Memang benar ini tugas berat, tetapi menurut saya itu bukan alasan untuk menyerah. Dalam beberapa hal, hari ini justru lebih mudah daripada dulu. Karena sekarang ada standar yang komprehensif
      Ini memang pekerjaan besar, tetapi bukan yang paling mustahil untuk dilakukan oleh tim kecil yang berdedikasi
    • Rendering dan layout engine tidak harus lolos semua ACID test sejak awal, bukan? Bisa dibangun secara bertahap
      Kita bisa mulai dari merender situs web HTML yang cukup sederhana, tidak perlu terburu-buru, dan tidak ada aturan ketat bahwa setiap sudut standar harus diimplementasikan. Web browser dan web itu sangat manusiawi dengan caranya sendiri
    • Hanya kalau ingin menulis dari nol, barulah perlu menulis rendering dan layout engine sendiri. Browser terutama adalah aplikasi yang berhadapan dengan pengguna, bukan roda gigi internal itu sendiri
      Mengambil dan menyambungkan engine yang sudah ada, lalu membuatnya cukup modular agar bisa diganti kapan saja, tetap merupakan browser yang sah. Secara pribadi, saya merasa orang-orang di sini terlalu fokus pada roda gigi internal, padahal sebenarnya selain rendering/layout/scripting, kita juga membutuhkan antarmuka dan komponen lain yang lebih baik
  • Saya mendukungnya. Semoga terus lanjut
    Saya mengimplementasikan sebagian sangat kecil dari algoritma ORC Solver dengan Python, dan memakai wxWidgets untuk rendering. Untuk menghitung lebar teks, saya menggunakan API text extent milik wxWidgets. White paper ORC Solver ada di sini. https://yuejiang-nj.github.io/Publications/2020CHI_ORCSolver...
    Saya sedang memikirkan cara mengimplementasikan branch and bound, jadi informasi terkait akan sangat membantu. Untuk melihat algoritma typesetting, sepertinya saya perlu mempelajari codebase TeX, dan menggunakan library JavaScript Masonry untuk layout bin packing juga sangat menarik

  • “Kalau kalian menginginkan HTML-ku, akan kuberikan! Carilah! Semua hal di dunia telah kutinggalkan di sana”
    “Maka para hacker pun menuju HyperText Line untuk mengejar impian mereka, dan dunia benar-benar memasuki era browser besar!”
    Selama bertahun-tahun saya percaya browser adalah gunung yang tak tertaklukkan, tetapi kini tampaknya semakin banyak orang percaya bahwa kita bisa melakukannya. Dari analisis 2 detik, arus ini terlihat karena para pembuat browser baru bukan ingin meniru dan bersaing dengan monster raksasa yang sudah ada, melainkan ingin mengubah web. Saya suka itu

  • Mengenai bagian politis dalam tulisan itu, dunia memang sedang rusak, dan membaca hanya berita yang rusak itu melelahkan. Namun, memutus diri dari kenyataan dan menjadi “apolitis” menurut saya berarti menyerah pada umat manusia—dengan kata lain menyerah pada anak-anak sendiri, keponakan, dan anak-anak sahabat terdekat
    Tidak perlu sampai mengubah dunia; perubahan kecil di komunitas sendiri saja sudah cukup. Terutama sebagai coder, apa yang kita buat bisa memengaruhi ribuan orang di seluruh dunia dan mengubah arah. Kadang saya berpikir, apakah situasinya akan berbeda jika semua orang menginvestasikan hanya 3–5% waktunya untuk mendukung komunitas dan suatu bentuk aktivitas

    • Saya sama sekali tidak menonton/membaca berita. 99% isinya sampah bias, sering kali bahkan tidak faktual, dan mengotori pikiran. Berkat itu, hidup dan kesehatan mental saya jauh lebih baik
      Apa pun yang saya baca di berita tidak akan mengubah cara saya memilih, padahal itu sebenarnya mungkin alasan terbaik untuk mengikuti berita
    • Saya jelas setuju soal partisipasi komunitas. Membersihkan salju di depan rumah tetangga yang sudah tua itu bagus karena benar-benar melakukan sesuatu
    • Secara umum saya setuju. Beberapa tahun lalu saya memutuskan berhenti mendengarkan berita, tetapi itu setelah saya memutuskan untuk tidak punya anak. Orang-orang yang punya anak lalu menutup telinga tampak keliru
      Kalau diungkapkan, saya sudah menyerah pada dunia. Namun anak-anak orang lain bukan tanggung jawab saya. Saya berusaha melakukan “hal yang benar” kira-kira sejauh orang lain melakukannya, tetapi tidak lebih. Dulu saya memikirkan hal-hal seperti ini, mencoba mengurangi jejak pribadi, dan memikirkan keberlanjutan serta generasi mendatang, tetapi saya kehilangan harapan. Rasanya seperti melawan arus. Sekarang saya hanya berusaha agar jejak saya tidak lebih besar dari rata-rata dan bersikap baik kepada orang-orang di sekitar saya
    • Memutus diri dari industri berita tidak otomatis berarti memutus diri dari kenyataan. Setidaknya saya berharap begitu. Saya hanya mengonsumsi berita non-teknis kira-kira seminggu sekali
  • Jika Rust memang wajib, sepertinya akan lebih bermanfaat belajar dengan berkontribusi ke Servo dan mulai dari PR kecil. https://github.com/servo/servo
    Namun saya juga mengerti, karena saya pernah mengerjakan proyek “dari nol” karena sulit membaca codebase yang sudah ada atau merasa bisa melakukannya lebih baik. Tiap orang punya caranya sendiri

    • Menulis sendiri versi mainan dari sebuah program adalah cara yang sangat baik untuk memahami versi besarnya
    • Karena Rust dan Servo dimulai bersama, Servo punya banyak kode dari sebelum Rust 1.0, dan akibatnya ada bagian yang gayanya kurang ideal
      Demikian pula, Servo dirancang untuk menggantikan sebagian browser Firefox, sehingga harus pas dengan lubang yang “berbentuk Gecko”. Misalnya, demi kompatibilitas dengan bagian lain Firefox, di banyak tempat ia memakai string UTF-16. Kalau sekarang, mungkin Servo bisa ditulis ulang dengan Rust modern agar lebih kecil, lebih ramping, dan mungkin lebih cepat
    • Servo adalah proyek yang luar biasa dan saya juga menyukai apa yang telah dilakukan Mozilla, tetapi pada akhirnya secara finansial bukankah mereka tetap terkait dengan Google?