1 poin oleh GN⁺ 2025-05-30 | 1 komentar | Bagikan ke WhatsApp
  • Compiler Explorer pada awalnya menggunakan pendekatan menyimpan seluruh status langsung di URL
  • Karena URL menjadi terlalu panjang, layanan pemendek URL goo.gl milik Google diadopsi, tetapi struktur ini menimbulkan kerumitan karena harus melalui beberapa kali pengalihan
  • Sejak 2018, karena masalah batas panjang URL dan sulitnya pemeliharaan, sistem ini beralih ke arsitektur yang memanfaatkan penyimpanan berbasis S3 dan DynamoDB milik sendiri
  • Namun, karena Google akan menghentikan layanan goo.gl pada Agustus 2025, situasinya menjadi bahwa keberlangsungan tautan pendek lama harus dikelola sendiri
  • Hingga saat ini, lebih dari 12.000 tautan lama telah berhasil diselamatkan, dan ini menunjukkan pentingnya pelestarian pengetahuan pemrograman dan pengoperasian layanan yang berkelanjutan

Jaminan keabadian tautan Compiler Explorer dan sejarahnya

Desain awal dan latar belakang adopsi goo.gl

  • Pada 2012, Compiler Explorer memperkenalkan struktur yang mengodekan seluruh status kompilator langsung ke dalam URL
  • Semakin banyak informasi status, semakin muncul masalah URL yang menjadi terlalu panjang
  • Untuk memendekkan URL, pada 2014 layanan pemendek goo.gl dari Google diterapkan
    • Menyediakan tautan pendek berformat goo.gl/abc123, dan saat diklik akan mengalihkan ke URL panjang asli lalu memulihkan status
  • Stack Overflow melarang penggunaan shortlink pada 2016, sehingga pendekatan yang ada menjadi dibatasi
    • Karena risiko menyembunyikan tautan berbahaya, semua tautan berbasis goo.gl ikut terdampak
  • Karena tidak ingin menyimpan data pengguna, sebagai solusi sementara dibuat jalur sendiri berformat godbolt.org/g/abc123
    • Saat mengakses godbolt.org/g/abc123, pengguna akan dialihkan lagi ke goo.gl/abc123
    • Dalam proses ini, pada akhirnya kembali ke URL panjang godbolt.org
    • Muncul masalah struktur menjadi rumit karena terjadi beberapa kali pengalihan
  • Setelah itu, penggunaan Google API menyederhanakan sebagian prosedur pengalihan

Penerapan penyimpanan sendiri dan pengelolaan tautan

  • Sejak 2018, batas panjang URL dan ketidaknyamanan kompresi data makin sering menjadi masalah
  • Mengimplementasikan struktur penyimpanan sendiri dengan memanfaatkan S3 dan DynamoDB
    • Nilai masukan di-hash dan disimpan ke S3 dalam bentuk dokumen JSON
    • Saat tautan pendek (godbolt.org/z/hashbit) diakses, pemetaan dicari di DynamoDB
    • Jika nilai hash memuat kata kasar atau kata yang tidak pantas, diterapkan pemeriksaan untuk menghindarinya dengan menambahkan elemen acak
    • Menyelesaikan masalah ketidaksesuaian pada tautan berbasis hash dan mengalami bug terkait (misalnya: issue #1297)
  • Hingga kini format alamat godbolt.org/g/abc123 masih tetap didukung
  • Meskipun ada panduan resmi dari Google, layanan goo.gl telah berubah menjadi mode baca saja dan dijadwalkan berhenti total pada Agustus 2025
  • Tautan pendek berbasis goo.gl nantinya tidak lagi dapat diurai
  • Karena bentuk godbolt.org/g/abc123 bisa diperpanjang masa hidupnya melalui pengelolaan langsung, dilakukan pekerjaan penyelamatan terstruktur terhadap struktur tautan ini

Pengumpulan besar-besaran tautan lama dan pekerjaan pengarsipan

  • Baru-baru ini dilakukan crawling dan pendataan tautan lama dari semua sumber yang memungkinkan (pencarian, data dump, weblog, dan lain-lain)
    • Google Web Search API
    • GitHub API
    • Log server internal
    • Data dump Stack Overflow dari archive.org
    • Data halaman web yang disimpan oleh Archive.org
  • Sekitar 12.298 tautan pendek berhasil dipulihkan
  • Secara internal, penggunaan basis data tautan milik sendiri mulai menggantikan goo.gl (PR terkait: #7724)
  • Ke depan, tautan godbolt.org/g/abc123 yang belum ditemukan akan terus dikumpulkan dan diamankan
  • Jika komunitas masih memiliki tautan yang belum terdaftar, mereka diminta mengaksesnya langsung atau memberi tahu pengelola agar basis data dapat dilengkapi

Filosofi proyek dan pentingnya memiliki infrastruktur sendiri

  • Kasus ini menunjukkan risiko bergantung hanya pada keberlangsungan layanan eksternal (misalnya Google) untuk infrastruktur penting
  • Pengelolaan shortlink dan struktur pencadangan hanyalah solusi sementara, dan untuk benar-benar menjanjikan URL permanen perlu mengelola seluruh layanan secara langsung
  • Dalam proses menyelamatkan tautan lama seperti arkeologi digital, disadari bahwa setiap tautan adalah jejak dari pembagian pengetahuan, pertanyaan, dan penjelasan konsep milik seseorang
  • Tindakan penyimpanan dan pelestarian ini juga langsung terkait dengan pengarsipan sejarah komunitas pemrograman
  • Jika menemukan tautan Compiler Explorer lama, menekannya sekali sekarang pun menjadi cara untuk berkontribusi pada pelestarian pengetahuan internet
  • Kali ini, dengan bergantung pada infrastruktur yang dikendalikan langsung, bukan pihak ketiga, janji untuk menjamin keberlangsungan dapat dipenuhi

Disclaimer

  • Tulisan ini ditulis oleh manusia, dan LLM digunakan dalam proses rekomendasi tautan serta pemeriksaan tata bahasa

1 komentar

 
GN⁺ 2025-05-30
Komentar Hacker News
  • Sebelum 2010, rasanya wajar menganggap tautan akan bertahan selamanya, jadi saya aktif memakai fitur bookmark di browser. Namun seiring waktu, saya mengalami banyak bookmark yang praktis tak lagi bisa dipakai karena link rot, lalu saya membiasakan diri menyimpan halaman web sebagai PDF. Setelah Reader view menjadi populer, saya beralih ke cara menyalin isi dari Reader view lalu menyimpannya sebagai file RTF
    • Saya memakai ekstensi SingleFile untuk mengarsipkan semua halaman yang saya kunjungi. Pengaturannya cukup mudah saat dipasang, tetapi perlu diperhatikan bahwa ini memakan ruang penyimpanan yang besar; sebagai contoh, direktori arsip halaman web saya mencapai 1.1TB tautan GitHub SingleFile
    • Jika memasang ekstensi browser resmi Web Archive, Anda bisa mengaturnya untuk otomatis mengarsipkan semua halaman yang dikunjungi
    • Cara saya adalah mengingat informasi penting atau setidaknya di mana saya bisa menemukannya. Saya masih hidup sampai sekarang, jadi cara ini lumayan berhasil
    • Saya penasaran apakah ada ekstensi browser yang otomatis mengarahkan ke web.archive.org saat sebuah tautan timeout
    • Ada cara memakai format WARC bersama WebRecorder info WARC, WebRecorder
  • Mungkin ada nilainya untuk bekerja sama dengan proyek Goo.gl milik ArchiveTeam detail proyek; saya rasa pemendekan URL memang benar-benar ide yang buruk penjelasan URLTeam
    • Menurut status langsung proyek tersebut, dari 42,5 miliar URL goo.gl, 7,5 miliar sudah ditemukan tautan status langsung
    • ArchiveTeam kemungkinan tidak memakai tautan yang "diketahui", melainkan brute force terhadap URL pendek Goo.gl. Saya menduga sebagian besar atau semua URL Compiler Explorer akan ada dalam data mereka, jadi menurut saya menghubungi mereka adalah ide yang bagus
  • Gagasan bahwa URL bertahan selamanya adalah mimpi ideal. Dalam kenyataannya, 99% URL memang tidak permanen. Daripada terus melawan pertempuran yang mustahil dimenangkan, mungkin lebih tepat membangun teknologi dengan asumsi bahwa infrastruktur memang tidak permanen
    • Membuat teknologi dengan asumsi bahwa infrastruktur tidak permanen memang arah yang benar, dan saya juga berpikir kita harus menghindari memakai layanan pemendek URL seolah-olah itu infrastruktur
    • URN (Uniform Resource Name) adalah sistem yang dirancang untuk memberi identitas pada sumber daya tanpa bergantung pada lokasinya. Namun, ini tidak pernah menjadi arus utama, dan layanan pemendek URL pada dasarnya hanya mencoba sesuatu yang mirip tanpa benar-benar mewujudkan konsep ini dengan baik penjelasan URN di Wikipedia
    • Nama domain sering berganti pemilik, dan ada juga fakta bahwa URL yang tampak permanen pun seiring waktu bisa berubah menjadi tautan phishing berbahaya
    • URL hanya mengidentifikasi lokasi sumber daya di jaringan, bukan sumber daya itu sendiri, jadi memang tidak harus permanen atau unik. Itulah sebabnya namanya "Uniform Resource Locator". Menyadari masalah ini, Digital Object Identifier diciptakan pada 1997
  • Ada sesuatu yang terasa puitis dari menyalahgunakan layanan pemendek tautan seperti database, lalu belakangan harus mencari kembali tautan berharga itu di seluruh sudut internet
    • Tujuan asli pemendekan URL adalah membuat URL panjang menjadi pendek. Justru masalahnya adalah orang-orang yang menyalahgunakan domain untuk menyembunyikan spam, penipuan, dan situs ilegal lewat URL pendek
    • Mereka tampaknya juga hanya memakai layanan pemendek untuk memampatkan URL. Sebenarnya URL asli mereka sendiri sudah menyimpan status compiler seperti sebuah "database"
  • https://killedbygoogle.com/, Google Go Links (2010~2021) adalah layanan pemendek URL Google yang berjalan sekitar 11 tahun sebelum dihentikan 4 tahun lalu. Pelanggan Google Workspace juga bisa memakai domain kustom
    • Menghentikan layanan sehingga tak bisa lagi membuat URL pendek baru ("minting new ones") menurut saya bukan masalah yang terlalu serius. Yang jauh lebih tidak adil adalah mematikan URL yang sudah telanjur dibuat, apalagi Google sendiri secara internal masih terus memakai fitur ini di beberapa aplikasi
  • Kalimat "Tulisan ini ditulis oleh manusia, tetapi saran tautan dan pemeriksaan tata bahasa dilakukan oleh LLM" adalah hal kedua yang paling menarik perhatian saya. Rasanya seperti sedang melihat awal dari tren baru
    • Menarik bahwa orang merasa perlu menambahkan pernyataan seperti ini
    • Saya pribadi sama sekali tidak merasa perlu ada pernyataan seperti itu. Jika kualitas kontennya baik, konten itu seharusnya bisa membuktikan dirinya sendiri. Jika kualitasnya buruk, itu tetap masalah yang sama, entah dibuat AI atau manusia. Orang yang menginginkan pernyataan semacam itu tampaknya menganggapnya sebagai alat penilaian pengganti, karena mereka sendiri mungkin tidak merasa mampu menilai isi dan cenderung menganggap konten buatan AI sebagai berkualitas rendah
  • Saya cukup terkejut Google bahkan ingin mematikan versi read-only juga. Saya jadi bertanya-tanya apakah mereka khawatir akan risiko hukum karena membiarkan pengalihan tautan privat tetap hidup
    • Saya tidak tahu persis keadaan internalnya, tetapi mungkin mereka ingin menghentikannya karena layanan yang masih berjalan bergantung pada library atau runtime yang usang atau rentan. Pada akhirnya, meskipun biayanya kecil, ini tetap terlihat seperti keputusan mematikan layanan demi penghematan biaya, dan memberi kesan bahwa mereka tidak peduli pada niat baik perusahaan atau janji masa lalu
  • Saya penasaran apakah benar-benar tidak ada cara untuk meminta seorang karyawan Google mengekstrak dari database hanya URL pendek yang mengarah ke godbolt.org
  • Sejujurnya, kecuali ada yayasan dengan pendanaan yang kuat yang turun tangan, Compiler Explorer dan godbolt.org pun suatu hari mungkin tidak akan bertahan selamanya. Mungkin pada akhirnya semua informasi akan diabstraksikan dan dimuat ke dalam model raksasa dengan parameter yang sangat besar
    • Sejauh ini kami berjalan dengan baik. Minggu ini adalah ulang tahun ke-13, dan bahkan jika semua sponsor berhenti mendukung, kami masih punya dana yang cukup untuk bertahan sedikit lebih dari satu tahun. Belakangan ini kami juga memikirkan hal-hal seperti mendirikan yayasan. Sebenarnya titik lemahnya bukan kekurangan dana, melainkan orang perorangan (saya) sebagai single point of failure
    • Betul. Sekarang satu-satunya saat tautan Compiler Explorer akan berhenti adalah ketika Compiler Explorer itu sendiri benar-benar hilang. Sampai saat itu, tautannya akan tetap hidup. Saya khususnya menganggap tautan Compiler Explorer yang ditinggalkan di laporan bug sangat berharga. Saya sendiri juga menyertakan kode langsung di laporan bersama tautan seperti itu, serta menjelaskan compiler dan versi apa yang saya pakai. Saya tidak berpikir Compiler Explorer akan segera hilang, tetapi membuat laporan bug se-mandiri ini membantu berjaga-jaga terhadap hilangnya layanan secara tak terduga
    • Ini mengingatkan saya pada lelucon bahwa menurut teorema no-hiding, informasi akan bertahan selamanya
  • Mempertahankan domain juga butuh biaya, jadi saya tidak tahu bagaimana URL bisa bertahan selamanya. Saya juga bertanya-tanya apakah lenyapnya URL justru bisa menjadi hal yang positif. Umat manusia menyimpan secara khusus hanya informasi yang bernilai, sementara sisanya secara alami menghilang ke dalam sejarah
    • Namun para sejarawan justru menginginkan lebih banyak data "sampah" seperti itu, karena itu membantu mereka memahami kehidupan nyata dan konteks pada masa tersebut dengan lebih baik. Kalau kita bisa naik mesin waktu, saya penasaran bagaimana para sejarawan seribu tahun dari sekarang akan memandang masa ini, ketika sebagian besar informasi hilang akibat media digital lenyap
    • Saya juga setuju dengan pendapat bahwa lenyapnya URL punya sisi baik. Saya pernah menulis tentang hal ini tentang kefanaan internet