- 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
Opini Hacker News
Ada dua DB yang memperbarui tabel Hacker News sehingga bisa dianalisis tanpa perlu mengunduh
Pernah melakukan hal serupa di masa lalu untuk akun Twitter/Bluesky @fesshole
Saya memiliki file JSON 20 GiB yang berisi seluruh isi Hacker News
Kueri untuk Java mencakup semua instance JavaScript, sehingga Java jadi terwakili secara berlebihan
Saya penasaran seperti apa netiket saat mengunduh Hacker News
Saya memperkirakan ke depan banyak API akan menyediakan opsi untuk mengembalikan file duckdb
Saya pernah melakukan pekerjaan serupa
Setelah mengunduh seluruh konten Hacker News secara lokal, seseorang bisa melatih bot berbasis LLM dan menjalankannya sebagai kontributor
Ada permintaan untuk tidak menggunakan grafik kumulatif
Pernah membuat data dump Hacker News di masa lalu