- El autor descargó todos los datos de Hacker News y los analizó con DuckDB
- Guardó todos los ítems (historias + comentarios), que suman 20 GB, en archivos JSON, con una estructura que también permite actualizaciones futuras
- Usó DuckDB para hacer un análisis de series de tiempo semanal de la proporción de menciones de “Python”, “JavaScript”, “Ruby” y “Rust”, entre otros
- Utilizó un LLM para escribir SQL, lo que permitió realizar análisis complejos con facilidad incluso siendo principiante
- El proyecto puede consultarse en el sitio público hn.unlurker.com, y cualquiera puede reutilizar estos datos como base para sus propios análisis
Rastreando todos los datos de Hacker News
- Al crear
hn.unlurker.com, el autor desarrolló su propio cliente de la API de HN en Go, comenzando como un proyecto personal para aprovechar funciones recientes de Go y linters
- Implementó el comando
scan para descargar secuencialmente todos los ítems de Hacker News (historias y comentarios en la API de HN) desde el 0 en adelante
- Aunque la descarga se interrumpió varias veces, la estructura permitía reanudarla, y logró obtener unos 20 GiB de archivos JSON en pocas horas
Análisis temporal de texto con DuckDB
- Mientras hacía búsquedas simples de patrones con
grep, probó DuckDB como herramienta de análisis, una base de datos rápida optimizada para análisis en archivos únicos y pequeños
- Cargó los archivos JSON como tablas y calculó semanalmente la proporción de menciones de distintos lenguajes dentro del texto de los ítems
- Escribió SQL para visualizar, con un promedio móvil de 12 semanas, la proporción de menciones que incluyen palabras clave como Python, JavaScript, Java, Ruby y Rust
- Gracias a la nueva UI de DuckDB, su uso resultó más sencillo, y con ayuda de un LLM también fue fácil escribir el SQL
Resultados y próximos pasos
- DuckDB ofreció excelente rendimiento y facilidad de uso para analizar datos de esta escala
- Tras completar la recolección de datos, el autor comentó medio en broma y medio en serio que “entrenará cientos de bots basados en LLM para reemplazar Hacker News”
- Sin embargo, el objetivo real de recopilar y analizar los datos ya se cumplió, y el proyecto termina aquí
- A partir de ahora, el análisis posterior queda en manos de quien quiera usar estos datos para extraer nuevos insights
Enlaces de referencia
1 comentarios
Comentarios de Hacker News
Hay dos BD que actualizan la tabla de Hacker News, así que se puede analizar sin necesidad de descargar nada
En el pasado hice algo parecido con las cuentas de Twitter/Bluesky de @fesshole
Tenía un archivo JSON de 20 GiB con todo el contenido de Hacker News
Las consultas sobre Java incluyen todas las instancias de JavaScript, así que Java queda sobrerrepresentado
Me pregunto cuál es la netiqueta al descargar Hacker News
Predigo que en el futuro muchas APIs ofrecerán la opción de devolver archivos de duckdb
Hice algo parecido
Después de descargar localmente todo el contenido de Hacker News, se podría entrenar un bot basado en LLM y operarlo como colaborador
Piden no usar gráficos acumulativos
En el pasado escribí un volcado de datos de Hacker News