Ivan Begtin
7.99K subscribers
1.77K photos
3 videos
101 files
4.49K 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 [email protected]
Download Telegram
Если ты знаешь один трюк, рассказывать его нельзя. Если ты знаешь сто трюков, то можно рассказать хоть про три (с)

Недокументированные API - это те API веб сайтов которые существуют и дают доступ к данным/сервисами, но по какой-либо причине явно не документированы владельцем сайта. Это то о чём я раньше читал лекции и недавно упоминал их в контексте презентации Paul Bradshow для дата-журналистов [1]. Журналисты расследователи и дата журналисты используют их достаточно часто. Я лично регулярно сталкиваюсь с этим в задачах архивации сайтов, создания датасетов "из ничего" и в Dateno при индексировании каталогов данных.

Есть несколько трюков в их поиске которые, как оказывается, широкой публике малоизвестны:
1. Многие сайты разрабатываются так что возвращают разный контент на передаваемые заголовки "Accept". Достаточно делать запросы с заголовком "Accept: application/json" чтобы обнаружить что веб страница может быть и JSON документом. Например, сайты на базе движка Blacklight используемого в архивном деле и для ведения цифровых коллекций материалов.
2. У стандартизированных CMS множество стандартизированных интерфейсов о которых владельцы сайтов могут ничего не подозревать. Не совсем "недокументированное API", скорее плохо документированное API по умолчанию. Оно есть пока владелец сайта явным образом не найдёт где его отключить или не предпримет специальных мер по его сокрытию. Явный пример, /wp-json/ у Wordpress, а также множество других примеров в менее известных CMS. На многих порталах открытых данных каталог данных доступен по ссылке /data.json даже если на сайте ссылки на него нет.
3. Разработчики API тоже люди и думают шаблонами и даже на проде оставляют доступ к API через стандартизированные интерфейсы во внутренних ссылках или поддоменах вроде префиксов документов вроде api и api-dev и в виде внутренних ссылок /api, /api-dev, /rest и ещё с десяток других.

Когда надо найти API конкретного сайта то трюков гораздо больше. Главное чтобы такое API реально существовало😉

Ссылки:
[1] https://t.iss.one/begtin/5662

#opendata #data #tricks #readings
В качестве мини-хобби, очень мини, я время от времени систематизирую ссылки по темам в жанре awesome list на Github с некоторой надеждой что над этими списками не я один буду работать. Надежды, как правило, не оправдываются, за редким исключением.

Список Awesome Digital Preservation, за время существования всего 14 лайков. У цифровой архивации мало фанатов, увы.

Или, например, у меня есть список Awesome Open Data software с ПО и стандартами по работе с открытыми данными. Почти всё ПО из реестра каталогов данных в Dateno, плюс ссылки на форматы файлов и стандарты обмена данными. Звездочек маловато, всего 24, не самая популярная тема.😜

Или вот Awesome Data Takeout со ссылками на сервисы получения всех своих данных из онлайн сервисов. 54 звезды, тоже, очень мало.

Для дата журналистов Awesome data journalism со списками инструментов для визуализации и не только. Набрало, 178 звезд, давно не обновлялось.

Russian Awesome Open data каталог источников открытых данных по РФ. Составлялся очень давно, как-то собрал 200 звездочек, уже практически не пополняется. Вместо него развивали datacatalogs.ru

Побольше в Awesome Forensic Tools с подборкой ресурсов в задачах цифрового дознания. Набрало 472 лайка при том что я почти не прилагал усилий по его пополнению, только один раз собрал всё вместе.

И, наконец, Awesome Status Pages собравшее 2738 лайков. Активное настолько что утомляет, сплошным потоком разработчики создают очередные сервисы проверки и публикации статусов сервисов и используют всякую маркетинговую мишуру чтобы их продвинуть. Дважды предлагали выкупить у меня эту страницу. Чувствую зря я её не продал;)

В общем-то по настоящему выстрелило только последнее, хотя списки составлять я лично люблю. Списки это же частный вид таблицы, можно ещё жанр завести. Awesome table of <something>, но в форматы Github'а или Telegram'а они плохо укладываются. Но может найдется близкий интересный формат

#opendata #datajournalism #data #digitalforensics #readings #thoughts
Подборка полезных ссылок по данным, технологиям и не только:
- Sparrow [1] движок для извлечения данных из документов и изображений, использует LLM, открытый код под GPL
- Genealogy of Relational Database Management Systems [2] хорошо нарисованная история создания баз данных, полезно для преподавания этой дисциплины. Минус только в том что она 2018 года и последние разработки не охватывает, плюс в том что большая часть фундаментальных трендов охвачена c 70х годов.
- Hamilton [3] ещё один движок с открытым кодом для преобразования данных. Выглядит неплохо, распространяется под BSD лицензией.
- Meaningful metrics: How data sharpened the focus of product teams [4] о том как устроены метрики в Duolingo. Полезное про то как устроены метрики в массовых технологических продуктах, а заодно является ответом на вопросы о том почему Duolingo устроено именно так как оно устроено.
- Bigtable transforms the developer experience with SQL support [5] анонс поддержки SQL в Bigtable. Кажется "а что тут такого?", а как сильно помогает в пользовательском опыте работы с данными там.

Ссылки:
[1] https://github.com/katanaml/sparrow
[2] https://hpi.de/fileadmin/user_upload/fachgebiete/naumann/projekte/RDBMSGenealogy/RDBMS_Genealogy_V6.pdf
[3] https://github.com/dagworks-inc/hamilton
[4] https://blog.duolingo.com/growth-model-duolingo/
[5] https://cloud.google.com/blog/products/databases/announcing-sql-support-for-bigtable

#opensource #dataengineering #dataproducts #metrics #readings
Полезные ссылки про данные, технологии и не только:
- Classifying all of the pdfs on the internet [1] автор проанализировал 8TB PDF файлов собранных через Common Crawl и использовал Llama-3-70B для их классификации.
- Loss Rider [2] библиотека для визуализации Line Rider диаграм. Наглядный импакт!
- quarto-live [3] расширение для Quarto добавляющее интерактивности для R и Python примеров. Хорошо подойдёт для любых онлайн учебных курсов.
- A Gentle Introduction to GDAL Part 8: Reading Scientific Data Formats [4] лонгрид про обработку научных геоданных HDF и NetCDF с помощью GDAL. Выглядит полезным
- LOTUS [5] движок для запросов к запросов к Pandas с LLM

Ссылки:
[1] https://snats.xyz/pages/articles/classifying_a_bunch_of_pdfs.html
[2] https://github.com/jndean/LossRider
[3] https://r-wasm.github.io/quarto-live/
[4] https://medium.com/@robsimmon/a-gentle-introduction-to-gdal-part-8-reading-scientific-data-formats-1a1f70d5388c
[5] https://github.com/stanford-futuredata/lotus

#opensource #readings #llm #ai
Читаю научную статью Relationships are Complicated! An Analysis of Relationships Between Datasets on the Web [1] от команды Google Datasets из которой немного больше понятно о том как устроен их Google Dataset Search и не могу не отметить насколько неглубоко они погружаются в тематику того чем занимаются и с насколько небольшими датасетами метаданных работают. В этом случае они работали с датасетом с метаданными о 2.7 миллионов наборах данных.

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

Но, почему я лично считаю их статью неглубокой:
1. Кроме базовых стандартов вроде DCAT, Schema.org и других есть куда больше более сложных стандартов публикации данных, особенно научных, где эти взаимоотношения прописаны куда чётче.
2. Взаимоотношения датасетов, по хорошему, это предмет онтологического моделирования и дополнения/расширения/адаптации DCAT
3. Более сложная эвристика не только и не столько в анализе названий, как это делают авторы, а в общих схеме/структуре данных между датасетами, пересечение по содержанию и тд.

Правда работ в этой области не так много, но от ребят из Гугла я ждал большего.

Когда у меня только начинались мысли про Dateno изначально желание было с запустить процесс постоянного обогащения метаданных чтобы сделать поиск насыщеннее: больше фильтров, лучше связи между данными, больше понимания их содержимого и тд. Но, случайно, получилось собрать быстро много датасетов и по прежнему не покидает ощущение что их слишком мало. Данных всегда мало!😜

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

Ссылки:
[1] https://www.semanticscholar.org/paper/Relationships-are-Complicated%21-An-Analysis-of-on-Lin-Alrashed/97e3cfd5a6cf88f2b1887c5fefc76b528e92f23b

#opendata #datasets #google #dateno #readings
Please open Telegram to view this post
VIEW IN TELEGRAM
TF05_ST_06_Advocating_an_Inter66cf6ad8f1a90.pdf
688.5 KB
Для тех кто интересуется международной повесткой регулирования данных International Decade for Data (2025-2035) under G20 sponsorship [1] доклад одной из рабочих группы при G20 с предложением по продвижению десятилетия данных под эгидой G20 и основных направлениях.

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

Ссылки:
[1] https://www.t20brasil.org/media/documentos/arquivos/TF05_ST_06_Advocating_an_Inter66cf6ad8f1a90.pdf

#opendata #data #policy #readings
Полезное чтение про данные, технологии и не только:
- Founder Mode [1] "Режим основателя", текст от Пола Грэхема о том что часто важно чтобы основатели стартапов оставались вовлечёнными в бизнес, а не переводили его в режиме менеджмента. Вроде как очевидно, но мысль и канва рассуждения полезны чтобы освежить эту истину.
- How a startup feels [2] как ощущается жизнь в стартапе, текст от Benn Stancil, хорошо написано и просто таки ощущается. Перекликается с текстом Пола Грэхема.
- Art of Finishing [3] "Искусство завершать" , тоже полезный, уже с более техническим взглядом у автора, про то что надо доделывать то что надо доделывать применительно к программной инженерии.

Ссылки:
[1] https://paulgraham.com/foundermode.html
[2] https://substack.com/home/post/p-148046562
[3] https://www.bytedrum.com/posts/art-of-finishing/

#readings #startup
Ещё один полезный для чтения текст Open Source is not a Business Model
[1] в сторону продвижения Fair Source [2] как открытие кода с ограничениями не мешающими на нём зарабатывать.

Лично я считаю что Fair Source - это модель вполне имеющая право на существование. Станет популярной - хорошо, не станет - тоже хорошо.

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

Ссылки:
[1] https://cra.mr/open-source-is-not-a-business-model
[2] https://fair.io

#opensource #readings #softwaredevelopment
Полезное чтение про данные, технологии и не только:
- The Modern CLI Renaissance [1] о том как инструменты командной строки переживают ренессанс будучи переписанными, в основном, на Rust. Тоже наблюдаю эту картину и что тут скажешь, хорошо что это происходит.
- Nvidia and Oracle team up for Zettascale cluster: Available with up to 131,072 Blackwell GPUs [2] полным ходом гонка ИИ кластеров. Oracle и NVIDIA запускают в начале 2025 г. кластер на 2.4 зетафлопса, сравнивать сложно, это просто много
- Android apps are blocking sideloading and forcing Google Play versions instead [3] Google начали внедрять в андроид функцию установки приложения через Google Play если ты пытаешься поставить его из другого источника. То есть если ты из внешнего магазина загружаешь приложение которое есть в Google Play то тебя обязывают ставить то что в Google Play.
- Google will now link to The Internet Archive to add more context to Search results [4] Google теперь даёт ссылки в результатах поиска на Интернет Архив вместо их собственного кэша, на который они ранее ссылки удалили. Надеюсь они при этом дали денег Интернет Архиву, потому что как бы их не за ддосили.

Ссылки:
[1] https://gabevenberg.com/posts/cli-renaissance/
[2] https://www.tomshardware.com/tech-industry/artificial-intelligence/nvidia-and-oracle-team-up-for-zettascale-cluster-available-with-up-to-131072-blackwell-gpus
[3] https://arstechnica.com/gadgets/2024/09/android-now-allows-apps-to-block-sideloading-and-push-a-google-play-version/
[4] https://9to5google.com/2024/09/11/google-search-internet-archive-wayback-machine/

#software #data #google #android #readings
В качестве полезного чтения свежий доклад State of AI report 2024 [1]. Много любопытного не только про ИИ, но и про датасеты для машинного обучения и прогресс в исследованиях с помощью ИИ.

Ссылки:
[1] https://www.stateof.ai/2024-report-launch

#ai #reports #readings
В рубрике полезного чтения про данные, технологии и не только:
- G7 Toolkit for Artificial Intelligence in the Public Sector [1] руководство от стран G7 по созданию и эксплуатации доверительного ИИ в госсекторе. Иначе говоря рекомендации госслужащим по работе с ИИ.
- Data’s Role in Unlocking Scientific Potential [2] обзор инициатив и набор рекомендаций о том как доступность данных для учёных меняет науку в США. Если коротко, то больше открытости - больше науки.
- The Age of AI Nationalism and Its Effects [3] о стремительном развитии ИИ национализма
- Interesting startup idea: benchmarking cloud platform pricing [4] любопытная идея для стартапа, сравнение расценок облачных платформ. Не знаю насчёт стартапа, но проблема есть, без сомнения.

Ссылки:
[1] https://www.oecd.org/en/publications/g7-toolkit-for-artificial-intelligence-in-the-public-sector_421c1244-en.html
[2] https://www.scsp.ai/wp-content/uploads/2024/10/Datas-Role-in-Unlocking-Scientific-Potential-Paper.pdf
[3] https://www.cigionline.org/publications/the-age-of-ai-nationalism-and-its-effects/
[4] https://blog.pragmaticengineer.com/spare-cores/

#opendata #ai #ideas #readings
Подборка полезного чтения про данные, технологии и не только:
- How we built a new powerful JSON data type for ClickHouse [1] статья от Павла Круглого про реализацию нового типа JSON в ClickHouse. Много подробностей и можно предполагать что новые фичи и этот тип стоит опробовать. По моему опыту ещё совсем недавно ClickHouse резко проигрывал DuckDB в разборе/импорте любого типа JSON документов. В общем надо тестировать, если всё так хорошо как написано, это может быть альтернативой MongoDB
- GERDA - German Elections Database [2] научный онлайн проект с базой по выборам в Германии с 1953 года. Доступно в виде наборов данных и пакета для языка R.
- Why techies leave Big Tech [3] почему технари покидают бигтехи? Да много почему, где-то увольнения, где-то стагнация и тупики в карьере. Автор пишет про основные причины и о том почему не надо так в бигтехи стремиться. Лично я для себя вообще не представляю что могло бы подтолкнуть там работать (ну если только бигтех не придёт с большим кошельком инвестиций в наш стартап Dateno, но это совсем другая тема)

Ссылки:
[1] https://clickhouse.com/blog/a-new-powerful-json-data-type-for-clickhouse
[2] https://www.german-elections.com/
[3] https://newsletter.pragmaticengineer.com/p/leaving-big-tech

#readings #data #datasets #opendata #careers #bigtech
Хорошая статья в Системном блоке про судьбу ABBYY, их продукта Compreno и научного подхода в переводе текстов [1]. Если вкратце, то судьба печально, LLM ИИ пожирают мир. Я помню в 2010-х разговоры про Compreno как люди вовлеченные в этот проект его расхваливали, но вживую его так и не успел попробовать, а теперь уже и непонятно зачем.

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

Вот я вам приведу пример, у нас в Dateno десятки миллионов карточек датасетов и далеко не у всех есть привязка к категориям, не у всех есть теги, не у всех есть геометки и тд.. Можно вложить усилия и категоризировать их вручную, а можно натравить одну или несколько LLM и проделать эту работу. Можно ещё на несколько задач LLM натравить и будет ещё больший эффект, вопрос лишь в цене запросов или развертывания open source LLM.

А что говорить про задачи онтологического моделирования во многих исследовательских проектах. Я всё жду когда появятся научные статьи с тезисами вроде "Мы заменили команду из 10 онтологов на LLM модель и результат был не хуже".

Ссылки:
[1] https://sysblok.ru/blog/gorkij-urok-abbyy-kak-lingvisty-proigrali-poslednjuju-bitvu-za-nlp/

#thoughts #readings #ai