begtin | Business and Startups

Telegram-канал begtin - Ivan Begtin

7026

I write about Open Data, Procurement, e-Government, Open Government, Budgets, Privacy and other govtech stuff Chat https://telegram.me/begtinchat Facebook - https://facebook.com/ibegtin Secure contacts ivan@begtin.tech

Subscribe to a channel

Ivan Begtin

Короткий текст The fate of “small” open source где автор рассказывает о будущей печальной судьбе программных библиотек на примере свой библиотеки blob-util и того что ИИ агенты не предлагают использовать её, а автоматически генерируют код.

Это, кстати, довольно таки важная тема что по мере прогресс ИИ инструменты чаще всего игнорируют не самые популярные библиотеки для ПО и каждый раз плодят бесконечное число кода. Можно, конечно, в запросе к ИИ агенту поставить задачу на использование конкретной библиотеки, но это не то что является поведением по умолчанию.

Итоговые изменения пока малопредсказуемы, но вероятность того что многие библиотеки кода будут быстро устаревать весьма вероятно.

И тут я бы ещё добавил что еще одно важное возможное изменение - это применение LLM для переписывания ПО с блокирующими лицензиями на открытые. Например, есть открытый продукт с кодом на GPL или AGPL который Вам надо интегрировать в свой продукт. Подключаете LLM которое переписывает полностью код так чтобы не доказать что он использовался и у Вас на руках появляется продукт под более разрешающей лицензии и с тем же открытым кодом.

Похоже на реалистичный сценарий?

#opensource #ai #llm

Читать полностью…

Ivan Begtin

Я ранее писал про применение ИИ агентов для рефакторингка кода и про декларативное программирование, а теперь а теперь расскажу про декларативное создание баз данных.

Когда я только-только начинал вести список каталогов с данными в мире я делал это в в Excel файле с парой десятков колонок и сотнями записей, потом Excel стал неудобен и я перенес все в Airtable что было удобнее в течение длительного времени, там можно было настраивать разные view на одну и ту же таблицу и целенаправленно вносить новые записи с по странам или темам. С автоматизацией было не очень, зато ручная работа облегчалась.

И вот когда у меня в голове уже созрела мысль что не попробовать ли сделать поисковик по датасетам, я понял что надо перестать думать об этих данных как о таблицах (сложно перестать, конечно) и начать думать как о реестре. Для меня тогда выбор был в том чтобы:
- перенести этот реестр в СУБД и создать поверх интерфейс для редактирования. Например, загрузить в Postgres и поверх сделать быстро интерфейс с помощью Strapi или Directus'а или других no-code инструментов
- или начать смотреть на этот реестр как на код и поместить все в Github. Не так удобно для работы вручную, но хорошо автоматизируется

В итоге я пошёл вторым путем и разрезал таблицы на индивидуальные карточки дата каталогов сохраненные как YAML файлы согласно предопределенной схеме данных. Например, вот такая карточка. Эти записи можно редактировать вручную, а можно и автоматически. Можно автоматизировать обогащение метаданных, проверку API, доступность сайтов, проверку ошибок и так далее. Чтобы собственно и происходит внутри этого репозитория. От изначальный 2 тысяч каталогов до текущего их числа в более чем 10+ тысяч дата каталогов он вырос за счет автоматизированной загрузки в него большого числа дата каталогов из их агрегаторов.

Теперь я подключил последнюю версию Cursor'а к обновлению этого репозитория и оказывается он очень хорош в массовом обновлении YAML файлов и понимает команды сформулированные в стиле:
- "Проанализируй все записи, найди те у которых веб сайт владельца не указан, найди веб сайт и заполни поля owner.name и owner.link"
- "Проверь все записи относящиеся к Бельгии и проверь доступны ли указанные там сайты"
- "Создай JSON схему для YAML файлов дата каталогов и проверь все их записи на соответствие этой схеме"

и так далее.

Магия начала работать когда реестр достиг некоторой критической массы которая "помогает" ИИ агенту понимать схемы данных, предназначение репозитория и находить несоответствия. Ручная работа всё еще необходима, но для проверки сделанного, и её тоже можно автоматизировать.

Итого сейчас в обновленных данных реестра Dateno 10 905 каталогов. Они все пока в репозитории реестра в виде YAML файлов и parquet файла слепка с данными. Это на 794 каталога данных больше чем пока есть в общедоступном реестре (всего 10 111 каталогов).

Были добавлены:
- каталоги данных на базе GBIF IPT
- большие списки каталогов данных во Франции, Испании и Нидерландах
- по мелочи каталоги данных в других странах

А также огромное число исправлений в метаданных всех каталогов.

Фактически ИИ агенты для разработки прекрасно подходят для работы с данными упакованными таким образом. Я начинаю склоняться к мысли что такое обогащение данных работает лучше чем инструменты вроде OpenRefine.

Чуть позже я буду писать об этом всем лонгрид, но это уже после завершения чистки и обогащения репозитория которое уже сильно ускорилось.

#opendata #datacatalogs #dateno #dataengineering #dataanalysis

Читать полностью…

Ivan Begtin

Продолжая рассказывать про применение ИИ агентов для разработки, после экспериментов на не самом критичном коде я добрался до обновления реестра дата каталогов в Dateno и могу сказать что результаты пока что хорошие.

Вплоть до того что ИИ агент способен сформировать карточку дата каталога просто передав ему ссылку и задав промпт сгенерировать его описание. Это работает, во многом, потому что уже есть больше 10 тысяч созданных карточек и поскольку есть чёткие спецификации схем ПО дата каталогов, самих описаний дата каталогов и тд.

Кроме того хорошо отрабатывают задачи которые:
- находят ошибки в метаданных дата каталогов
- находят и исправляют дубликаты записей
- обогащают карточки каталогов тематиками и тэгами
- исправляют геоклассификацию каталогов
- и многое другое что предполагает массовое исправление и обогащение данных

Лично для меня и Dateno это очень хорошая новость это означает что реестр (dateno.io/registry) можно вести теперь значительно меньшими личными усилиями.

В ближайшее время я сделаю очередное обновление реестра уже по итогам большого числа итераций обновления метаданных и качество реестра существенно вырастет. А оно влияет и на индекс Dateno и на сам продукт реестра дата каталогов.

P.S. Тут я описываю внутренности происходящего в Dateno, которым я занимаюсь как основным проектом и продуктом. А новости проекта всегда можно читать в LinkedIn

#opendata #datacatalogs #ai #dev #datatools

Читать полностью…

Ivan Begtin

Австралийский план по внедрению ИИ в госсекторе на 2025 год, охватывает ближайшие полтора года.

Там много интересного и по управлению рисками и по инструментам что планируются, интересно, например, что они создают GovAI Chat как чатбот для госслужащих. И это важно, не для австралийских граждан которые с гос-вом общаются, а именно для госслужащих. Полагаю что главная причина в том чтобы чувствительная информация не утекала в чатботы китайского и американского происхождения.

#ai #policy #regulation

Читать полностью…

Ivan Begtin

Свежее постановление российского пр-ва устанавливающее плату за доступ к по запросу к официальной статистической информации на бумаге (!) и в электронном виде (!!). Текст пока только в в виде скана на портале официального опубликования правовых актов, в виде текста он скорее всего появится не раньше чем через несколько дней, на сайте пр-ва базовая задержка в публикации документов 3 дня, но бывает и поболее.

Мне много что есть сказать самому, а заодно я прогнал этот текст через пару ИИ агентов - Perplexity, Manus и Deepseek. ChatGPT разобирать его отказался, а Алиса от Яндекса глубоко анализировать документы не научилась еще.

Результаты анализа Perplexity и Manus'а я прикладываю, а от Deepseek доступно по ссылке.

Что я скажу от себя:
1. Взимание платы за официальную статистику - это существенный барьер в её получении. Выгода гос-ва от запросов будет невелика, а ограничения будут серьезными. Я не знаю кто продумывал эту бизнес модель, но подозреваю что её нет и цель не деньги, а ограничения в распространении.
2. Если для бумажных документов и сложных запросов и необходимости пересылки ещё можно предположить что можно было бы взимать оплату, то для предоставления данных в электронном виде это не оправдано ничем.
3. Сам подход противоречит практикам развитых стран, рекомендациям ОЭСР и тд. Там наоборот идут по пути бесплатности распространения статистической информации
4. Агрессивно взимают плату за любой чих в коммуникации со статслужбами только в наибеднейших странах, в основном, африканских.
5. Собирать и распространять статистику на бумаге в 21 веке это как, даже не могу придумать приличного сравнения, это как самоудовлетворятся предаваться греху на публику или это как выйти куда-нибудь в публичное место и орать изо всех сил: "Смотрите, мы вас ненавидим! Нет, вы смотрите, смотрите же! Реально ненавидим". Потому что любовь к пользователям бумаги не предусматривает, и не должна предусматривать.

#opendata #government #russia #rosstat #statistics #closeddata

Читать полностью…

Ivan Begtin

AgenticSeek альтернатива Manus умеющая выполнять разные, в том числе довольно сложные задачи требующие запуска приложений и браузера иных агентских операций. Важное отличие - открытый код и локальный (приватный) запуск.

#opensource #ai #privacy #llm #tools #datatools

Читать полностью…

Ivan Begtin

Ещё немного рефлексии по поводу навыков Python разработчиков. Я тут регулярно провожу технические собеседования дата инженеров к команду Dateno, в основном это русскоязычные разработчики/инженеры в разных странах и с разными запросами на ЗП.

Поделюсь некоторыми наблюдениями:
1. От многих собеседуемых есть ощущение что они свою ожидаемую ЗП оценивают по средней/верхней планки по рынку и по минимальной сумме при которой им комфортно жить, но никак не по собственным навыкам. С одной стороны это очень понятно, а с другой, в общем-то навыки часто не соответствуют запросу. Это такой естественный конфликт работодатель-работник, но в целом видно что не все могут оценить свою реальную рыночную ценность. Раньше тоже такое бывало, но что-то в этом году я наблюдаю это чаще чем раньше.
2. Мои задачи на технинтервью состоят из проведения ревью кода, либо старого кода одного из проектов, либо небольшого куска искусственно созданного примера кода с заведомыми ошибками. Часто оказывается что собеседуемый прекрасно говорит, идеально рассказывает про свой опыт, но с простым ревью кода не справляется.
3. Самые частые "затыки":
- непонимание приоритетов. Вместо поиска ошибок, которые вполне очевидны, увлечение стилем кода и форматированием. Это реально какое-то массовое явление, многие сбиваются в стилистику кода вместо фокуса на решении проблем.
- незнание асинхронности в Python. Для дата инженерных задач, особенно при работе наиболее популярными инструментами оркестрации конвееров данных хотя бы базовые принципы асинхронности надо если не знать, то уметь понимать.
- невнимательность. В каждом техинтервью есть задача в которой есть вполне понятные вводные на основе которых можно понять где могут быть ошибки и как их можно увидеть. Многие игнорируют существенную часть задачи и бегут смотреть код.
- недостаток архитектурного восприятия. У Python'а есть какое-то количество шаблонных способов решения задач (как и в большинстве языков) и хороших и плохих практик, например, использование глобальных переменных без четкого понимания зачем это делается - всегда плохо. Или же когда функции перегружены большим числом операций и выполняются долго то при выбросе исключения при отсутствии сохранения текущего состояния невозможно продолжить с места сбоя

Всё это про спецов уровня миддл и выше, многие владеют инструментами, но плохо владеют техниками решения проблем. Также многие декларируют длительный опыт разработки на Python, но не знают многих особенностей языка которые не то чтобы редко встречаются.

По моему опыту довольно бессмысленно расспрашивать про инструменты, ими несложно овладеть. Неважно есть ли у человека опыт в Polars или DuckDB если он владеет Pandas, к примеру, но problem solving однозначно выходит на первый план для все кто не совсем джуниоры.

Почему? Потому что сейчас все используют ИИ для разработки, так или иначе. Это несложно и этот же ИИ делает ревью кода очень хорошо, почти все наиболее современные ИИ агенты уж точно. Но чтобы использовать ИИ для генерации кода надо понимать какие проблемы возникнуть и как решать. Это важнее чем знание промптов, это принципиальное понимание того что делаешь ты и что делают другие.

#thoughts #hiring

Читать полностью…

Ivan Begtin

В контексте премии по открытому доступу в гуманитарных науках (humawards.ru) о том как предоставлять материалы в открытом доступе.

1. В основе открытости данных исследователей лежат принципы FAIR (Findability, Accessibility, Interoperability, Reuse). Описание на русском языке есть в русскоязычной википедии и многих онлайн ресурсах, их легко найти по ключевым словам "принципы FAIR".
2. Ключевое в этих принципах в публикации данных результатов исследований таким образом чтобы их могли использовать другие и в использовании данных другими опубликованные. Использование включает юридические права (свободные лицензии), техническую возможность (удобные форматы и документация) и находимость (возможность найти эти данные).
3. Для публикации данных исследователи в мире чаще всего используют такие порталы как Zenodo, Figshare, Dataverse, институциональные репозитории и специализированные репозитории данных по своим дисциплинам.
4. Альтернативно часто данные публикуются на открытых платформах для публикации исходного кода таких как Github и Gitlab или же через развертывание собственных порталов для данных, к примеру Инфокультура поддерживает портал hubofdata.ru в России.
5. Кроме публикации данных к открытому доступу можно отнести и публикацию открытого кода, как правило, также публикуемого на платформах вроде Github или Gitlab, реже на других сайтах.
6. Конечно, кроме этого существует многие материалы по открытому доступу которые не являются данными или кодом, это могут быть курсы, лекции, просветительские материалы, для которых, впрочем, хорошей практикой является их публикация под свободными лицензиями такими как CC0, CC-BY и им подобные.

В итоге на премию по Открытому доступу (humawards.ru) можно, как существующий проект/результат работы, так и открыть ранее созданный. Опубликовать исходный код, открытые данные, выложить материалы под свободными лицензиями и так далее.

Всё это хорошие и полезные практики вне зависимости от премии, так что потерять тут что-либо сложно, а приобрести репутацию, карму и единомышленников возможно.

Я бы описал подробнее что хотелось бы увидеть в заявках на премию, но премия - это оценка уже созданного, а не конкурс. Это понимание для организаторов текущей среды появления открытых и цифровых проектов с акцентом именно на открытость, потому что лично я убежден что в гуманитарных науках цифровизация без открытости не ведет к формированию общественного блага, а ничем другим инициативы в области культуры, истории и тд. быть не могут.

#opendata #openaccess #contest #humanitarian #opensource

Читать полностью…

Ivan Begtin

Про форматы файлов, много о них я писал и в контексте ИИ, и в контексте работы дата инженеров и в контексте цифровой архивации. Мало кто системно разные форматы изучает и чаще те кто это делают занимаются цифровой архивацией в очень широком контексте, но в первую очередь думая о сохранении доступности данных и иных материалов созданных в ПО которое уже малодоступно или которым уже невозможно пользоваться.

С чего начать тем кто ищет информацию о структурах файлах и того как работать с разными форматами работать?

1. PRONOM

Это специальный реестр форматов файлов от Национальных Архивов Великобритании и он включает подробное описание сотен форматов файлов включая форматы разных старых приложений или относительно новые форматы для данных такие как JSONl. В реестре PRONOM присутствуют и цифровые отпечатки файлов, помогающие их идентифицировать. Эти отпечатки используются в утилите DROID для идентификации типов файлов по большому их реестру. Утилита сама не обновлялась давно, но цифровые отпечатки из PRONOM обновляются довольно часто, чуть ли не ежемесячно

2. Archive Team Wiki (File formats)

У команды ArchiveTeam есть большой вики проект fileformats.archiveteam.org с большим числом практических статей по разным форматам файлов и о том как с ними работать и как их архивировать. Полезный сайт для всех кто погружается в работу с какими либо относительно популярными файловыми форматами. Вики ArchiveTeam полезно именно своей практичностью и включает материалы из множества источников.

3. MultimediaWiki

Другой Вики проект доступный по адресу wiki.multimedia.cx и включающий описание многих мультимедийных форматов включая те что используются в игровой индустрии и многое про то как заниматься реверс инжинирингом кода для извлечения интересных материалов из тех же игр.

4. IANA Mimetypes

Это реестр mime типов на сайте IANA, покрывает те форматы файлов для которых mime типы зарегистрированы, их много, но не исчерпывающе. Важнее подробное описание каждого типа и ссылки на сами спецификации и области применения.


#readings #fileformats

Читать полностью…

Ivan Begtin

К вопросу о работе с данными в гуманитарных науках, я, честно говоря, долго об этом думал в контексте что много что команда Инфокультуры и я лично делаем в этой теме хотя и гуманитарные науки для нас совсем не основная тема. Но есть, как минимум, такие проекты как finlibrary.ru и Ruarxive.org, а также множество других меньшего масштаба по сохранению цифрового и аналогового культурного наследия.

И вот посмотрев на окружающий мир лично я понял что слишком мало я знаю о том кто что хорошого открытого и цифрового в области культуры делает. Причем именно в такой комбинации, на первом месте открытость и лишь на втором месте цифра. Не просто какой-то интерактивный проект или работа, а под свободными лицензиями, с открытым кодом и открытыми данными.

Поэтому мы организовали премию цель которой найти лучшие и вдохновляющие примеры того что делают исследователи в гуманитарных науках. Потому что в других науках и так много всего происходит, а в гуманитарных очень многое не на поверхности, не очевидно, но интересно.

Не стесняйтесь подавать собственные проекты, не стесняйтесь номинировать уже сделанное. Это не конкурс и не хакатон, тут не надо делать что-то на заказ, можно и нужно номинировать существующее.

#opendata #openaccess #humanitarian #contest

Читать полностью…

Ivan Begtin

Я довольно давно натыкаюсь на тексты о том как же censored достал всех декларативный подход в разработке, управлению инфраструктурой, управление кодом. Есть даже уже сформировавшиеся термины такие как declarative data platforms, declarative prompts, declarative API, declarative configuration и так далее.

Что такое декларативное программирование? Это когда конфигурация ПО, правила, архитектурные блоки, часть программной логики и так далее вынесены в настройки внутри файлов в форматах YAML / TOML или их аналоги.

Декларативность в том что в любой момент времени все это является настройками, конфигурацией или параметрами запускаемой программы и, как правило, не содержит исполняемого исходного кода.

Так вот выросло уже целое поколение специалистов многие из которых декларативное описание обожают, а многие вполне искренне ненавидят.

Лично я отношусь к YAML формату и его деривативам индиффирентно, но могу сказать что есть случаи когда декларативное программирование реально труднозаменимо.

Многие специализированные программные продукты до сих пор используют сложные бинарные форматы для переноса и сохранения файлов. Это могут быть и собственные бинарные форматы и использование ZIP контейнеров с некоторым числом разных вложенных файлов (MS Word, Xmind, Pages и десятки других).

Одна из регулярно возникающих у меня задач в том что создать диаграммы предметной области - блоков кода репозитория, структуры документа, архитектуры приложения и многое другое. И вот оказывается что ИИ агенты неплохо умеют генерировать схематичное описание в текстовых форматах вроде Mermaid, D2 или PlanUML, но как-только доходит до майндмапов то остается только генерация в формате FreeMind, а какой-нибудь Xmind остается не удел поскольку его нативный формат - это тот самый ZIP контейнер со сложным содержанием.

Чтобы ИИ агент сумел такой xmind файл сгенерировал надо приложить немало усилий. Гораздо проще сгенерировать файл Markdown который в тот же Xmind импортировать. Тогда можно получить майндмап сразу же и достаточно приближенный к ожиданиям.

Почему так? Потому что язык разметки markdown зачастую используется так же как и другие декларативные языки разметки - для передачи информации о структуре данных.

Но этот подход не универсален и есть немало двоичных форматов файлов с которыми сейчас ИИ агенты могут работать только с помощью инструментов и API. Интеграция ИИ агентов со многими приложениями ограничена отсутствием "двоичного шлюза", механизма работы с данными и двоичным кодом не как с текстом.

С одной стороны это весьма логично из-за текстовой природы языковых моделей, с другой это существенное ограничение для многих областей применения.

И вот альтернативой такому шлюзу может быть существенный рост декларативных форматов файлов, в YAML/TOML и ругих форматах. Например, у декларативного построения диаграмм очевидно совсем не полностью раскрыт потенциал, также как и у многих других областей применения.

Я прихожу к мысли что декларативный подход и появление новых форматов файлов - это некая неизбежность именно в контексте ИИ агентов. В какой-то момент вместо генерации бинарных файлов будет возникать все больше инициатив с декларативным описанием в форматах которые упрощенно могут генерироваться с помощью ИИ.

#thoughts #ai

Читать полностью…

Ivan Begtin

Похоже что вот только что Google одним продуктом File Search Tool дали новую жизнь жанру "я хочу ИИ агента чтобы поговорить со своими документами" и тем самым похоронили десятки стартапов которые пытались и пытаются это сделать.

Из плюсов:
- возможность быстро собрать собственный движок который отвечал бы на вопросы по текстам внутри разного рода текстовы/офисных документов. Форматов поддерживается много так что применить его можно почти ко всему
- это не закрытый продукт а часть Gemini API предоставляемая с примерами. Так что свое приложение можно собрать таким каким захочется
- подробная документация на API, примеры и тд.

Из минусов:
- только облачное хранилище для документов, только облачные модели Gemini 2.5
- дурацкое название "File Search Tool", не знаю кто такое мог придумать

#cloud #ai #google #gemini #files #documents

Читать полностью…

Ivan Begtin

Ещё одна совсем-совсем свежая спецификация PLOON для отправки данных в ИИ агенты с максимальной экономией токенов. Экономит до 60% в сравнении с JSON и до 14.1% в сравнении с TOON. Автор написал бенчмарк показывающий что PLOON сильно экономнее других форматов. Уже прям любопытно что дальше, когда наступит момент что ИИ агенты смогут нормально употреблять бинарные данные и тогда все эти оптимизации будет очень легко заменить.

#ai #data #dataengineering #specifications

Читать полностью…

Ivan Begtin

Отечественные чат-боты превзошли американцев и китайцев... в сборе информации

Вечером среды мы внезапно поняли, что в приложениях «Алисы» и GigaChat почему-то нет простой кнопки, позволяющей отключить сбор и анализ ваших диалогов. Хотя у ChatGPT и DeepSeek настройка находится в пару кликов.

Оказывается, всё это не просто так. Отечественные компании ведут активный сбор данных, но используют их по-разному:

1️⃣ «Алиса» анализирует ваши «отдельные голосовые и текстовые сообщения» по умолчанию

Нам казалось, что отключить настройку можно через «Яндекс ID». Но в компании пояснили, что кнопка «Помогать Алисе стать лучше» действует только для умных устройств.

В сервисном соглашении «Алисы AI» в разделе про данные пользователя говорят, что «Правообладателю передается следующая информация: идентификатор Пользователя, Запросы, ответы на Запросы Пользователя, иная информация, предоставляемая и собираемая посредством пользовательского интерфейса Сервиса».

Используют их, конечно же, «в целях совершенствования в целях проведения анализа, развития и совершенствования Сервиса и его отдельных функций». А ещё для рекламы:

«Персональная информация Пользователя обрабатывается в целях предоставления функциональности Сервиса, в том числе для отображения контента, потенциально наиболее интересного Пользователю».

Не очень понимаем, как с такими условиями пользоваться агентскими фичами «Алисы». Если любая информация, попавшая в поле зрения бота, будет уходить для отображения интересного контента.


2️⃣ «Сбер» получает всё, но делать с этим ничего не будет (пока)

Пользуясь GigaChat, пользователь «предоставляет SDevices и Правообладателю право использования Контента Клиента <...> любыми способами, не противоречащими действующему законодательству, в том числе, указанными в п. 2 ст. 1270 Гражданского кодекса Российской Федерации, но не ограничиваясь ими».

В
корпоративном соглашении и в версии для физлиц подчёркивают, что «SDevices и Правообладатель не используют предоставленный или загружаемый Контент в собственных целях, не связанных с предоставлением Сервиса». Формулировка размытая, но нам официально заявили, что в «Сбере» не используют запросы пользователей для обучения нейросетей.

При этом, как только вы что-то сгенерировали в GigaChat, то вы передаёте компании лицензию на использование контента следующими способами:

▪️ «воспроизведение, хранение и запись в память ЭВМ Правообладателя и его аффилированных лиц и на серверах, назначенных Правообладателем, если такое использование необходимо для целей предоставления Сервиса»

▪️ «использование с предварительного согласия Клиента в маркетинговых и информационных материалах Правообладателя, направленных на привлечение внимание к Сервису или информирование о возможностях Сервиса неопределенного круга лиц».

Так что всё содержимое вашего диалога прекрасно видно компании. А условия использования в дальнейшем ещё могут поменяться.

@anti_agi

Читать полностью…

Ivan Begtin

В рубрике как это устроено у них относительно новый каталог данных The Counter Trafficking Data Collaborative от международной организации по миграции (IOM) с 507 наборами данных охватывающим 197 стран

Особенность - большие синтетические наборы данных с микроданными по жертвам.

#opendata #datacatalogs

Читать полностью…

Ivan Begtin

Regular country open data overview, this time Estonia

Open Data in Estonia: A Small Country with a Remarkably Large Data Footprint


Estonia stands out in the open data landscape. Despite its relatively small population, the country hosts an impressive variety of data portals and repositories: open data platforms, official statistics, geodata services, and research data infrastructures. ...

More at LinkedIn https://www.linkedin.com/pulse/open-data-estonia-small-country-remarkably-large-footprint-sdkce/

#opendata #estonia #datacatalogs

Читать полностью…

Ivan Begtin

В рубрике как это устроено у них эстонский портал культурного наследия E-Varamu включает 23.8 миллиона описаний архивных объектов из которых 1.94 миллиона доступны онлайн. Включает изображения, документы, карты, тексты, аудио и видеозаписи, и даже наборы данных.

Для сравнения в российском НЭБ доступно 49.8 миллионов описаний из которых 5.3 миллиона доступны онлайн. С одной стороны вдвое больше, с другой стороны в Эстонии проживает 1.3 миллиона человек, а в России 143 миллиона. В России примерно в 100 раз больше людей и можно ожидать примерно в 100 раз больше объектов культурного наследия.

Можно еще к российским культурным объектам добавить данные Госкаталога РФ, это + ~55 миллионов объектов, но даже так разница с эстонским порталом в 4 раза, а не в 100 раз. Есть к чему стремиться, не говоря уже о том что метаданные госкаталога довольно куцые, а, по удивительным причинам каталоги метаданных НЭБ и Госкаталога не объединены.

Возвращаясь к эстонскому каталогу - более всего поражает детальность метаданных и огромное число доступных фасетов для поиска и фильтрации материалов.

Из минусов - отсутствие публично задокументированного API и наборов данных с метаданными.

#opendata #digitalheritage #culture #culturalheritage #estonia

Читать полностью…

Ivan Begtin

В продолжение про постановление российского пр-ва про взимание платы за доступ к статистике и то как оно в мире:
- OECD: Set of good statistical practices свод хороших статистических практик от ОСЭР. Включают рекомендации по бесплатному и свободному распространению статистики. Пункт 9.2: A dissemination policy ensures the free dissemination of official statistics.
- OECD: Open access by default рекомендации ОЭСР по предоставлению доступа к данным в режиме открытости по умолчанию
- OECD Principles and Guidelines for Access to Research Data from Public Funding рекомендации ОЭСР по предоставлению доступа к исследовательским данным (микроданным) с открытостью по умолчанию и взиманию платы только в исключительных случаях и в объеме не более себестоимости

Я специально привожу в пример принципы ОЭСР, есть также и позиции других международных и межгосударственных организаций, практики распространения данных в других странах и многое другое.

Практически все они сводятся к следующим принципа:
1. Статистика по всем вопросом являющихся объектом общественного интереса должна быть открыта и общедоступна
2. За доступ к статистике не должна взиматься плата за исключением очень ограниченного числа случаев запросов на доступ к специализированным данным требующих существенных усилий
3. По умолчанию все данные должны быть свободно доступными в цифровой форме и распространяться в открытую максимально возможными способами распространения

#opendata #statistics #regulation #oecd

Читать полностью…

Ivan Begtin

Датасет Цифрового архива: контрольные цифры расходов местных бюджетов РСФСР в 1932 году

Контрольные цифры бюджета — это предварительно установленные плановые показатели, которые союзный центр направлял в республики, края и области до составления ими собственных бюджетов. Это были директивные ориентиры, указывающие, сколько каждая республика или регион должна заработать (доходы),
израсходовать (расходы), перечислить в союзный бюджет (налоги, отчисления, прибыль предприятий), и сколько получит обратно (дотации, субсидии, ассигнования). Регионы на основе полученных цифр составляли собственные бюджеты.

Так, в 1932 году центр предполагал, что суммарные расходы всех регионов на культуру превышают аналогичное значение для народного хозяйства без малого в два раза: 1,8 млрд рублей против 0,9 млрд.

Публикуем датасет, содержащий контрольные цифры расходов бюджетов АССР и местных бюджетов краев и областей РСФСР на 1932 г.

#датасет #ЦАГГ #РСФСР #бюджет

Читать полностью…

Ivan Begtin

После экспериментов с простым кодом, я постепенно добрался до тех инструментов которые используются внутри Dateno для сбора данных. Один из них это утилита apibackuper которая помогает вытащить данные публикуемые через API и сохранять их в виде датасета. Фактически это инструмент скрейпинга API через декларативное описание параметров скрейпинга (да, я люблю декларативные описания). У инструмента был ряд недостатков которые я исправлял и думаю что исправил, вот перечень изменений:
- переход от декларативного описания скрейперов с INI (.cfg) файлов на YAML, читать легче, синтаксис приятнее
- валидация YAML описаний через JSON схему
- поддержка ограченичений и таймаутов на число запросов в минуту (Rate Limiting)
- поддержка аутентификации к API
- экспорт данных не только в JSONL, но и в Parquet
- автоопределение формата экспорта данных по расширению файла
- массовое обработка исключений и понятные сообщения об ошибках везде где возможно
- тесты для покрытия большей части кода
- подробная документация
- и всякое по мелочи

Я этот инструмент изначально разрабатывал для для архивации данных публикуемых через API, но сейчас он используется в части кода Dateno для выгрузки метаданных из каталогов данных. Может его даже пора уже перенести из ruarxive в dateno на Github'е, ещё не решил.

На скриншоте то как это выглядит на примере реестра лекарственных средств ЕСКЛП

Для сбора данных достаточно выполнить две команды
- apibackuper run
- apibackuper export current.parquet


Первая выгрузит все данные постранично, вторая сохранит выгруженные данные в parquet файл.

#opensource #datatools #data #dataengineering

Читать полностью…

Ivan Begtin

В рубрике как это устроено у них портал открытых данных Австралии data.gov.au. Относительно недавно его обновили и обратно мигрировали на CKAN с ранее разработанного австралийцами же дата каталога Magda. Почему мигрировали, кстати, я до сих пор в загадках. Magda интересный проект агрегации данных, но довольно сложный технически, может быть из-за этого.

Как бы то ни было сейчас на портале данных Австралии 97 тысяч наборов данных большая часть которых это геоданные, в первую очередь данные о Земле из Geoscience Australia.

Но всей картины открытых данных в Австралии это не покрывает поскольку де-факто Австралия скорее конфедеративная чем федеративная страна, много данных там на уровне отдельных штатов. И в том же Квинсленде на портале открытых данных www.data.qld.gov.au 188 тысяч наборов данных, а на портале геоданных Квинсленда geoscience.data.qld.gov.au ещё 187 тысяч наборов данных.

Всего в Dateno у нас проиндексировано более 548 тысяч наборов данных в Австралии из местных и международных порталов с данными.

Главная особенность Австралии как и большей части развитых стран - это то что геоданные составляют от 50 до 90% всех публикуемых наборов данных.

И, конечно, необходимо учитывать что его огромный пласт открытых научных данных который в Dateno пока представлен не полностью и если охватить и эти данные то в Австралии число открытых наборов данных легко достигнет 800-900 тысяч наборов данных, если не больше

#opendata #australia #datacatalogs

Читать полностью…

Ivan Begtin

В рубрике интересных инструментов работы с данными, datanomy утилита для командной строки для просмотра метаданных и данных внутри Parquet файлов. Простая штука, работает на базе фреймворка Textual для создания утилит командной строки и позволяет смотреть разную информацию включая схему, метаданные, данные и статистику по выбранному parquet файлу.

Инструментов для наглядного отображения Parquet файлов не так много, хотя и прибавляется. Этот выглядит как полезный.

#opensource #datatools #parquet

Читать полностью…

Ivan Begtin

Подборка полезных ссылок про данные, технологии и не только. В этот раз ссылки на видео:
- Meta Just Changed Data Compression FOREVER (OpenZL Explained) про новый инструмент для сжатия файлов OpenZL. Его важная особенность - это понимание форматов сжимаемых файлов и выбор правильного способа сжатия.
- Trustworthy Data Visualization (Kieran Healy, Duke University) видео с конфренции Posit 2025 о том как создавать визуализации данным которым можно доверять, полезное для всех кто визуализирует данные или читает визуализируемое. Автор написал немало про визуализацию, три книги и много статей ну и выступает весьма неплохо
- Mooncake: Real-Time Apache Iceberg Without Compromise (Cheng Chen) про построение озера данных с Apache Iceberg и Mooncake для реального времени. Заодно и с историей OLTP и OLAP и переход к озерам данных
- Introduction to OpenRefine использование OpenRefine, инструмента для очистки и обогащения данных. Примеры.и применение из работы с цифровыми архивами и библиотеками и не все знают что библиотекари - это основная аудитория пользователей OpenRefine.
- PostgresAI я так понимаю что это пока малоизвестный стартап который обещает применение ИИ для оптимизации баз Postgres. Концептуальная идея на поверхности, я, если честно, думал что появится что-то более универсальное по мониторингу и оптимизации с поддержкой разных СУБД. Честно говоря видео оформлено дурацки.и документация на их сайте практичнее

#readings #ai #datatools #datatools

Читать полностью…

Ivan Begtin

Я на выходных столкнулся с очередной ситуацией когда пришлось чистить свободное место на дисках, но при этом не хотелось архивировать некоторые файлы для холодного хранения, они нужны были под рукой. И я вспомнил про утилиту filesrepack которую я когда-то давно писал для пересжатия существующих файлов и архивов, это когда архивы и их содержание сжимаются более сильными алгоритмами сжатия чем это было сделано изначально и когда внутри них файлы тоже пересжимаются, обычно без потери качества, или с минимальной потерей в качестве изображений, там где это некритично.

Сама утилита эта работа как обертка вокруг множества приложений в операционной системе: pngquant, jpegoptim, 7z, zip и тд, но вот одна беда что она устарела и её надо было переписать.

Так что я её использовал как второй полигон для проверки кодирования с помощью ИИ (первый был с библиотекой iterabledata).

Итого:
- утилита filesrepack полностью переписана и теперь умеет две команды: repack - сжимать одиночные файлы, bulk - сжимать файлы внутри папки, рекурсивно
- добавлена поддержка множества новых форматов файлов: tiff, parquet, avi, avf, svg, gif, rtb, pages, numbers, key и других
- 90% кода написано с помощью ИИ агента Cursor'а (2-я версия Cursor, режим автовыбора моделей)
- существенные ошибки были лишь пару раз, достаточно легко они исправлялись
- у ИИ агента очень неплохое понимание контекста и того для чего сделано приложение и очень хорошие ответы на вопросы вроде "проанализируй приложение и предложи какие опции были бы полезны для его пользователей" или "предложи форматы файлов которые можно было бы оптимизировать и которые пока не поддерживаются"
- наибольшая польза, по прежнему, в автоматическом написании документации что очень удобно для всякого рода утилит и программных библиотек где не надо скриншотов и сложных сценариев.
- для такого простого практического применения ИИ агенты, действительно, прекрасно подходят и ускоряют работы многократно, а также помогают закрыть дыры в документировании, тестировании и тд.
- по ощущениям можно уже применять ИИ агенты и для промышленного применения в сложных системах, но, конечно, с существенно большей осторожностью и дополнительными мерами по верификации кода
- все в совокупности, конечно, огромный прогресс за последний год. Ранее когда я пытался применять ИИ агенты, было ощущение что галлюцинаций существенно больше чем результата.
- в любом случае джуниорам я категорически не рекомендую начинать изучение программирования через ИИ ассистенты. Что бы понимать насколько созданный код хорош и адекватен нужно уметь создавать его самостоятельно иначе можно наделать серьёзных ошибок

Далее я уже расскажу про практическое применение ИИ для работы с кодом и создания индекса в Dateno, но этим кодом поделиться уже можно только в отдельных отчуждаемых компонентах.

#opensource #tools #ai #coding #thoughts

Читать полностью…

Ivan Begtin

Объявлен приём заявок на Премию «Открытый доступ к данным в гуманитарных науках»

АНО «Инфокультура» приглашает студентов, аспирантов, преподавателей, исследователей и сотрудников вузов и научных организаций принять участие в конкурсе проектов, способствующих развитию открытой науки в гуманитарной сфере.

📌 Что можно подать:
– результаты научных исследований,
– цифровые проекты, связанные с гуманитарными дисциплинами,
– дипломные и курсовые проекты,
– иные работы, представляющие гуманитарные данные в открытом доступе.

📚 Номинации Премии:
• История
• Филология
• Культура
• Искусство
• Иные гуманитарные науки

Номинировать проект может как сам автор (или коллектив авторов), так и любой человек или организация, знакомые с проектом. Год публикации работы не имеет значения.

🏅 Лауреаты получат памятные награды, сертификаты и специальные призы от организаторов и партнёров Премии.
📝 Приём заявок уже открыт!

🔗 https://humawards.ru

#opendata #openaccess #humanitarian #contest

Читать полностью…

Ivan Begtin

Часто встречающаяся задача когда необходимо быстро создать API над какими-то данными и предоставить его внутренним и/или внешним пользователям. API, как правило, нужно для одной или нескольких из перечисленных причин:
1. Данные обновляются слишком часто чтобы делать дампы или предоставлять к ним прямой доступ
2. Необходимо предоставить данные недоверенным пользователям и поэтому прямой доступ к данным невозможен
3. Данные предоставляются на каких либо условиях предусматривающих ограничения, например, за деньги и ограничением числа записей за раз
4. API необходимо для интеграции с каким-либо существующим ПО которое умеет в API, но плохо или совсем не умеет работать с дампами и выгрузками данных
5. Нужна возможность ссылаться постоянными ссылками на конкретные записи в машиночитаемом виде.
6. API нужно, например, для быстрого написания фронтэнда или иного интерфейса которое бы через это API работало

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

Эти инструменты можно поделить на условно 3 типа:
- преобразующие данные в API
- создающие API поверх SQL и других баз данных
- позволяющие загрузить данные и сразу получить API на выходе

Для превращения данных несколько инструментов существовало относительно давно, например, csv-to-api и csv2api, они работали с CSV файлами и в общем-то довольно просты

Для баз данных есть инструменты вроде:
- gosql относительно свежий, работает поверх условно любой SQL базы данных
- Express REST API Generator - для MongoDB, давно не обновлялся
- RestHEART аналогично для MongoDB, но вроде как живой
- DataBeam код 12-летней давности от GSA (орган пр-ва США) с поддержкой преимущественно тяжелых корпоративных баз данных

И, наконец, есть какое-то число low-code инструментов вроде Retool, Baserow, Directus и тд. которые позволяют загружать туда таблицы и генерируют интерфейс для их редактирования и API заодно.

В своё время я сделал два похожих инструмента. Первый, самый простой, apiready грузил данные в MongoDB (в основном это были csv или tsv) файлы, анализировал их и создавал API поверх них. Я этот инструмент довольно быстро забросил и писал его оочень давно.

Более продвинутый инструмент был apicrafter вместо загрузки данных, он строился поверх базы MongoDB и создавл интерфейсы с помощью Python Eve довольно удобного инструмента, но статического. А apicrafter анализировал данные и собирал схему для работы Python Eve.

Когда-то я думал сделать этот инструмент поумнее и автоматически генерировать не только точки к API, но и документацию, примеры и тд., но со временем я начал убеждаться что MongoDB - это, конечно, неплохая штука, но с несколькими системными изъянами главные из которых низкая производительность и серьёзная неэффективность в хранении данных. В общем-то DuckDB или Polars или другие датафреймовые инструменты дают качественно лучший опыт в работе с данными, но переписывать под них не так то просто и главное нужно применение.

Тем не менее если решать не общую задачу, а конкретную по организации доступа к данным со всеми ограничениями, то может оказаться что схема данных + FastAPI + ИИ агент помогут собрать REST API гораздо быстрее. А могут и не собрать😂

В любом случае полезно знать про альтернативы и инструменты.

#api #opensource #datatools

Читать полностью…

Ivan Begtin

В рубрике как это устроено у них французский проект La Fabrique Numérique du Passé (Цифровая история прошлого) включает 199 научных наборов данных, 32 лаборатории и 14 проектов посвященных истории, в первую очередь Франции и немного по другим странам. Включает атласы и планы застройки ряда европейских городов, иные исторические данные и инструменты визуализации данных на картах и в виде графиков.

Создан в рамках проекта PARCEDES Французской академии наук (ANR) который направлен на изучение организации и эволюции аграрных земельных или полевых границ от протоистории до наших дней.

#opendata #france #history #humanities

Читать полностью…

Ivan Begtin

Свежие результаты Stack Overflow Developer Survey 2025, более 49 тысяч участников из 166 стран. Там много самых разных тем и отдельным блоком идёт все что касается ИИ и любопытного там немало.

Вот некоторые факты:
- Около 80 %+ разработчиков используют или планируют использовать ИИ-инструменты в своей работе.
- Однако лишь ~33 % доверяют корректности выводов этих инструментов, а ~46 % их активно не доверяют.
- Основная жалоба: «почти правильно, но не совсем» — 66 % разработчиков указали, что именно это фрустрирует.
- Например, использование Docker выросло на ~17 процентов с 2024 по 2025 — крупнейший скачок среди технологий опроса.
- Язык Python показал рост популярности: +7 процентов.
- 69 % респондентов потратили время за последний год на изучение нового языка программирования или новой техники.
- Из них 68 % используют документацию как основной ресурс обучения.
- Самые популярные ИИ ассистенты: ChatGPT (81,7 %), GitHub Copilot (67,9 %).

И ещё полезное из этого опроса в том что наличие интеграции с ИИ вообще не помогает в продаже инструментов именно разработчикам, зато очень помогает адекватная цена, хорошая документация, удобное SDK и минимум опасений в приватности и безопасности
решения.

Ещё наблюдение что разработчики чаще теперь общаются про технологии на Reddit или LinkedIn, но не в X/Twitter или Facebook. От себя замечу что и Facebook, и X превратились в такие помойки из смеси рекламы и политизированного контента что читать их просто неприятно. LinkedIn при все его кондовости даёт больше связи с сообществами.

#surveys #readings #stackoverflow

Читать полностью…

Ivan Begtin

Это очень важная тема про инфобез связанный с ИИ агентами, многие из них уже встроены в разного рода продуктами и когда между тобой и ИИ агентом есть ещё одна прослойка то ситуация становится ещё сложнее потому что и отказаться от сбора информации сложнее.

Вообще же описанное - это сильный довод в сторону использования открытых AI моделей и от провайдеров которые сами обучением ИИ агентов не занимаются.

Это же к вопросу о доступе к данным/коду и тд. К примеру, выбирая между Copilot'ом и Cursor'ом для приватного кода. Дефакто Github и так имеет доступ ко всему моему приватному коду, использование Copilot'а не создает тех же рисков которые присутствуют в ИИ продуктах и сервисах за пределами Github'а.

Или же, к примеру, если у вас и так все данные и документы и почта на Яндексе, то ограничивай/не ограничивай, они прямо или косвенно могут использоваться для обучения ИИ.

Начиная с определенного уровня качества ИИ агентов выбор между ними идет уже по критериям цена/безопасность, а не качество/цена/безопасность.

#thoughts #ai

Читать полностью…

Ivan Begtin

Полезные ссылки про данные, технологии и не только:
- quackstore расширение для DuckDB для кеширования облачных дата файлов, позволяет сильно ускорить выполнение запросов к облачным файлам благодаря их частичному сохранению. Полезная штука, её можно бы и сразу внутрь DuckDB ибо логично
- Catalog of Patterns of Distributed Systems для тех разработчиков кто хотят не только кодировать, но и двигаться в сторону архитектуры ПО.
- The Data Engineering Agent is now in preview Гугл запустили ИИ агента для дата инженеров внутри BigQuery, конечно же на базе Gemini. Дайте мне такой же только с открытым кодом и без инфраструктуры Google и с поддержкой всех основных инструментов и СУБД!
- Diseño del V Plan de Gobierno Abierto 2025-2029 5-й план по открытости гос-ва опубликовали власти Испании. Сейчас проходят публичные консультации и далее он будет утвержден. Открытые данные там, конечно же, присутствуют

#opendata #opensource #rdbms #datatools #dataengineering #ai

Читать полностью…
Subscribe to a channel