Ivan Begtin
9.08K subscribers
2.52K photos
4 videos
114 files
5.29K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and etc.

CTO&Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Email ivan@begtin.tech

Ads/promotion agent: @k0shk
Download Telegram
Подборка полезных ссылок про данные, технологии и не только:
- Catalogue of predictive models in the humanitarian sector [1] каталог предсказательных моделей в гуманитарном секторе, про погоду, засуху, катастрофы, пандемии и так далее. Большая подборка, в основном от университетов и структур ООН
- OGP Data Dashboard [2] обещания стран по развитию открытости в рамках OGP наложенное на карты. В том числе локальные инициативы
- Rubber Duck Debugging [3] отладка резиновой уточкой, способ программирования код объясняешь код построчно желтой резиновой утке рядом. Можно заменить на плюшевого медведя. Не новость, но полезное напоминание для тех кто задолбался с отладкой;)
- Enhancing findability and searchability of research data: Metadata conversion and registration in institutional repositories [4] научная работа про повышение качества поиска и находимости научных данных. Построено с акцентом на японскую национальную систему публикации научных данных IRDB [5]
- SciLake. Scientific Knowledge Graphs in the heart of Open Science
[6] европейский проект поверх OpenAIRE по сбору дополнительных данных и обогащению метаданных связанных с научными активностями. Больше похоже на параллельные научные гранты по обогащению данных OpenAIRE, не связанные между собой, но результатом может быть интересный открытый код

Ссылки:
[1] https://centre.humdata.org/catalogue-for-predictive-models-in-the-humanitarian-sector/
[2] https://www.opengovpartnership.org/data-dashboard
[3] https://en.wikipedia.org/wiki/Rubber_duck_debugging
[4] https://datascience.codata.org/articles/10.5334/dsj-2024-040
[5] https://irdb.nii.ac.jp
[6] https://scilake.eu

#opendata #datascience #programming #data #openaccess
👍41
В блоге Rill, открытого кода и облака для визуализации данных, полезный текст The Rise of the Declarative Data Stack [1] полезный для всех кто сейчас смотрит на профессии дата аналитика, дата инженера, ML инженера и тд.

Если коротко то в последние годы почти все популярные дата продукты превращаются в платформы для декларативного программирования. Это когда вместо кода пишешь YAML конфигурационные файлы.

Можно просто мем уже нарисовать в стиле "все думают что дата инженерия это когда много SQL и программирования на Python/Java, а по факту это бесконечное число YAML файлов".

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

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

Ссылки:
[1] https://www.rilldata.com/blog/the-rise-of-the-declarative-data-stack

#opensource #yaml #programming
🔥7🐳1🤝1
Хотите в ИТ? А тем временем в США по данным мониторинга вакансий программистов на Indeed наблюдается резкое их сокращение. Та же фигня в Германии.

Что это означает? То что не надо бегом-бегом учиться программировать если у вас к этому не лежит душа. Потому что надо будет очень быстро и интенсивно пробегать путь от джуниора до миддла.

Ссылки:
[1] https://fred.stlouisfed.org/series/IHLIDXUSTPSOFTDEVE

#statistics #it #usa #germany #programming
🤔5💯3👍1💔1
О предубеждениях программистов

На днях мне довелось общаться с командой которая делает один любопытный продукт по обработке данных. В какой-то момент они решили добавить в продукт работы с данными с помощью ИИ и, поначалу, поэкспериментировали с подключением ChatGPT, а потом весь механизм полностью заменили на движок llama.cpp (не путайте с Ollama) с помощью и перевели всю работу с данными в режим local-only. Это когда через интерфейс приложения можно скачать одну из двух моделей Llama 3.2 или Qwen 2.5 и с их помощью локально с данными работать.

Надо ли объяснять что тут не так? В первом случае они сделали решение которое было cloud-only, без облачного сервиса не работало. Во втором случае они сделали решение local-only, очень приватное, и почти неработоспособное. Кроме того что оно кушает много памяти и диска, оно ещё и замораживает компьютер пользователя, а пользователи могут быть не самые продвинутые по навыкам и по технике.

Мне буквально пришлось им объяснять что для большинства пользователей нужен выбор и оба подхода некорректны по умолчанию. Кого-то не пугают облачные LLM, у кого-то есть собственная инфраструктура с развертными Ollama или LM Studio на сервере или десктопе с сетевым подключением, кто-то пользуется хостинг провайдерами - Digital Ocean, Nebius, Яндекс.Клауд и др.

Поскольку эту команду я знаю достаточно давно и они из open source мира то подозреваю что первоначальное использование ChatGPT было скорее экспериментом, а потом они стремительно переключились на local-first решение как то которое они считают наиболее приемлемым.

Я совсем не уверен что мне удастся их переубедить, потому что у них есть два мощнейших предубеждения. Это Анти бигтех и Анти ИИ (пока не могу подобрать названий получше).

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

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

Всё это в дополнение другим традиционным предубеждениям программных команд: Не изобретено здесь, Пользователь всегда неправ и ещё многих других.

#opensource #programming #thoughts #data #ai
1🔥98💯71
У меня есть довольно давняя отложенная нерабочая задача - это извлечь с каталога музейного фонда РФ (goskatalog.ru) материалы по армянскому культурному наследию для чего я когда-то выгружал с портала данных Минкультуры РФ битый датасет этого реестра и преобразовывал 88ГБ текстовый файл в 2.7ГБ файл Parquet с 31.7 записями о культурных объектах. А также есть примерно 100 регулярных выражений позволяющих найти записи в которых есть прямое или косвенное упоминание Армении или армянской культуры.

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

А теперь о подходах как такую задачу можно решить.

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

Облачное программирование (неэкономное). То же самое только арендуешь сервер в облаке на котором запускаешь, после отработки кода сохраняешь результаты и сервер отключаешь.

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

Экономное хардкорное программирование. Обращаешь внимание что регулярные выражения - это медленно почти всегда и на то что не все поля в оригинальных данных нужны. Оптимизируешь и пересобираешь оригинальный файл с данными так чтобы он содержал только id записи и поля с нужными текстами, переписываешь регулярные выражения на pyparsing или разворачиваешь их в текст для полного мэтчинга и, конечно, тоже разрезаешь файл с данными на 100 (или сколько нужно) и параллельно запускаешь обработку не обязательно на продвинутом железе. Думаешь о том не переписать ли все это на Rust

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

Поиски волонтера. Описываешь целесообразность и нужность задачи в виде мини ТЗ. Закидываешь с сообщества где могут быть потенциальные волонтеры готовые ее решить. Задача не самая сложная, не самая простая, как раз по силам.

Вайб-кодирование. Описываешь эту задачу ИИ агенту и он за тебя генерирует код (скорее всего не самый высокопроизводительный) и дальше уже по аналогии с ленивым программированием

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


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

#thoughts #programming #dataengineering
🔥431
Число вопросов в StackOverflow падает уже несколько лет и сократилось в несколько раз. В декабре 2024 года их было 18029, а в декабре 2025 года их всего лишь 3862 - итого сокращение в 4.6x раз

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

Можно сказать что проходит, возможно уже прошла, целая эпоха.

#ai #programming #thoughts
💔11👍4😢4🌚31🔥1💅1
В блоге The Pragmatic Engineer текст созвучный моим мыслям When AI writes almost all code, what happens to software engineering? он частично под пэйволлом, ном открытой части достаточно чтобы понять о чем речь. А речь там ровно о том что я предсказывал - работы для начинающих разработчиков в ИТ будет меньше, а опытные будут цениться больше, возможно даже сильно больше, но общее падение профессиональной экспертизы - это то что нас уже почти неизбежно ждет. Причем перелом произошел в последние полгода с появлением новых LLM моделей которые стали неожиданно хорошо справляться с задачами программирования.

Я добавлю что любые дискуссии по поводу перспектив применения ИИ в разработке будут релевантны только если обсуждающие пробовали последние LLM модели: Gemini 3, GPT-5.2 и Opus 4.5.

#ai #softwareengineering #programming #trends
1👍10