1 poin oleh GN⁺ 4 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Saat perlu menelusuri diff GitHub berukuran besar dengan cepat di browser, DiffsHub adalah alat yang menampilkan diff publik dengan antarmuka tervirtualisasi
  • Dengan mengganti github.com pada URL GitHub menjadi diffshub.com, Anda bisa langsung melihat perubahan PR, perbandingan, commit, diff, dan patch
  • Tanpa prosedur konversi terpisah, struktur URL yang ada tetap dipertahankan, sehingga github.com/org/repo/pull/number dapat diakses sebagai diffshub.com/org/repo/pull/number
  • Dapat menangani perbandingan jutaan baris seperti Linux v6.0...v7.0, tetapi sesekali bisa crash di browser mobile
  • GitHub dapat mengalami keterlambatan respons byte pertama dan tidak selalu menyajikan diff di atas 100k baris secara stabil, sehingga ini bisa menjadi alternatif saat meninjau perubahan besar

Penampil diff yang memakai URL GitHub apa adanya

  • DiffsHub adalah alat untuk melihat diff GitHub publik dengan cepat melalui antarmuka tervirtualisasi yang nyaman dibaca
  • Yang didukung adalah PR, compare, commit, diff, patch
  • Pengguna mengaksesnya cukup dengan mengganti domain pada URL GitHub
    • github.com/org/repo/pull/number
    • diffshub.com/org/repo/pull/number

Diff jutaan baris dan keterbatasannya

  • DiffsHub dapat menangani perbandingan berskala jutaan baris
  • Sebagai contoh, Anda dapat melihat perbandingan Linux v6.0...v7.0
  • Perbandingan besar seperti ini kadang bisa crash di browser mobile
  • GitHub dapat menyajikan diff di atas 100k baris secara tidak stabil dengan byte pertama yang terlambat

1 komentar

 
GN⁺ 4 jam lalu
Opini di Lobste.rs
  • Aku sempat mencoba memahami apa hubungannya melihat diff dengan tag vibecoding
    Lalu aku mengikuti konteks dan dramanya, dan paham kenapa jadi begini. Maaf sudah bikin gaduh ke @quad, dan sekarang aku lihat tag itu juga sudah dihapus

    • Lobsters sepertinya sedang masuk fase yang agak aneh, di mana orang-orang seenaknya menilai apakah sebuah proyek “terlihat seperti hasil vibecoded”
      Misalnya, hanya karena kualitas kodenya rendah, jumlah commit-nya sedikit, atau bahkan cuma karena ada CLAUDE.md di repositori, mereka menempelkan tag vibecoding, padahal kelihatannya tidak terlalu bermakna
    • Ada CLAUDE.md di repositorinya. Di sini tag itu dihapus secara keliru, dan menurutku untuk postingan ini tag tersebut sebenarnya pantas
    • Untungnya, tag itu sekarang tampaknya sudah hilang
  • Sebagai konteks tambahan, postingan ini kelihatannya relevan: On Rendering Diffs
    Saat melihat-lihat diff Linux yang ditautkan di homepage, rasanya juga cukup mulus dan mengesankan. Coba saja seret scrollbar-nya langsung. Andai Github atau editor diff berbasis browser lain, termasuk Graphite yang kupakai di kantor, semulus ini
    Di sisi lain, agak aneh juga merasa takjub oleh hal seperti ini. Bukankah seharusnya ini memang sudah jadi standar?

    • Aku kenal orang yang mengerjakan sebagian besar pekerjaan rendering diff itu dan juga penulis tulisan tersebut. Selama prosesnya, aku menerima update real-time lewat pesan, dan benar-benar luar biasa berapa banyak riset dan kerja yang dicurahkan
      Secara harfiah, selama berbulan-bulan pekerjaan penuhnya adalah membuat rendering diff menjadi cepat
      Omong-omong, meskipun ditempeli tag “vibecoding”, aku tetap tidak paham, karena pekerjaan ini sama sekali bukan tipe seperti itu. Sebagian besarnya adalah riset yang sulit, membaca kode implementasi browser, trial and error, dan menggali masalah dengan cara yang benar
      Agent loop memang dipakai untuk tugas eksplorasi yang sangat sempit dan hasilnya jelas, tetapi setahuku tidak ada yang dimasukkan tanpa insight dan review manusia. Sepertinya tulisan blognya juga membahas bagian ini, dan porsinya benar-benar kecil dalam keseluruhan pekerjaan. Tidak masuk akal kalau hanya karena itu lalu upaya engineering-nya diremehkan
      Sangat merekomendasikan membaca tulisan blognya atau melihat kodenya. Ini pekerjaan yang luar biasa dan banyak yang bisa dipelajari
    • Memang seharusnya level seperti ini yang jadi standar. Semoga Gitlab dan Forgejo juga mengadopsinya
      Aku membuat bookmarklet untuk mencobanya langsung:
      javascript:(function(){window.open(window.location.href.replace('github.com','diffshub.com'),'_blank');})();  
      
      Sayangnya, banyak PR, terutama PR besar, butuh fitur komentar. Menarik untuk melihat kapan Pierre akan masuk ke area itu dan mungkin membuat sesuatu seperti https://www.reviewable.io/
  • npmjs menyebut Apache 2, tetapi repositorinya tidak punya lisensi dan di package.json bahkan ada "private":true, jadi sulit memahami alasannya
    Jawabannya tampaknya adalah tiap direktori dilisensikan secara terpisah: https://github.com/pierrecomputer/pierre/…
    Dan diffshub sendiri tampaknya tidak termasuk dalam bagian open source: https://github.com/pierrecomputer/pierre/…
    Pendekatan lisensi bedah seperti ini membuat direktori seperti https://github.com/pierrecomputer/pierre/… jadi ambigu. Soalnya direktori itu tidak punya Apache 2 LICENCE.md, meskipun kalau field package.json dianggap otoritatif, ceritanya bisa berbeda

  • UI-nya terlihat lebih baik daripada Github, kecuali soal kontras. Soal aksesibilitas, aku kurang tahu

  • Sebagai catatan, semua pull request Github bisa diambil diff-nya dengan menambahkan .diff di belakang
    Contoh: https://github.com/oven-sh/bun/pull/30412.diff
    Kalau menambahkan .patch, kita juga bisa mendapat format yang bisa langsung diberikan ke git am: https://github.com/oven-sh/bun/pull/30412.patch

    • error: too big or took too long to generate
      Apa PR ini sengaja dipilih justru karena alasan itu? :D
  • Mungkin ekspektasiku terhadap alat memang lebih rendah dibanding orang lain, tetapi saat membandingkannya dengan fitur bawaan Github, aku tidak terlalu melihat perbedaan praktis
    Semua orang mengeluhkan betapa buruknya Github, tapi aku sendiri tidak mengalami hal yang sama. Aku tidak paham kenapa harus memakai ini alih-alih Github

    • Aku merekam video untuk menunjukkan kenapa ini penting bagiku. Maaf videonya ada di X, tapi aku unggah di sana
      Secara historis, ini memang pengalaman umumnya bagiku, dan juga menjelaskan kenapa kecepatan itu penting. Kalau sesuatu terasa lambat cukup lama, pikiranku akan melayang ke hal lain, dan itu sangat merusak kondisi flow
      Videonya membandingkan berdampingan berapa lama waktu yang dibutuhkan untuk membuka PR dan berpindah ke file tertentu. Buatku itu tugas harian yang cukup umum
      https://x.com/mitchellh/status/2057229385963618787
  • Kelihatannya cukup mirip dengan pulldash(dibuat oleh coder.com) atau difit(CLI yang menyalakan halaman localhost)
    Aku tidak terlalu suka keduanya. pulldash agak tersendat, dan difit butuh usaha tambahan. Untuk self-review, sekarang aku memakai ekstensi VSCode git tree compare
    Ini cepat dan aku juga suka desain visual keseluruhannya. Aku mencobanya dengan salah satu PR milikku dan kelihatannya cukup bagus, mungkin juga layak dibookmark di PC