Ivan Begtin
9.3K subscribers
2.09K photos
3 videos
102 files
4.82K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech
Download Telegram
В США была расформирована команда 18F [1] [2] - это была уникальная по функциям ИТ команда, работавшая в Госдепартаменте в режиме инсорсинга, а то есть они не были сотрудниками господрядчиков и имели прямые многолетние контракты. Особенность 18F была в функциях пожарной команды. Когда у них были и постоянные задачи помощи отдельным агентствам и срочные задачи когда они спасали конкретные федеральные департаменты от ИТ провалов. Например, история с 3-х дневным проектом которая спасла $500 миллионный проект Департамента обороны [2].

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

В любом случае теперь этой команды нет, остался их открытый код [3], который, возможно, стоило бы заархивировать.

Ссылки:
[1] https://donmoynihan.substack.com/p/skilled-technologists-are-being-forced
[2] https://substack.com/home/post/p-158259375
[3] https://github.com/18F

#opensource #usa #18F
This media is not supported in your browser
VIEW IN TELEGRAM
Прекрасная визуализация When You Will Die на Flowing Data шанса прожить следующий год [1] в зависимости от возраста и пола.

Тут надо оговорится что это данные для мирного времени и для США, а для других стран и в другом состоянии статистика может быть совершенно иной.

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

Ссылки:
[1] https://flowingdata.com/projects/2025/when-die/

#dataviz #lifeanddeath
Для тех кто пользуется или планирует пользоваться DuckDB я закинул в рассылку подборку ограничений и особенностей применения из личного опыта.

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

#duckdb #rdbms #datatools
Для тех кто работает с CSV файлами, неплохой и даже немного смешной текст A love letter to the CSV format [1] где автор рассуждает и расхваливает преимущества CSV формата для данных и аргументы его неплохи, но... лично мне недостатки не перевешивают. На его 9 пунктов я могу пару десятков пунктов написать о недостатках CSV, но плюсы тоже есть, чего уж тут скрывать. И, правильнее сказать что не один автор, а авторы, создатели утилиты xan, the CSV magician [2] для обработки CSV файлов.

Утилита эта является переписанной и переработой утилиты xsv [3] и позволяет вытворять самое разное с CSV файлами, включая визуализации, параллельную обработку, просмотр с командной строки и ещё многое другое.

Хороший инструмент, у него только один недостаток, он работает только с CSV файлами😂

Для тех кто любит командную строку и CSV формат - незаменимая штука.

Ссылки:
[1] https://github.com/medialab/xan/blob/master/docs/LOVE_LETTER.md
[2] https://github.com/medialab/xan
[3] https://github.com/BurntSushi/xsv

#opensource #data #datatools
Полезные ссылки про данные, технологии и не только:
- DuckDB Roadmap [1] команда DuckDB опубликовала дорожную карту. Много любопытного, обещают шифрование базы данных в будущем, поддержку парсинга XML
- FastOpenAPI [2] библиотека для Python для быстрого создания документации и схемы API по стандарту OpenAPI. Поддерживает Flask, Falcon, Starlette, Sanic и Tornado. Полезно для очень быстрого развертывания API с помощью Python.
- CSVConf [3] пройдёт в сентябре 2025 года в Болонье, Италия. Это конференция больше про сообщество чем про индустрию, там про применение данных в исследованиях и гражданском обществе. Ещё есть время подать заявку на выступление [4]
- Streamlining access to tabular datasets stored in Amazon S3 Tables with DuckDB [5] в блоге Amazon о том как настраивать хранилище файлов для прямого доступа к S3 таблицам через DuckDB.
- Unstructuted [6] open source и SaaS сервис для обработки данных через извлечение их из PDF, HTML, Word и других документов. Интересная бизнес модель, открытый код доступен, а через его же библиотеку и утилиту командной строки можно подключить аккаунт их облачного продукта и преобразовывать данные быстрее с его помощью. Такая бизнес модель аллергии не вызывает, похоже на хороший, годный продукт.

Ссылки:
[1] https://duckdb.org/docs/stable/dev/roadmap.html
[2] https://github.com/mr-fatalyst/fastopenapi
[3] https://csvconf.com/
[4] https://docs.google.com/forms/d/e/1FAIpQLSdoCI37INVkMMI3tcRLJ5dr2Lfrd86TqH_NjvhT02xoSUMYmw/viewform
[5] https://aws.amazon.com/ru/blogs/storage/streamlining-access-to-tabular-datasets-stored-in-amazon-s3-tables-with-duckdb/
[6] https://github.com/Unstructured-IO/unstructured

#opensource #data #datatools
В ответ на список любви к CSV формату, я напишу свои 5 пунктов в пользу формата данных Parquet:

1. Parquet гораздо компактнее CSV и других форматов которые в него преобразуют, даже если они сжаты. Колоночное сжатие в Parquet работает гораздо эффективнее и это особенно ярко ощущается на денормализованных данных, например, статпоказателях в формате плоских файлов в режиме "1 строка=1 значение".
2. Parquet позволяет работать с данными как с базами данных позволяя на недорогих устройствах работать с данными большого объёма и быстро выполнять аналитические запросы.
3. Parquet имеет строгую схему описания и хорошую типизацию полей, а большая часть инструментов по работе с ним умеют определять типы данных динамически при создании Parquet файлов.
4. Parquet может иметь вложенные объекты в отличие от CSV файлов в Parquet есть возможность хранить структурированные вложенные объекты и Parquet файлы могут создаваться на базе JSON / NDJSON / JSON lines файлов
5. Все современные аналитические инструменты работы с данными умеют работать с этим форматом это Pandas, Polars, Clickhouse, DuckDB и многие другие. Новые инструменты появляются ежегодно и работают всё более производительно.

#data #dataformats #csv #parquet
Сижу читаю резюме что нам присылают на вакансию дата инженера в Инфокультуре, и схожая потребность с акцентом на AI есть у нас в Dateno, читаю посты разных близких и дальних знакомых про поиск работы для тех кто overqualified (не могу по русски подобрать точный перевод) и волей-не волей задумываюсь о том как поменялся рынок труда за эти годы.

Меня это всё наводит на следующие мысли:
1. Люди без навыков научились писать резюме и себя продавать, а люди с навыками чаще нет чем да. Но, на самом деле, рецепт хорошего резюме очень просто. Это 1 страница, последний работодатель, навыки, хобби. В работах на последнего работодателя кратко пунктами самые сложные задачи которые приходилось решать. И всё. По опыту чтения резюме скажу что такая форма не остаётся незамеченной. Больше 2-х страниц имеет смысл только если у 10+ лет опыта, претендуете на серьёзные позиции, скорее руководящие.

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

3. В ИТ сфере, могу сказать как работодатель, все вот эти курсы типа SkillBox, SkillFactory, это даже не флажок, а как красная тряпка. Разного рода развлекательных курсов стало дофига и цели большинства - выжать денег из тех кто сомневается в себе. Эксплуатация неуверенности в себе, без итоговой пользы. Если Вы их проходили чисто для себя, не забывайте что это не плюс в резюме для серьёзных работодателей.

4. Если разработчик ищет работу без профиля на Github/Gitlab с хотя бы несколькими хорошо оформленными репозиториями, то он не ищет работу, а симулирует ну или чем-то другим не очень приличным занимается. Потому что даже если твои последние 5+ лет работы были на секретных проектах по разработке AI вирусов для анальных зондов инопланетных захватчиков/ законспирированных разведчиков в непубличных проектах, не требуется много времени чтобы сделать личный пэт-проект и показать владение инструментами и понимание основ оформления кода.

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

#thoughts #it #jobs
В рубрике интересных проектов на данных Open Syllabus [1] проект по агрегации (скрейпингу) учебных программ по всему миру и составлению рейтингов издателей, авторов, книг популярных в разных учебных дисциплинах.

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

Важная особенность - это охват только англоязычной литературы, зато охват очень широкий. На конец марта 2025 года там были данные по :
- 5 691 университету/школе
- 94 076 издателям
- 1 911 596 авторам
- почти 3 миллионам книг и публикаций из которых 1 миллион книг и около 2 миллионов статей

Самая популярная книга глобально - это Calculus авторством James Stewart, а, к примеру, в компьютерных науках это Introduction to Algorithms за авторством T. H. Corman.

Из минусов - создатели проекта явным образом скрыли датасеты которые раньше отдавали и API для доступа к материалам, хотя оно точно было [2], и закрыли код, есть лишь только его остатки за 2016 год [3].

Тем не менее проект остаётся интересным и полезным. Аналогичные проекты на других языках: немецком, испанском, русском, французском и других были бы востребованы.

Ссылки:
[1] https://www.opensyllabus.org
[2] https://johnskinnerportfolio.com/blog/ospapi.html
[3] https://github.com/davidmcclure/open-syllabus-project

#syllabus #openprojects #analytics #dataviz
В рубрике как это устроено у них портал данных Humanitarian Data Exchange [1] это один из порталов открытых данных ООН, он был создан Управлением ООН по координации гуманитарных вопросов для публикации данных связанных и значимых для решения глобальных и региональных гуманитарных кризисов и для координации множества организаций помогающих в предупреждении катастроф и минимизации последствий.

Важное их отличие от других порталов открытых данных - это наличие событийного разреза. Например, в момент начала землетрясения в Мьянме они создали соответствующую страницу события [2] где собраны, на сегодня, 20 наборов данных связанных с Мьянмой. Например, оценка масштабов повреждения зданий [3] с помощью AI на основе анализа спутниковых снимков до и после землетрясения от Microsoft AI Labs или вот данные о финансировании [4] и донорах для организаций участвующих в ликвидации последствий.

Ссылки:
[1] https://data.humdata.org/
[2] https://data.humdata.org/event/myanmar-earthquake
[3] https://data.humdata.org/dataset/myanmar-earthquake-building-damage-assessment-from-3-28-2025
[4] https://data.humdata.org/dataset/fts-requirements-and-funding-data-for-myanmar

#opendata #myanmar #earthquake #ocha #datacatalogs
Читаю работу OpenAlex: End-to-End Process for Topic Classification [1] от команды графа по научным работам OpenAlex о том как они классифицируют научные работы по каким темам и там у них есть иерархическая модель разметки работ по уровням Domains -> Fields -> Subfields -> Topics, причём тем (topics) довольно много и они привязаны все к статьям в Википедии. А вообще они построили свою классификацию через идентификацию макрокластеров [3] сообществ через цитирование. Большая и интересная тема, с понятной сложностью и результатами.

Я на всё это смотрю с точки зрения улучшения классификации датасетов в Dateno [4]. Сейчас в Dateno используется два классификатора. Европейский Data Theme [5] используемый в их портале data.europe.eu, но у него всего 13 тем очень верхнеуровневых и тематические категории (topic category) из ISO 19115 [6] которых 19 штук и тоже без иерархии. Тематические категории используются в каталогах данных на базе Geonetwork и в программе INSPIRE Евросоюза и они применимы к геоданным, в первую очередь.

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

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

Тем не менее своя классификация необходима и её идеальные параметры были бы когда одна тема охватывает не более 10 тысяч наборов данных или временных рядов. То есть если мы имеем базу в 22 миллиона набора датасетов, то тематик должно быть не менее 2.2 тысяч, а ещё лучше не менее 5 тысяч. Тогда пользователь получает возможность быстро сузить поиск до нужной ему темы. Тогда у Dateno появляется ещё одна важная модель его применения, это подписка на появление нужных данных в одной или нескольких узких областях избегая ложных срабатываний при ключевых словах.

Без ИИ тут, кстати, не обойтись и ребята из OpenAlex использовали модель GPT 3.5 Turbo [7] для кластеризации научных работ и подбора названий выявленным кластерам.

Ссылки:
[1] https://docs.google.com/document/d/1bDopkhuGieQ4F8gGNj7sEc8WSE8mvLZS/edit?tab=t.0
[2] https://docs.google.com/spreadsheets/d/1v-MAq64x4YjhO7RWcB-yrKV5D_2vOOsxl4u6GBKEXY8/edit?gid=983250122#gid=983250122
[3] https://zenodo.org/records/10560276
[4] https://dateno.io
[5] https://op.europa.eu/en/web/eu-vocabularies/concept-scheme/-/resource?uri=http://publications.europa.eu/resource/authority/data-theme
[6] https://apps.usgs.gov/thesaurus/term-simple.php?thcode=15&code=000
[7] https://www.leidenmadtrics.nl/articles/an-open-approach-for-classifying-research-publications

#opendata #opensource #dateno #thoughts
Полезные ссылки про данные, технологии и не только:
- Towards Inserting One Billion Rows in SQLite Under A Minute [1] заметка 2021 года о том как высокопроизводительно загружать миллиарды строк а базы SQLite. Актуально для всех кто делает высокопроизводительные системы не имея больших бюджетов.
- GROBID [2] переводится как GeneRation Of BIbliographic Data, инструментарий с открытым кодом по извлечению структурированного содержания из PDF файлов, особенно применяется к научным статьям. Активно используется для извлечения библиографических данных.
- Depsy [3] онлайн база цитирования пакетов с открытым кодом в научных статьях. От той же команды что делает OpenAlex. Этот проект более не развивается уже лет 7, а жаль, но исходный код доступен как и API.
- Cadent Open Data [4] раздел с открытыми данных в Cadent, британской газовой компании. Открытые данные прописаны в стратегии цифровизации и отдельный портал с данными [5] которые раскрываются по регуляторным требованиям и инициативами по data sharing
- Schneider Electric Datasets [6] коллекция наборов данных на портале для разработчиков Schneider Electric. В основном данные по энергопотреблению. Бесплатные, но требуют регистрации

Ссылки:
[1] https://avi.im/blag/2021/fast-sqlite-inserts/
[2] https://grobid.readthedocs.io/en/latest/
[3] http://depsy.org
[4] https://cadentgas.com/reports/open-data
[5] https://cadentgas.opendatasoft.com/pages/welcome/
[6] https://exchange.se.com/develop/developer-resources?source=developerResources&developerResources=Datasets

#opendata #opensource #readings
Для разнообразия, следующим постом опрос Что делать с развитием открытых данных в России? А пока вы ещё не прочитали сам опрос и не начали его проходить, важный вопрос в том что вообще делать. Лично мне, в каком-то смысле, это проще в той части что есть области жизни которым текущая политическая ситуация в РФ не мешает. Не помогает, но и не мешает. И своё любопытство в данных я всегда могу наполнить в Dateno или в Open Data Armenia. Но в России тренды не в развитие открытости. Так что вот такой далее опрос;)

#opendata #russia #polls
В качестве регулярных напоминаний, за долгое время я написал немало инструментов с открытым кодом для работы с данными. За что члены команды меня регулярно ругают потому что основная моя работа искать клиентов и профессионалов в команду, но слишком я люблю работать руками, поэтому разного рода инструментов создал много и часть поддерживаю.

- newsworker - библиотека для Python по автоматическому извлечению новостей из веб страниц. Анализирует структуру веб страницы, кластеризует блоки, идентифицирует элементы блоков, парсит даты и создаёт RSS ленту на основе. Написал это много лет назад и до сих пор использую, но уже не обновляю

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

- undatum - утилита командной строки для обработки данных в форматах CSV, JSON, NDJSON, Parquet, BSON и др. Изначально была цель сделать аналог xsv для NDJSON. В целом получилось и я ей пользуюсь до сих пор, но с недавних пор чаще использую DuckDB из-за значительно большей производительности. Возможно утилиту переделаю однажды.

- apibackuper - утилита командной строки для архивации API. Странно звучит, но да, утилита через API выгружает все данные последовательным перебором и сохраняет их в виде датасета JSON Lines/NDJSON. Активно используется внутри Dateno для сбора метаданных и в Ruarxive для архивации

- metacrafter - утилита и библиотека для идентификации семантических типов данных. Полезна для выявления смысловых полей в датасетах: адресов, названий компаний, кодов типа ИНН, ОГРН, КПП и тд., а также для идентификации персональных данных. Делал я её относительно недавно, умеет она работать и с файлами и с базами данных. Тоже используется в Dateno

- docx2csv - утилита извлечения таблиц из файлов docx. Очень простая и были планы перенести этот код в универсальный дата конвертер.

- pyiterable - библиотека для Python для потокового чтения дата файлов таких как BSON, JSON, NDJSON, Parquet, ORC, XLS, XLSX и XML в том числе сжатых Gzip, Bzip2, ZStandard и другими компрессорами. Используется внутри metacrafter и undatum.

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

#opensource #data #datatools