Код в мешке
249 subscribers
9.08K photos
1.6K videos
2.11K files
42.7K links
Код в мешке - про кодинг, и не только...
Это личная записная книжка

https://t.me/joinchat/AAAAAEIy6oGlr8oxqTMS5w
Download Telegram
Forwarded from Ivan Begtin (Ivan Begtin)
По поводу каталогов данных на базы Apache Iceberg, я не поленился и развернул один на базе Cloudflare R2 о котором писал ранее и могу сказать что всё прекрасно работает, с некоторыми оговорками конечно:

- каталог в Cloudflare R2 настраивается очень просто, без танцев с бубном, но требует ввода карты даже если не надо платить (на бесплатном тарифе в R2 можно хранить до 10GB и бесплатный исходящий трафик). Фактически там просто одна галочка которую надо включить
- подключение к pyIceberg также крайне простое, и в части загрузки данных, и в части запросов к ним. Для всего есть примеры
- а вот для прямого подключения DuckDB к этому каталогу танцы с бубном явно понадобятся, потому что в документации нет ничего про R2, примеры только с Amazon S3 Tables и Amazon Glue, скорее всего всё вскоре появится, но пока ничего нет.
- не заработало передача параметров фильтрации в функции table.scan, что решается последующим запросом к не фильтрованным записям, но при фильтрации требует очень много памяти;
- какие-либо UI для каталогов Apache Iceberg пока отсутствуют. Вернее есть встроенные инструменты в облачных сервисах и возможность посмотреть на загруженное в open source каталогах типа Nessie и Lakehouse, но всё это встроенные интерфейсы. Явно напрашивается UI для Iceberg browser и доступ к таблицам из веб интерфейса через DuckDB WASM к примеру.
- спецификация предусматривает возможность задания метаданных таблицам и пространствам имён, но у меня это не сработало. Впрочем я бы метаданные по пространствам имён хранил бы отдельно. Как то это логичнее
- хотя UI для каталога нет, но UI для доступа к данным в нём можно обеспечить через UI к DuckDB. Хотя для DuckDB нет пока инструкций для подключения к R2, но есть примеры прямого чтения метаданных по файлу манифеста в JSON
- есть ощущение что для работы с Iceberg и подобными таблицами напрашивается кеширующий клиент. Собственно я не первый и не один кто об этом думает.

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

#datatools #data #dataengineering #dataanalytics
Forwarded from Ivan Begtin (Ivan Begtin)
Полезные свежие научные статьи про работу с данными:
- Large Language Models for Data Discovery and Integration: Challenges and Opportunities - обзор подходов по обнаружению и интеграции данных с помощью LLM
- Unveiling Challenges for LLMs in Enterprise Data Engineering - оценка областей применения LLM в корпоративной дата инженерии
- Magneto: Combining Small and Large Language Models for Schema Matching - про одно из решений сопоставления схем через использование LLM и SLM
- Interactive Data Harmonization with LLM Agents - интерактивная гармонизация данных с помощью LLM агентов
- Towards Efficient Data Wrangling with LLMs using Code Generation - про автоматизацию обработки данных с помощью кодогенерирующих LLM

#readings #data
🖥 Репозиторий: File_Hider — простой способ скрыть файлы и папки

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

— Данный инструмент имеет открытый исходный код и простое использование без лишних настроек.

Ссылка на GitHub (https://github.com/x011/File_Hider)

#Privacy #Security #Encryption #Data #File

@hackernews_lib
Forwarded from Ivan Begtin (Ivan Begtin)
В качестве регулярных напоминаний.

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

Также о том что я делаю и делают команды проектов которые я веду или с которыми я связан:
- @ruarxive - новости по цифровой и веб-архивации в контексте России и русскоязычных ресурсов
- @opendataam - открытые данные в Армении, новости о данных связанных с Арменией
- @infoculture - новости Информационной культуры, НКО ведущей ряд проектов в по открытости РФ
- @datenosearch - новости проекта поисковика по датасетам Dateno, на английском языке
- begtin.substack.com - блог/рассылка где я время от времени пишу лонгриды на русском языке
- medium.com/@ibegtin - англоязычный блог для лонгридов на английском языке. Пишу туда не очень часто, а надо бы чаще
- linkedin.com/in/ivbeg - регулярные публикации на английском языке в LinkedIn, по большей части про работу с данными.

#writings #opendata #digitalpreservation #data
Forwarded from Ivan Begtin (Ivan Begtin)
Полезные ссылки для работы с данными, технологиями и не только:
- DocsGPT и LocalGPT два похожих продукта для извлечения знаний и чата с локальными документами. Первый под лицензией MIT, второй под Apache 2.0. Поддерживают множество форматов документов, работают с облачными и локальными моделями ИИ. Какой лучше не знаю, надо пробовать оба продукта.
- Markitdown утилита от Microsoft по преобразованию чего угодно в формат markdown. Поддерживает документы MS Office, PDF, HTML, аудио и изображения и многое другое.
- AI Dataset generator генератор синтетических наборов данных с помощью ИИ. Умеет подключаться к разным LLM и интегрировано с инструментом визуализации Metabase. Открытый код, лицензия MIT
- gt-extras расширение для пакета great-tables для Python позволяющее рисовать красивые таблицы в Python в средах научных тетрадок Jupyter или в Quatro из фреймов данных Pandas и Polars. Удобное для всех кто занимается аналитикой на данных
- OpenAIRE changelog хороший пример версионирования и журнала большого открытого дата-продукта.

#opensource #data #datatools
Forwarded from Ivan Begtin (Ivan Begtin)
Для тех кто работает с данными на регулярной основе и любит командную строку:
- xan, the CSV magician - инструмент для манипуляции с CSV файлами от команды medialab французского SciencePo. Акценты на визуализацию в командной строке. Написан на Rust, открытая лицензия
- qsv - инструмент обработки CSV файлов с акцентом на производительность и подготовку данных для публикации на порталах открытых данных CKAN. Написан на Rust, открытая лицензия
- q - инструмент SQL запросов к текстовым файлам, например, CSV
- jq - инструмент запросов к JSON файлам

Я также создавал немало инструментов командной строки https://t.me/begtin/6557, но, каюсь, у всех из них есть явные недостатки в отсутствии документации.

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

#data #tools #datatools
Forwarded from Ivan Begtin (Ivan Begtin)
В качестве регулярных напоминаний, всяческий полезный [и бесполезный] код утилит для командной строки которые я когда-то делал и иногда продолжаю развивать когда это необходимо для работы,
например, для Dateno. Лично я испытываю глубокую привязанность к работе в командной строке отсюда и все эти инструменты:

- undatum - многофункциональная утилита для обработки данных изначально в формате JSON lines, делалась как xsv для JSON/JSON lines, я её лично активно и везде применяю.
- docx2csv - утилита по извлечению таблиц из файлов MS Word (.docx), настолько простая что надо её с чем-то объединить
- mongo2md - инструмент автоматизации документирования коллекций в MongoDB было полезно когда MongoDB была в основе технологического стека разных проектов, сейчас скорее буду переводить в статус легаси, но полезно как пример автодокументирования.
- metawarc утилита по извлечению метаданных из файлов WARC, умеет собирать данные из pdf, doc, docx, pdf, png, jpg, xls, xlsx и других файлов документов и изображений. Полезна для разного рода OSINT задач и для автоматизированного анализа WARC файлов
- apibackuper утилита для сбора данных из API через декларативно заданные правила. Использую её повсеместно и всё время хочу переписать чтобы вместо cfg файлов использовать yaml/toml, заменить zip контейнеры на базу duckdb и в целом сделать удобнее. Но и так работает
- wparc архиватор API и данных из Wordpress и файлов заодно. Одна из утилит для архивации сайтов для RuArxive
- lazyscraper скрейпер сайтов для лентяев, когда хочется извлечь данные минимальными усилиями и без программирования. Я её чуть-чуть не доделал чтобы даже xpath не использовать, но в остальном вполне рабочий инструмент
- metacrafter мой любимый инструмент идентификации структуры таблиц в файлах и таблицах с данными. Надо объединить с undatum её конечно же
- apicrafter утилита по быстрому созданию API поверх коллекций в MongoDB. Когда-то использовалась в проектах где основной стек был на MongoDB, сейчас всё по другому я бы делал

#opensource #data #datatools
Forwarded from Ivan Begtin (Ivan Begtin)
В рубрике полезных инструментов для сбора данных tdl (Telegram Downloader) инструмент командной строки,написан на Go, под лицензией AGPL-3.0, позволяет выгружать списки сообщений, сами сообщения и файлы и проводить другие манипуляции по выгрузке списков чатов, их участников и другой информации.

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

Что важно - это живая разработка, с 18 контрибьюторами, основной разработчик и часть контрибьютров китайскоязычные, видимо я пропустил когда в Китае Телеграм начал набирать популярность.

Мне лично нравится как сделан этот инструмент по архитектуре, логике команд, набору опций (выкачивать только сообщения, скачивать медиа) и так далее. Хотелось бы такой же, но универсальный для разных платформ и соцсетей или даже отдельные для других платформ сделанные по схожей логике. Для РФ скоро будет актуален инструмент для выгрузки чатов и каналов в MAX потому что у MAX'а нет открытой веб версии без авторизации как это есть у телеграм'а (пример - https://t.me/s/begtin) и все что создается внутри платформы не архивируется. Но это уже отдельная тема.

Пока же tdl полезный инструмент для телеграма и хорошая референсная реализация подобных инструментов для других задач.

#opendata #opensource #digitalpreservation #data #tools
Forwarded from Ivan Begtin (Ivan Begtin)
К вопросу о том как и кто являются пользователями данных и как оценивать насколько тот или иной публичный дата продукт / каталог данных может использоваться.

Есть три основных категории пользователей и у каждой из них свой набор ожиданий :
1. Аналитики
- максимальная оперативность данных
- доступность данных в форматах привычных для работы (CSV, XLSX)
- возможность доступа к данным аналитическими и No code/Low code инструментами
- наличие данных по ключевым наиболее значимым темам (официальная и ведомственная статистика, например)

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

3. Разработчики и дата инженеры

- доступность данных через API
- доступность данных для массовой выгрузки (bulk download)
- доступность схем и структур данных
- наличие данных в современных форматах для выгрузки: сжатые CSV, Parquet и др.
- наличие предсказуемой инфраструктуры для интеграции с ETL/ELT системами получения данных
———
У этих 3-х групп есть ряд подгрупп которые имеют свою специфику:
- журналисты. Имеют те же требования что и аналитики, с меньшим погружением в технологии, с большим погружением в доступность данных.
- AI/ML инженеры. Помимо ожиданий разработчиков и дата инженеров у них еще присутствует потребность именно в данных большого объема для обучения, интегрируемость в стеки данных и интегрируемость в продуктами вроде Hugging Face
- статистики. Это не только сотрудники статслужб, но и профессиональные пользователи их данных. Они могут быть аналитиками и исследователями и тут важным становится наличие значимых метаданных и специальных стандартов и форматов SDMX, DDI и тд.
- геоаналитики и георазработчики. Подгруппы аналитиков и разработчиков с упором на геоданные, ключевое здесь это наличие возможности поиска данных по геопривязке, получению их в форме стандартизированных API ArcGIS/OGC и возможность выгрузки в наиболее востребованных форматах геоданных

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

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

К примеру, когда я ругаюсь в адрес российского портала data.gov.ru, то могу объяснить это довольно просто. Можно посмотреть на него глазами любой из перечисленных ролей/групп пользователей и убедиться что для их задач он непригоден.

#opendata #users #thoughts #data
Forwarded from Ivan Begtin (Ivan Begtin)
В качестве регулярных напоминаний, большое количество открытого кода который я лично создавал и поддерживаю:
- iterabledata библиотека для Python по работе с любыми файлами с записями с помощью прямого их перебора и возвращением каждой записи как словаря (dict). Фактически реализация интерфейсов csv.DictReader и csv.DictWriter для десятков форматов файлов таких как JSON, JSON lines, XML, Parquet, ORC и множества более специфических и отраслевых таких как PCAP, WARC и др.
- internacia-db референсная база данных с базовыми данными по странам и по страновым блокам. Распространяется в форматах JSONL, Parquet, DuckDB, YAML. Полезно для задач обогащения данных, поиска и фильтрации результатов в территориальной привязке, сравнении стран и территориальных блоков.
- undatum это инструмент командной строки для работы с файлами со сложной иерархией так как работают с CSV файлами. Он умеет считать статистику, преобразовывать файлы, анализировать их, разрезать на части и тд. Внутри используется библиотека iterabledata и большое число форматов файлов поддерживаются
- metacrafter библиотека для Python и инструмент командной строки для работы с семантическими типами данных, используется для выявления персональных идентификаторов и иных объектов (кодов организаций, кадастровых и почтовых кодов и так далее)

А также много другого открытого кода о котором я регулярно тут пишу.

#opensource #data #dataengineering #datatools
Forwarded from Ivan Begtin (Ivan Begtin)
В рубрике полезных инструментов для сбора данных tdl (Telegram Downloader) инструмент командной строки,написан на Go, под лицензией AGPL-3.0, позволяет выгружать списки сообщений, сами сообщения и файлы и проводить другие манипуляции по выгрузке списков чатов, их участников и другой информации.

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

Что важно - это живая разработка, с 18 контрибьюторами, основной разработчик и часть контрибьютров китайскоязычные, видимо я пропустил когда в Китае Телеграм начал набирать популярность.

Мне лично нравится как сделан этот инструмент по архитектуре, логике команд, набору опций (выкачивать только сообщения, скачивать медиа) и так далее. Хотелось бы такой же, но универсальный для разных платформ и соцсетей или даже отдельные для других платформ сделанные по схожей логике. Для РФ скоро будет актуален инструмент для выгрузки чатов и каналов в MAX потому что у MAX'а нет открытой веб версии без авторизации как это есть у телеграм'а (пример - https://t.me/s/begtin) и все что создается внутри платформы не архивируется. Но это уже отдельная тема.

Пока же tdl полезный инструмент для телеграма и хорошая референсная реализация подобных инструментов для других задач.

#opendata #opensource #digitalpreservation #data #tools
Forwarded from Ivan Begtin (Ivan Begtin)
Полезные ссылки про данные, технологии и не только:
- coreutils Microsoft выпустили набор unix подобных инструментов для Windows. Хочется сказать не поздно ли? Ибо альтернативы были, тут главное достоинство в том что это родные утилиты от производителя, но со своими ограничениями. Полезно для всех кто использует W10/W11 и любит командную строку
- Pluto система тетрадок на базе языка Julia. Примеры на сайте не открываются, сложно посмотреть пока в действии, но само по себе интересно, хотя и врядли серьезно потеснит Python
- ingestr новая версия утилиты быстрой загрузки данных в огромное число источников из большого числа источников. Пишут что в версии 1 существенное ускорение по сравнению с другими инструментами и версией 0. Надо пробовать.

#opensource #data #tools
Forwarded from Ivan Begtin (Ivan Begtin)
Мне много что есть сказать по поводу отзыва компанией GlobalSign сертификатов у российских доменов и недавнего изменения политики Let's Encrypt в части соблюдения санкций США (теперь соблюдают, если вкратце и не будут больше выдавать их санкционным компаниям).

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

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

Сертификаты для сайтов и других целей в мире выдаются не кем попало, а так называемыми Certificate Authority и крупнейшие вендоры браузеров, операционных систем и устройств проводят их верификацию/аттестацию и включают в списки признаваемых ими. Вот тут можно посмотреть примеры таких списков. Наиболее значимые - это списки Apple, Microsoft, Google для их операционных систем, но, в принципе, все они важны.

Наиболее крупный список Common CA Database ведет Linux Foundation в партнерстве с Microsoft, Mozilla, Cisco и Google. Он включает 10122 сертификата, выпущенных 186 корневыми CA из примерно 60 стран. Эти страны включают, практически все страны ЕС, многие азиатские и даже некоторые африканские страны.

А каких стран там нет? Из значимых там нет России, Беларуси и всех стран Центральной Азии и многих других.

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

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

#opendata #certificates #russia #datasets #data
Forwarded from Ivan Begtin (Ivan Begtin)
Для тех кто интересуется разного рода международной таксономией, новая версия internacia-db управляемого справочника по странам и международным блокам в виде открытого репозитория приведенного к формату дата-продукта.

В новом релизе 1.5.0 по совокупности изменений:
- число стран/территорий расширено до 256 и теперь включает записи по непризнанным территориям вроде Приднестровья, Абхазии и тд.
- добавлены новые международные блоки которых теперь 1070, типы международных блоков по прежнему: экономические блоки, международные соглашения, межгосударственные организации и фонды, экономические группы стран (по классификация Всемирного банка и другим) и так далее. Всего более 86 типов международных группировок стран
- добавлена лицензия для данных которая CC-BY и provenance (происхождение) по отдельным полям данных в карточках записей.
- многие карточки включают обновленные метаданные: описания, официальные названия, сведения о странах участниках, статус участия и так далее.

Все данные опубликованы в форматах Parquet, YAML, JSON lines и в виде базы DuckDB.

Для чего нужна эта база?
1. Для обогащения данных при работе с любыми данными имеющими геопривязку к стране или международному блоку
2. Для задач визуализации данных, например, статистики в привязке к странам и международным блокам
3. Для сравнения стран и международных блоков

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


#opendata #dataproducts #data
Forwarded from Ivan Begtin (Ivan Begtin)
Probably аналитический инструмент для работы с данными локально на своем компьютере. На вход получает датасет в одном из популярных форматов и далее позволяет в режиме чата делать к нему запросы. Позиционируется как local-first продукт где данные не загружаются в облако и облака используются только для вызовов к LLM.

Умеет делать графики и простой анализ данных.

Что нравится:
- неожиданно стабильно работает и многое может для относительно молодого продукта
- удобный и работоспособный интерфейс

Что не нравится:
- закрытый код, для меня open source вариант всегда приоритетнее
- нет режима local-only, скорее всего из-за бизнес модели подписки и кредитов
- непрозрачная работа с облачными LLM. Нет BYOK, нет поддержки локальных LLM сервисов для работы с командной строки, непонятно какая LLM используется в облаке и непонятно какой объем данных передается
- нет общедоступной информации о разработчике на сайте

Впрочем стартап этот совсем свежий, они только-только подняли $9 миллионов на Seed раунде и надо за ними внимательно понаблюдать.

#data #datatools #ai
Forwarded from Ivan Begtin (Ivan Begtin)
Полезные ссылки про данные, технологии и не только:
- coreutils Microsoft выпустили набор unix подобных инструментов для Windows. Хочется сказать не поздно ли? Ибо альтернативы были, тут главное достоинство в том что это родные утилиты от производителя, но со своими ограничениями. Полезно для всех кто использует W10/W11 и любит командную строку
- Pluto система тетрадок на базе языка Julia. Примеры на сайте не открываются, сложно посмотреть пока в действии, но само по себе интересно, хотя и врядли серьезно потеснит Python
- ingestr новая версия утилиты быстрой загрузки данных в огромное число источников из большого числа источников. Пишут что в версии 1 существенное ускорение по сравнению с другими инструментами и версией 0. Надо пробовать.

#opensource #data #tools
Forwarded from Ivan Begtin (Ivan Begtin)
Мне много что есть сказать по поводу отзыва компанией GlobalSign сертификатов у российских доменов и недавнего изменения политики Let's Encrypt в части соблюдения санкций США (теперь соблюдают, если вкратце и не будут больше выдавать их санкционным компаниям).

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

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

Сертификаты для сайтов и других целей в мире выдаются не кем попало, а так называемыми Certificate Authority и крупнейшие вендоры браузеров, операционных систем и устройств проводят их верификацию/аттестацию и включают в списки признаваемых ими. Вот тут можно посмотреть примеры таких списков. Наиболее значимые - это списки Apple, Microsoft, Google для их операционных систем, но, в принципе, все они важны.

Наиболее крупный список Common CA Database ведет Linux Foundation в партнерстве с Microsoft, Mozilla, Cisco и Google. Он включает 10122 сертификата, выпущенных 186 корневыми CA из примерно 60 стран. Эти страны включают, практически все страны ЕС, многие азиатские и даже некоторые африканские страны.

А каких стран там нет? Из значимых там нет России, Беларуси и всех стран Центральной Азии и многих других.

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

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

#opendata #certificates #russia #datasets #data