Nerdvana

Вот уже две недели работаю над универсальной контрольной панелью
для нёрдов, гиков и контроль-фриков (то есть, для себя). Называется
«Cockpit Earth».
Идея в том, что одним взглядом можно охватить «состояние мира»:

Здесь есть практически всё: карта с вооруженными конфликтами, природными потрясениями и погодой; все главные экономические индикаторы: основные индексы, биржевые показатели и экономика G20; "настроение" в каждой стране, вычисленное по упоминаниями и тону прессы за последние 24 часа; бестселлеры; самые обсуждаемые темы в прессе; последние новости; различные счётчики (например, население и GDP земли); все праздники мира в этот день, фазы луны, doomsday clock и даже расстояние до Вояджеров.
Кроме того, есть 12 специально придуманных геополитических индикаторов (global tension, crisis velocity, information integrity etc) и 12 экономических индикаторов (capital compass, currency harmony, yield tremor etc). На их основании вычисляется World Stability Index (сейчас он показывает «fragile balance»).
Каждый из индикаторов вычисляется на основе формул, в которые подставляются данные из базы GDELT и последней финансовой статистики с кучей различных глобальных индексов от Yahoo Finance.
Вообще здесь используется с десяток различных API. Основная база для извлечения данных из прессы это GDELT (Global Database of Events, Language, and Tone). Они в реальном времени собирают данные из всех возможных источников на более чем 100 языках, проводят sentiment analysis и выкладывают его каждые 15 минут. Я собираю их данные за последние 24 часа, раз в час. Там может получиться до миллиона статей.
Для природных катаклизмов используется GDACS ( Global Disaster Alert and Coordination System). Для метрик — World Bank. Ну и так далее.
Всю эту программу я написал в чате Курсора (cursor.com). Это
IDE, который видит весь код и может его менять. Ещё там очень
удобно то, что по желанию можно на каждый запрос менять модель (o3,
anthropic, gemini). Если одна не справляется с каким-то заданием,
можно просто выбрать другую на тот же запрос, и обычно это
помогает. Так они втроём и трудятся.
В этой программе буквально десятки тысяч строк кода. Она всё равно
требует очень много работы, но представить себе, что я могу
написать такую программу за две недели в свободное от работы время
— это просто смешно. Да я вообще никогда бы не смог её написать —
здесь слишком много отвратительных, скучнейших манипуляций с
разными API, с HTML/CSS и JavaScript. Нормальный человек всё это
знать не должен.
Кроме того, он (AI) придумал все эти хитроумные индикаторы и
формулы. Причём одна модель проверяет другую на правильность. Вот
вам маленький пример того, как одна модель критикует другую при
вычислении экономических индикаторов G20:
Sector bias – Single‑country ETFs are
market‑cap weighted. When two‑three sectors dominate (oil in Saudi
Arabia, luxury in France, mining in Australia), price moves mostly
tell you about that sector.
Currency
translation – Because all funds are priced in
USD, a 5 % fall in the peso or rand instantly appears as a 5 %
economic “contraction” even if local‑currency stocks were
flat.
Missing macro variables
– Employment, PMI, retail sales, yield‑curve slope, credit
spreads, and inflation expectations are ignored. Adding even two or
three of those would dramatically improve classification.
Это просто для того, чтобы показать степень безумия происходящего.
Важный момент. Почему я получаю необыкновенное удовольствие от создания этой штуки? Я для себя это недавно определил:
Потому что впервые лет за 30-35 вернулось ощущение магии от
программирования. Когда я купил свой первый советский PC
"Электроника БК-0010" с 16Кб памяти (году в 1989, я думаю),
ощущение магии было от того, что ты ему даёшь задания, а он их
выполняет. Я спрашивал других людей: у многих, кто начинал тогда
программировать (в основном на Бейсике) было такое же чувство.
А потом оно полностью пропало, потому что программирование
превратилось в скучное ремесло, где надо учить кучи каких-то
библиотек и интерфейсов, а ещё лучше копипастить их из
StackOverflow.
И вот теперь это всё вернулось. Не надо рыться в отвратительно написанной документации. Не надо разбираться в хитросплетениях базы данных GDELT (а они там весьма ужасные). Не надо думать, какой именно CSS-style подходит для того, чтобы вот этот маленький элемент сидел именно на этой линии, а не на другой. Каждое желание начинается со слов «Я хочу...» И это происходит. Не всегда мгновенно, но практически неизбежно после некоторых усилий. И это, конечно, магия.
А сам сайт выйдет в некотором ближайшем будущем. Нужно ещё устранить разные баги и найти, где его запускать.