5 poin oleh GN⁺ 2025-05-02 | 1 komentar | Bagikan ke WhatsApp
  • Penulis mengunduh seluruh data Hacker News dan kemudian menganalisisnya dengan DuckDB
  • Seluruh item (story + komentar) yang mencapai 20GB disimpan sebagai file JSON, dan disusun agar dapat diperbarui di masa mendatang
  • Dengan DuckDB, penulis melakukan analisis deret waktu mingguan atas rasio penyebutan seperti 'Python', 'JavaScript', 'Ruby', dan 'Rust'
  • LLM dimanfaatkan untuk menulis SQL, sehingga pemula pun bisa dengan mudah melakukan analisis yang kompleks
  • Proyek ini bisa dilihat di situs publik hn.unlurker.com, dan siapa pun dapat memanfaatkan ulang data ini sebagai dasar analisis

Mengarsipkan seluruh data Hacker News

  • Saat membuat hn.unlurker.com, penulis mengembangkan klien HN API sendiri dalam Go, dimulai sebagai proyek pribadi yang memanfaatkan fitur Go terbaru dan linter
  • Mengimplementasikan perintah scan untuk mengunduh semua item Hacker News (story dan komentar di HN API) secara berurutan mulai dari nomor 0
  • Unduhan sempat terhenti beberapa kali, tetapi dengan struktur yang bisa dilanjutkan kembali, sekitar 20GiB file JSON berhasil dikumpulkan dalam beberapa jam

Analisis deret waktu teks dengan DuckDB

  • Saat awalnya melakukan pencarian pola sederhana dengan grep, penulis kemudian mencoba DuckDB sebagai alat analisis, sebuah DB berkecepatan tinggi yang dioptimalkan untuk analisis file tunggal berskala kecil
  • File JSON dimuat menjadi tabel, lalu rasio bahasa yang disebutkan di dalam teks item dihitung per minggu
  • Menulis SQL agar rasio yang memuat kata kunci Python, JavaScript, Java, Ruby, dan Rust dapat divisualisasikan sebagai rata-rata bergerak 12 minggu
  • Berkat UI baru DuckDB, penggunaannya menjadi lebih mudah, dan dengan bantuan LLM, SQL juga bisa ditulis dengan mudah

Hasil dan rencana berikutnya

  • DuckDB memberikan kinerja dan kemudahan penggunaan yang luar biasa untuk analisis data pada skala ini
  • Setelah pengumpulan data selesai, penulis sempat bergurau setengah serius bahwa ia akan "melatih ratusan bot berbasis LLM untuk menggantikan Hacker News"
  • Namun tujuan praktis pengumpulan dan analisis data sudah tercapai, dan proyek ditutup sampai di sini
  • Analisis berikutnya, menurut penulis, adalah giliran orang lain untuk menghasilkan insight baru berdasarkan data ini

Tautan referensi

1 komentar

 
GN⁺ 2025-05-02
Opini Hacker News
  • Ada dua DB yang memperbarui tabel Hacker News sehingga bisa dianalisis tanpa perlu mengunduh

    • BigQuery memerlukan akun Google Cloud, dan kuerinya tampaknya masuk dalam tier gratis
    • ClickHouse bisa menjalankan kueri langsung di browser tanpa pendaftaran
  • Pernah melakukan hal serupa di masa lalu untuk akun Twitter/Bluesky @fesshole

    • Mengunduh seluruh arsip dan melakukan fine-tuning model untuk menghasilkan pengakuan yang lebih jenaka
    • Tetapi akhirnya menyadari bahwa saya telah mengajarkan hal-hal yang tidak pantas kepada mesin yang tak bersalah
  • Saya memiliki file JSON 20 GiB yang berisi seluruh isi Hacker News

    • Saya terkejut dengan jumlah sebesar itu meskipun situsnya hanya berisi teks
    • Selama 18 tahun, lebih dari 20 miliar byte teks telah diposting
  • Kueri untuk Java mencakup semua instance JavaScript, sehingga Java jadi terwakili secara berlebihan

  • Saya penasaran seperti apa netiket saat mengunduh Hacker News

    • Apakah perlu menghubungi Dang sebelum membebani server, atau sebaiknya berasumsi bahwa perusahaan teknologi besar sudah melakukannya berkali-kali
  • Saya memperkirakan ke depan banyak API akan menyediakan opsi untuk mengembalikan file duckdb

    • Jika pada akhirnya json tetap akan dimuat ke database, lebih efisien menerima database sebagai respons
  • Saya pernah melakukan pekerjaan serupa

    • Menggunakan dataset BigQuery untuk mengekspor data ke parquet, lalu mengunduhnya dan menjalankan kueri dengan duckdb
  • Setelah mengunduh seluruh konten Hacker News secara lokal, seseorang bisa melatih bot berbasis LLM dan menjalankannya sebagai kontributor

    • Ini memang dimaksudkan sebagai lelucon, tetapi saya khawatir suatu hari nanti seseorang akan mencobanya
  • Ada permintaan untuk tidak menggunakan grafik kumulatif

    • Grafik semacam itu sangat mungkin mendistorsi persepsi pembaca
    • Sulit menilai tinggi titik data tertentu dan bisa menyiratkan adanya ketergantungan
  • Pernah membuat data dump Hacker News di masa lalu

    • Akan bagus jika ada fitur yang membuat item yang baru diunduh tampak lebih lama daripada item yang lebih lama, karena item yang lebih baru cenderung lebih sering diperbarui seiring waktu