Когда история технологий умещается в один график

Представьте: вы вводите в строку поиска «Docker» — и перед вами мгновенно разворачивается график с 2007 по сегодня. Видно, как тема выстрелила в 2014–2015, как следом в 2016-м подхватил Kubernetes. Затем добавляете «Ansible» — и картина эпохи configuration management становится зримой и осязаемой. Именно это умеет делать Hacker Trends — проект, получивший сотни голосов на Hacker News под заголовком «Show HN: I made Google Trends for Hacker News by indexing 18 years of comments».

Инструмент позволяет искать по 18 годам истории Hacker News и строить график того, как любая тема, инструмент или персона менялась во времени. Термины можно накладывать друг на друга, чтобы наблюдать их взлёт и падение на фоне 45 миллионов постов и комментариев.

Это не просто поисковик. Это машина времени для технологического дискурса.


Каждая линия на графике — это живая дата-гистограмма поверх 45 млн постов и комментариев, построенная на базе Upstash Redis Search. Под графиком отображаются реальные истории и комментарии, стоящие за этими линиями, с возможностью фильтрации по термину или автору.

Архитектура проекта элегантна: вместо того чтобы хранить и переобрабатывать сырые тексты при каждом запросе, автор построил поисковый индекс поверх исторического дампа HN. Это позволяет отвечать на запросы в реальном времени даже при поиске по десяткам миллионов документов.

ℹ Технический стек
Hacker Trends построен на Upstash Redis Search — serverless-решении для полнотекстового поиска с поддержкой векторных запросов. Это позволяет масштабировать нагрузку без управления серверами и обрабатывать date-histogram запросы с низкой задержкой.

Данные Hacker News доступны публично: исследователи, изучающие технические сообщества, онлайн-дискуссии и диффузию инноваций, давно используют HN как основной датасет. Публичный API и поисковый индекс Algolia делают его одним из наиболее доступных больших социальных датасетов, а длинная история постов (с 2007 года) поддерживает лонгитюдные исследования.

Однако стандартный Algolia-индекс HN имеет ограничения: это индекс, а не живая база данных, поэтому существует задержка синхронизации. К тому же результаты пагинированы и требуют управления курсором при работе с большими коллекциями. Hacker Trends решает эту проблему иначе — строит собственный индекс, оптимизированный именно под временны́е ряды.


Как это работает: от запроса к графику


graph LR
    A[Пользователь вводит термин] --> B[Redis Search запрос]
    B --> C[Date-histogram агрегация]
    C --> D[Нормализация по месяцам]
    D --> E[Интерактивный график]
    E --> F[Фильтрация по периоду]
    F --> G[Реальные посты и комментарии]

Принцип работы прост и мощен одновременно:

  1. Ввод термина — вы пишете слово, фразу или имя. Можно добавить несколько термов для сравнения.
  2. Поиск по индексу — система ищет вхождения по всей базе в 45 млн документов.
  3. Агрегация по времени — результаты группируются помесячно и строится гистограмма.
  4. Визуализация — линейный график с возможностью зума на диапазон дат.
  5. Drill-down — клик по точке на графике раскрывает конкретные посты и комментарии за этот период.
💡 Лайфхак
При сравнении нескольких терминов начинайте с более общих понятий (например, «React», «Vue», «Svelte»), а затем сужайте до специфических версий или фич. Это даст контекст для интерпретации пиков.

Что можно увидеть: паттерны из реальной истории

Самое ценное в инструменте — не сам поиск, а то, что в нём обнаруживается. Данные за 18 лет превращаются в летопись технологических эпох.

Смены поколений инструментов

Контейнеризация: Docker взрывает сцену в 2014–2015 как новейшая технология, затем Kubernetes наследует внимание с 2016 года, когда оркестрация становится главной темой.

CI-инструменты: Jenkins — стандарт де-факто в середине 2010-х, затем GitHub Actions перехватывает лидерство с 2021 года.

Twitter-альтернативы: Mastodon резко набирает обсуждения после поглощения платформы в 2022-м, затем Bluesky обгоняет его как основной пункт назначения в 2024–2025.

AI-волны, видимые на графике

Два AI-потрясения с разрывом во времени: пик запуска ChatGPT в конце 2022 года, затем одиночная башня DeepSeek в январе 2025-го — «момент Спутника» спустя годы.

AI-инструменты для кода сменяют друг друга: Cursor — редактор, о котором все говорят в конце 2024-го, Claude Code резко набирает в середине 2025-го, затем Codex от OpenAI выходит на авансцену в начале 2026-го.

Исторические артефакты

Целое десятилетие хайпа вокруг «компьютеров на лице»: Google Glass в 2013-м, Oculus с покупкой Facebook в 2014-м, затем Apple Vision Pro в 2024-м — три пика, разделённые десятью годами.

Криптомании следуют одна за другой: безумие ICO-продаж токенов достигает пика в 2017-м, бум NFT взрывается в 2021-м, затем DeFi несёт хайп yield-farming в 2022-м.


Сравнение с похожими инструментами

ИнструментИсточник данныхОхватКомментарииТехнология
Hacker TrendsПосты + комментарии HN45 млн, 18 лет✅ ДаUpstash Redis Search
HN Front Page Trends (Todd Schneider)Только фронтпейджС 2006 г.❌ НетPostgreSQL + tsvector
hntrends.netЗаголовки HNОграничен❌ НетНе раскрыто
Google TrendsПоисковые запросы GoogleС 2004 г.❌ НетВнутренний

Инструмент Todd Schneider ищет по базе постов HN начиная с октября 2006 года, и датасет обновляется каждую ночь. Однако он ограничен заголовками фронтпейджа. Намерение — искать только среди материалов, попавших на главную страницу HN, с важной оговоркой: HN предоставляет точный список материалов фронтпейджа только начиная с 11 ноября 2014 года, всё более раннее — оценка.

Hacker Trends выигрывает именно тем, что индексирует комментарии — а это принципиально другой сигнал. Заголовок статьи попадает в индекс один раз. Комментарий «а вот Rust решает эту проблему лучше» — это живая дискуссия, отражающая реальный майндшер сообщества.

⚠ Важное ограничение
Как и Google Trends, Hacker Trends показывает абсолютные частоты, а не нормализованную долю. Это значит, что рост упоминаний любого термина в 2023–2026 годах частично объясняется ростом общего объёма постов и комментариев на платформе. Интерпретируйте пики в контексте.

Практическое применение: зачем это нужно

Для разработчиков и архитекторов

Прежде чем инвестировать время в изучение нового инструмента, полезно понять его траекторию. График поможет ответить: это нарастающий тренд или уходящая волна? Ansible в 2023 году — это живой стандарт или ностальгия?

Для стартапов и продуктовых команд

Hacker News — это датасет; независимо от того, строите ли вы рекрутинговый пайплайн, трекер технологических трендов или дашборд конкурентной разведки, данные существуют — нужен лишь надёжный способ их собрать. Hacker Trends даёт этот способ без написания кода.

Для исследователей и журналистов

Хронология дискуссий вокруг технологий позволяет восстановить интеллектуальный климат эпохи. Три игровых движка, одно общее землетрясение: все три одновременно дают пик в сентябре 2023 года во время скандала с Unity runtime fee — собственноручный провал Unity, а Unreal и Godot набирают в тот же месяц, когда разработчики угрожают уйти. Это точнее любой аналитической статьи.

Для мониторинга конкурентов

Соперничество платформ деплоя: Cloudflare ведёт разговор об CDN/edge годами, затем Vercel взлетает на волне Next.js и они обмениваются ударами, оба продвигаясь в edge functions и full-stack хостинг.

# Пример: как можно было бы реплицировать
# базовую логику через Algolia HN API
import requests

def get_hn_trend(query: str, year_from: int = 2007, year_to: int = 2026):
    """
    Приближённый подсчёт упоминаний термина по годам через Algolia.
    Для точных результатов нужен собственный индекс, как у Hacker Trends.
    """
    counts = {}
    for year in range(year_from, year_to + 1):
        ts_from = int(f"{year}0101")
        ts_to = int(f"{year}1231")
        url = (
            f"https://hn.algolia.com/api/v1/search_by_date"
            f"?query={query}&numericFilters=created_at_i>{ts_from},"
            f"created_at_i<{ts_to}&hitsPerPage=0"
        )
        resp = requests.get(url).json()
        counts[year] = resp.get("nbHits", 0)
    return counts

# Пример использования
trend = get_hn_trend("kubernetes")
print(trend)
# {2014: 12, 2015: 89, 2016: 445, 2017: 1203, ...}
📝 Попробуйте сами

Зайдите на hackernewstrends.com и сравните:

  • ChatGPT vs GPT-4 vs Claude — чтобы увидеть, как сменялся лидер AI-дискуссий
  • React vs Vue vs Svelte — классическое противостояние JS-фреймворков
  • Rust vs Go — битва системных языков нового поколения

Что говорит сообщество HN о самом инструменте

Пост с анонсом собрал более 500 комментариев — редкий результат для Show HN. Одна из самых популярных реплик касалась нормализации: пользователи просили добавить опцию нормализации, чтобы отделять более тонкие позитивные тренды от общего роста числа постов.

Это честное замечание. Hacker News рос — количество постов и комментариев в 2024 году несопоставимо с 2008-м. Без нормализации на общий объём сложно понять: «Rust» стал популярнее или просто стало больше постов обо всём?

«Когда данные накапливаются 18 лет — они перестают быть логами и становятся историей.»

Тем не менее даже без нормализации инструмент обнажает относительные паттерны: когда два термина сравниваются между собой, смещение от роста платформы влияет на оба одинаково и «вымывается» из сравнения.


Заключение: машина времени для технологического дискурса

Hacker Trends — редкий пример инструмента, который прост в использовании, но глубок по возможностям. За ним стоит непростая инженерная задача: проиндексировать 45 миллионов документов так, чтобы поиск с date-histogram работал в реальном времени.

Главные выводы:

  • Масштаб: 18 лет истории Hacker News и 45 млн постов и комментариев — это один из крупнейших свободно доступных датасетов технологического сообщества.
  • Уникальность: в отличие от аналогов, индексируются не только заголовки, но и комментарии — живая дискуссия, а не просто редакционный выбор.
  • Применимость: от выбора технологического стека до конкурентной разведки и исторических исследований.
  • Ограничения: без нормализации на объём платформы абсолютные числа нужно интерпретировать с осторожностью.

Hacker News всегда был барометром технологических настроений. Теперь у этого барометра есть шкала на 18 лет назад — и она открыта для всех.