Ivan Begtin
8.03K subscribers
1.73K photos
3 videos
101 files
4.43K 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
Полезное чтение про данные, технологии и не только:

Данные
- State of gender data [1] есть такая большая тема - учет гендерных особенностей в системах регистрации статистики, учетных системах или, как упоминают авторы, "data systems". Текст о том что учет гендерных данных недостаточен.
- One Data Point Can Beat Big Data [2] о том что не всё решается большими данными и понимание данных и тщательная их фильтрация, избавление от шума, могут дать больше чем просто расширение источников и объёмов данных
- Making Government Data Publicly Available: Guidance for Agencies on Releasing Data Responsibly [3] руководство о том почему и как публиковать открытые данные от Center for Democracy and Technology. Адресовано органам власти (агентствам) в США, но актуально для всех
- Closing the Data Divide for a More Equitable U.S. Digital Economy [4] о неравенстве в доступе к данным и что с этим делать на примере экономики США. В основном рекомендации для регуляторов. Акценты на том что есть многие сообщества (в нашем понимании муниципалитеты) качество данных по которым невелико и они выпадают из многих госпрограмм поддержки. Тема важная, подход системный, но, конечно, инфраструктура и экономика США от других стран существенно отличаются.

ИИ и умные города
- Why Japan is building smart cities from scratch [5] о том почему в Японии создают умные города с нуля. На самом деле в статье именно на этот вопрос ответа нет, есть рассказ про несколько городов в Японии построенных с нуля. Это интересно, хотя я подозреваю что в Китае в в этом направлении даже больший прогресс.

Технологии и программирование
- Building modern Python API backends in 2022 [6] о структуре и архитектуре современных бэкэндов приложений на Python. Конечно, на самом деле, альтернатив куда больше, но прикладной стек расписан хорошо.
- Ruff [7] очень быстрый проверятель (linter) исходного кода для Python, написанный на Rust. Показывают производительность выше в 10-100 раз чем другие аналогичные инструменты вроде flake8, pylint и т.д.

P.S. Я подумываю выделить рубрику чтение (#readings) в какой-то отдельный формат, например, еженедельную рассылку, в отличие от моей личной рассылки которую я веду не регулярно или же скорректировать личную рассылку (begtin.substack.com) и добавить туда еженедельной регулярности.

Ссылки:
[1] https://data2x.org/state-of-gender-data/
[2] https://behavioralscientist.org/gigerenzer-one-data-point-can-beat-big-data/
[3] https://cdt.org/insights/making-government-data-publicly-available-guidance-for-agencies-on-releasing-data-responsibly/
[4] https://datainnovation.org/2022/08/closing-the-data-divide-for-a-more-equitable-u-s-digital-economy/
[5] https://www.nature.com/articles/d41586-022-02218-5
[6] https://backfill.dev/blog/2022-08-21-modern-python-backends/
[7] https://github.com/charliermarsh/ruff

#opendata #data #government #policy #tech #programming #readings
Подборка интересного чтение про данные, технологии и не только:
- Can We Use AI to Communicate With Animals? [1] может ли ИИ помочь в коммуникации с животными? заметка с материалами исследований по этой теме. Примерами когда ИИ использовался для восстановления мертвых языков и того как в 2017 году с помощью алгоритма распознали трели, чириканье и писк мартышек с 90% точностью [2]. Много ссылок, важная тема. Область где применение ИИ может дать реальное изменение в человеческой жизни (и жизни животных тоже).
- The United Nations E-Government Survey 2022 [3] свежий рейтинг развития электронного правительства от ООН. Только в PDF файлах, поэтому на оценки конкретной страны сослаться сложно. Россия там в группе Very High Tier II, то есть с довольно высоким уровнем развития. Из постсоветских стран лидируют страны Балтии и хуже ситуация в Туркменистане.
- Lawless Surveillance [4] научная статья в открытом доступе об огромном объёме слежки в США, по большей части нерегулируемой и "незаконной". Полезно для понимания как это устроено в США и то что это не ограничено только одной страной, а встречается во многих технологических развитых странах.
- The Era of Fast, Cheap Genome Sequencing Is Here [5] компания Illumina, мировой почти монополист в устройствах секвенирования генома, анонсировали новые устройства в которых обещают сокращение времени секвенирования генома вдвое и не более чем за $200 за один геном. Как это повлияет на развитие рынков? Больше компаний будут предлагать услуги расшифровки, цены за расшифровку генома должны будут снижаться, а больше данных геномов будет доступно.
- Wasabi Technologies Closes $250 Million [6] конкурент Amazon Web Services, компания Wasabi Technologies привлекла раунд в $250M инвестиций и обещают технологический стек с возможностью сокращения расходов на 80% по сравнению с Amazon. Это, в первую очередь, касается облачного хранилища аналогичного AWS S3.

Ссылки:
[1] https://lastweekin.ai/p/can-we-use-ai-to-communicate-with
[2] https://www.spectrumnews.org/news/ai-interprets-marmosets-trills-chirps-peeps/
[3] https://publicadministration.un.org/en/Research/UN-e-Government-Surveys
[4] https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4111547
[5] https://archive.ph/C5eQ2#selection-464.0-464.1
[6] https://wasabi.com/press-releases/wasabi-technologies-closes-250-million-in-new-funding-to-usher-in-the-future-of-cloud-storage/

#tech #readings #un #ai
В рубрике интересных ссылок про данные, технологии и не только:
- This Implant Turns Brain Waves Into Words [1] в журнале IEEE Spectrum об импланте преобразующем мозговые волны в слова на экране. Выглядит как большой прорыв и он основан, в том числе, на нескольких больших датасетов собранных исследователями и объединённых в нейросеть: данные по нейро активности и данные кинематики (движения мускулов) при речи.

Базы данных
- Why is PostgreSQL the most loved database [2] в блоге ByteByteGo о том почему все так любят СУБД Postgres. Если кратко, то многое в ней реализовано и есть немало расширений делающих эту систему ещё лучше.
- RQLite [3] продукт по превращению SQLite в распределённую СУБД. Казалось бы зачем, если есть Postgres, но кому-то нравится. В том числе реализует богатое Data API для доступа к данным.
- Go Performance Case Studies [4] в блоги Dolt внутренние подробности того как их разработчики пишут движок СУБД на Go. Пример того как выглядит технологический евангелизм не от маркетологов, а от инженеров.

Регулирование
- Europe prepares to rewrite the rules of the Internet [5] в Arstechnica о том как европейский Digital Markets Act может поменять экосистемы технологических гигантов, в части регулирования ИИ и многого другого. Косвенными бенефициарами будут и многие другие страны.
- Businesses call for mandatory nature impact data [6] 330 компаний из 52 стран призывают ввести обязательные отчеты для крупных компаний о воздействии их и зависимости от природы и природных ресурсов. Среди подписантов очень много крупных ритейловых, банковых, косметических и строительных холдингов.

Открытые данные
- The open data revolution [7] сэр Nigel Shadbolt, основатель Института открытых данных в Великобритании, рефлексирует над последним десятилетием и будущих годах развития открытости данных.
- Hyperlocal [8] не совсем про открытые данные, но связано с ними, о изменениях на территориях и поселениях на гиперлокальном уровне и принятиях решений связанных с гиперлокальностью

Ссылки:
[1] https://spectrum.ieee.org/brain-computer-interface-speech
[2] https://blog.bytebytego.com/p/ep30-why-is-postgresql-the-most-loved
[3] https://github.com/rqlite/rqlite
[4] https://www.dolthub.com/blog/2022-10-14-golang-performance-case-studies/
[5] https://arstechnica.com/tech-policy/2022/10/europe-prepares-to-rewrite-the-rules-of-the-internet/
[6] https://www.businessfornature.org/
[7] https://theodi.org/article/the-open-data-revolution-sir-nigel-shadbolt-reflects-on-the-odis-first-decade-and-considers-what-the-next-might-hold/
[8] https://www.brookings.edu/book/hyperlocal/

#opendata #opensource #ai #tech #regulation
В The Verge статья [1] о том что Элон Маск собирается перезапустить механизм прямых сообщений в Twitter и дать возможность обмениваться зашифрованными сообщениями, аудио и видео и тд. И даже собираются сотрудничать с командой Signal в этой задаче. Звучит как конкурент как раз Signal, WhatsApp, Telegram (?), но от Элона Маска.

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

Иначе говоря, если Twitter сможет превратиться аналог в Telegram, то у Telegram՛а появится сильный конкурент. Хотя о чём я, скорее Telegram станет ещё более прямым аналогом Twitter'а ;)

Ссылки:
[1] https://www.theverge.com/2022/11/21/23472174/twitter-dms-encrypted-elon-musk-voice-video-calling

#twitter #telegram #tech #privacy
Минцифры РФ через Гостех разродили документ МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ ПРОИЗВОДСТВЕННОГО ПРОЦЕССА РАЗРАБОТКИ ГОСУДАРСТВЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ С УЧЕТОМ ПРИМЕНЕНИЯ ИТЕРАЦИОННОГО ПОДХОДА К РАЗРАБОТКЕ

Он легко гуглится на Tadviser'е и других ресурсах [1].

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

Ссылки։
[1] https://www.tadviser.ru/images/1/1c/%D0%9C%D0%A0_%D0%98%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D0%93%D0%98%D0%A1.pdf

#government #tech #readings
Полезное чтение про данные, технологии и не только:
- Parquet file format – everything you need to know! [1] короткое понятное чтение с примерами и визуализацией о том что такое формат Parquet. Автор активно рекламирует в конце Delta Lake file format от Databricks, но почему бы и нет, почитать про него тоже стоит потраченного времени.

- Dolt 1.0 [2] вышел релиз первой стабильной версии Dolt, базы данных совмещающей интерфейс MySQL и Git и сделанной по принципу git для данных. Лично я бы давно перешёл на Dolt в своих экспериментах если бы там был не аналог MySQL, а аналог MongodB, потому что плоские таблицы пригодны не для всех данных. Но конкретно Dolt очень интересная штука.

- What Happened to the Semantic Layer? [3] хороший текст про текущее состояние технологий semantic layer которые ещё называют "headless BI", автор работает на проектом Malloy в Google для языков запросов и преобразования данных в SQL-совместимых средах, так что без рекламы Malloy там текст не обошёлся, но если вы про Malloy не читали, то почитать точно вреда не будет, у технологии есть перспектива.

- Financing the common good [4] а вот это уже статья не про технологии, а про проблемы финансирования общего блага (common good) в том числе закрепленного в глобальных программах ООН и о необходимости радикальной реформы мировых финансов.

- Chandler Good Governance Index [5] вышел ежегодный индекс качества государственного управления, покрывает 104 правительства стран в мире, на постсоветском пространстве авторы не оценивали только Туркменистан и Азербайджан. Рейтинг составной, в основном учитываются другие рейтинги и опросы с подтверждённой методологией. Например, используется Open Budget Index и рейтинги оценки электронного пр-ва.

Ссылки:
[1] https://data-mozart.com/parquet-file-format-everything-you-need-to-know/
[2] https://www.dolthub.com/blog/2023-05-05-dolt-1-dot-0/
[3] https://carlineng.com/?postid=semantic-layer
[4] https://www.socialeurope.eu/financing-the-common-good
[5] https://chandlergovernmentindex.com/

#readings #data #tech
Интересный текст Silicon Valley’s Civil War [1] от Nadia Asparouhova о контрэлите из Кремниевой долине. Контрэлита, в данном случае, это совокупный образ сверхбогатых техно-олигархов вроде Маска или Цукерберга провопоставляемых условно "классической элите", а в данном случае автор ещё и сопоставляет их с Давосским форумом, как совокупное представление элиты.

В тексте хорошие примеры очень быстрой реакции именно контрэлиты в лице Ryan Petersen из Flexport по личному анализу проблем с доставкой во время COVID-19 и про Patrick Collison, сооснователя Stripe, который в течение недели собрал и раздал грантов на $50 миллионов учёным исследующим COVID-19 и долго ожидающим начала финансирования от National Institute of Health в США.

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

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

Ссылки:
[1] https://www.tabletmag.com/sections/news/articles/silicon-valley-civil-war

#readings #tech
Но есть и хорошие новости, крипто-пузырь сдувается в ноль [1] и, лично я считаю, что это только к лучшему. Удивительно даже как долго этот хайп длился и что у него до сих пор так много фанатов.

Ссылки:
[1] https://www.brookings.edu/articles/crypto-crashes-and-job-slashes-lessons-for-local-leaders-on-building-an-innovation-ecosystem/

#crypto #tech #readings
По поводу глобального синего экрана смерти из-за ошибки в антивирусе CrowdStrike [1] который поразил авиакомпании и тысячи критических инфраструктурных и просто компаний.

Ключевое тут - это хрупкость человечества и расширение списка мест этой хрупкости.

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

Ссылки:
[1] https://www.forbes.com/sites/kateoflahertyuk/2024/07/19/crowdstrike-windows-outage-what-happened-and-what-to-do-next/

#it #tech #thoughts
Ещё немного про всякое сугубо техническое, сейчас в Dateno постепенно идёт переход от индексирования тысяч маленьких порталов с общедоступными данными и метаданными, к охвату крупных каталогов. Ключевое отличие таких крупных каталогов данных в том что необходимо писать скрейперы под каждый индивидуально, а это хоть и несложно, но означает увеличение кода скрейпинга многократно что постепенно будет усложнять сопровождение кода и так далее. Но это не проблема, это вполне измеримая техническая задача.

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

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

А в случае индикаторов, хорошие владельцы таких баз данных всё чаще дают возможность выкачать их целиком в режиме bulk download. Как минимум это ECB, Eurostat, FAO, Ilostat и ещё многие. Данные там почти всегда CSV или сжатые CSV и вот тут то срабатывает магия инструментов вроде duckdb. Во всех ситуациях когда CSVшки в кодировке utf8 и имеют предсказуемые схемы данных, с помощью duckdb можно многократно ускорять их обработку заменяя обработку через датафреймы на прямые SQL запросы к CSV, даже без копирования данных в БД и не строя ни одного индекса.

В общем могу сказать что в роли "дешёвого ETL инструмента для бедных" duckdb работает прекрасно. К примеру DISTINCT по разреженному полю по CSV файлу в 15GB и 22 миллиона записей без индекса отрабатывается на 19.8 секунд. Это в режиме когда совсем без оптимизаций, без преобразований в parquet. А если в parquet преобразовать то, ожидаемо, DISTINCT отрабатывает за 0.5 секунд. Выбор очевиден 🛠 надо использовать!

Например, про данные из другого проекта, если кто-то надумает использовать данные по госконтрактам [1], то они вполне себе читаются с помощью duckdb особенно после преобразований в parquet. Например, jsonl файл с госзаказчиками вполне себе легко преобразуется в parquet после всего операции по преобразованиям занимают сотые доли секунд. В этом смысле единственный недостаток открытых данных из Госзатрат только в том что они сжаты в zip, а если сжать их в gz или публиковать в parquet, то можно ещё и ускорить подготовку данных.

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

Ссылки:
[1] https://clearspending.ru/opendata/

#duckdb #tech #dataengineering #etl
Полезное чтение про данные технологии и не только:
- DuckDB Spatial: Supercharged Geospatial SQL (GeoPython 2024) [1] не для чтения, а для просмотра. Супер лекция про то как работать с геоданными с помощью DuckDB. Очень хочется применить к следующему геопроекту.
- Europe PMC [2] европейский поисковик по статьям в области наук о жизни. Помимо ссылок на статьи, собирают их тексты, анализируют, выдают в результатах много дополнительной извлечённой информации о финансировании, данных на которые есть ссылки в статьях, цитировании и так далее.
- Why CSV is still king [3] автор нахваливает CSV формат за простоту и переносимость, и утверждает что он ещё долгое время будет популярен. Лично я считаю что он ошибается, скорее поддержка parquet или arrow появится в стандартных инструментах. Например, в сохранении из Excel или Google Spreadsheets или OpenOffice. В командной строке и так далее.
- A.I. May Save Us or May Construct Viruses to Kill Us [4] уже не столько про технологии сколько про видение будущего. ИИ может как спасать от пандемии, так и конструировать новые вирусы.
- BENEFICIAL OWNERSHIP TRANSPARENCY ACT, 2023 [5] 31 июля 2024 года, несколько дней назад вступил в силу закон об обязательном раскрытии конечных бенефициаров компаний на Каймановых островах. Видимо стоит вскоре ожидать что эти данные будут открыты и новых расследований?
- Inside Crowdstrike's Deployment Process [6] о том как был устроен процесс деплоймента обновлений у Crowdstrike. Очень поучительно и познавательно, особенно узнать о том что это было не обновление кода, а обновление конфигурации ПО и поэтому не проходило правильный и отработанный процесс тестирования. В общем, в компании забыли что configuration = code.

Ссылки:
[1] https://www.youtube.com/watch?v=hoyQnP8CiXE
[2] https://europepmc.org/
[3] https://konbert.com/blog/why-csv-is-still-king
[4] https://www.nytimes.com/2024/07/27/opinion/ai-advances-risks.html
[5] https://legislation.gov.ky/cms/images/LEGISLATION/PRINCIPAL/2023/2023-0013/BeneficialOwnershipTransparencyAct2023_Act%2013%20of%202023.pdf
[6] https://overmind.tech/blog/inside-crowdstrikes-deployment-process

#opendata #opensource #ai #tech #readings
К вопросу о poor man data engineering, как обрабатывать данные в условиях ограниченных ресурсов с минимальными нагрузками на диск и на оперативную память, в первую очередь.

В работе в Dateno есть задача по добавлению стат. индикаторов в основной индекс и расширение фасетов на данными о частоте обновления индикаторов и временном промежутке который он охватывает (год начала и год окончания). Не у всех датасетов такие метаданные есть и есть особенность датасетов Европейского центрального банка (ECB) в том что для массовой выгрузки доступны сами данные, но не метаданные. Хотя обычно наоборот. А в данном случае можно скачать все значения, а метаданные из них надо извлечь.

Эти значения публикуются в виде коллекции из 108 CSV файлов общим объёмом в 93GB. Это не то чтобы много, но много для статистики и для обработки на десктопе. Первая мысль которая возникает, а не уменьшить ли эти данные в объёме. Можно их сжать, но ещё эффективнее преобразовать в parquet. После преобразования они занимают 664 MB. Это 0,7% от изначального объёма, итого сжатие в 140 раз! Такая эффективность редкость, обычно сжатие в 5-15 раз, но здесь накладывается эффект колоночного сжатия поскольку данные ECB денормализованные, эффективность хранения там уступает полноте публикации и простоте раскрытия.

Далее обработка. Чтобы получить метаданные каждого индикатора надо:
1. Получить список уникальных идентификаторов индикаторов
2. Для каждого ключа сделать запрос одной записи для извлечения метаданных
3. Получить минимальное и максимальное значения временного периода
4. Извлечь год из минимального и максимального значения если период не равен году.

Итого 3 запроса, которые, наверняка, можно было бы оптимизировать до 2-х и которые можно делать напрямую к файлам parquet. Однако ситуация осложняется тем что эти файлы parquet хотя и хорошо сжаты, но могут содержать до 570+ тысяч индикаторов, как это, например, происходит с датасетом Securities Issues Statistics, который в оригинале составляет 19GB CSV файл и содержит 30 миллионов строк.

При работе с этим датасетом, даже после преобразования в parquet, DuckDB "съедает" до 15GB RAM и работает, хотя и быстро, но не так быстро как хотелось бы.

Варианты решения:
1. Попробовать преобразовать данные в базу DuckDB, построить индексы и так обрабатывать. Минус: резко увеличивается объём хранения данных, не увеличивается скорость обработки.
2. Попробовать нормализовать данные и извлекать метаданные из нормализованных баз. Минус: время на преобразование многократно больше времени сбора метаданных из существующих parquet файлов, а также у разных датасетов разная схема данных и требуется потратить больше времени на их анализ.

Варианты с тем чтобы загрузить в какую-то другую СУБД или даже не рассматривались поскольку задача именно в обработке на среднемощном десктопе/ноутбуке и без резкого роста объёмов хранения.

Итоговое решение оказалось очень простым. Специфика запросов в том что они полностью локализованы внутри данных конкретного индикатора.
Но, так повезло, что в этих датасетах индикаторы разделены по группам являющихся странами или территориями, от 8 до 33 в одном датасете и разделять можно по ним. Данные отдельных индикаторов полностью попадают в один из разделённых файлов. И, одна из фишек DuckDB - это очень дешёвое разделение данных с точки зрения скорости и нагрузки на память. До обработки большого датасета через серию COPY TO операций из него создаются десятки меньших .parquet файлов каждый из которых обрабатывается по отдельности.

Итого:
- средняя скорость однопоточной обработки достигает 78 индикаторов в секунду
- потребление RAM не превышает 100MB, а в среднем держится менее 50MB
- потребление диска +664MB, теперь не в 140 раз меньше чем оригинальные CSV файлы, а только в 70 раз, но всё ещё очень и очень мало.

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

#data #thoughts #tech #duckdb #dataengineering