Ivan Begtin
7.98K subscribers
1.85K photos
3 videos
101 files
4.56K 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
Свежий инструмент Hashnode Rix [1] по модели компаньёна разработчика. Умеет отвечать на вопросы относительно написания кода, На сложные вопросы ответить не может, а на вот такие простые легко.

Уже просто таки даже интересно, когда от supportive AI придёт мода на proactive AI. Пишешь код, к примеру, а тут тебе AI помощник и пишет "Йоу, чувак, да у тебя веб приложение. А кинь мне список страниц что тебе нужны, я сейчас сгенерю" и тд.

Ссылки:
[1] https://hashnode.com/rix

#ai #tools
В качестве регулярного напоминания, кроме всего прочего я за последние лет 15 занимался тем публиковал довольно много кода как открытый код. В основном с надеждой на вовлечение сообщества и, где-то, это получалось, а где-то не очень. Случаев когда получалось и появлялись контрибьюторы довольно много, так что почему бы и не напомнить, на случай если возникнуть желающие воспользоваться и помочь в разработке:

- newsworker - библиотека для Python для извлечения новостей из веб страниц. Один из моих экспериментов с автоматизацией парсинга HTML закончился написанием этой библиотеки которая умеет распознавать даты в любом написании, ссылки и заголовки и текст новости.
- docx2csv - библиотека для Python и утилита командной строки по извлечению таблиц внутри файлов Microsoft Word (.DOCX).
- qddate - библиотека для идентификации дат в любом написании для условно любых языков. Изначально писалась как часть newsworker, потом была отделена. Поддерживает более 300 шаблонов написания дат.
- lazyscraper - утилита командной строки для превращения массивов HTML тэгов и HTML таблиц в таблицы CSV
- russiannames - на удивление оказавшаяся востребованной библиотека для Python и база данных для имён на русском языке и распознаванию стилей их написания. Создавалась из многих открытых источников, полезна, например, для задач когда надо понять в каком формате написано ФИО и что в нём есть что
- undatum - утилита командной строки для работы с разными структурированными данными, в первую очередь JSON lines. Фактически делалось как аналог csvkit для JSON lines, лично я ей пользуюсь ежедневно хотя и её ещё надо и надо допиливать.
- govdomains - база российских госдоменов и ассоциированного с этим кода, да, да, это не только зона .gov.ru, но и многое другое. Делалось изначально для проекта Ruarxive для понимания того что надо архивировать. Список большой, но с 2022 года развиваемый в закрытую по объективным причинам, чтобы не помогать хакерам находить уязвимости.
- metacrafter - утилита и библиотека идентификации семантических типов данных. Поддерживает десятки типов данных собранных в специальном реестре, изначально это был один из внутренних инструментов в продукте Datacrafter
- apibackuper - тоже утилита которой я пользуюсь регулярно, она создавалась для того чтобы архивировать данные предоставляемые через API. Причём всё это делается через простой конфиг файл. До сих пор многие датасеты из API я генерирую с её помощью.
- wparc - утилита архивации содержания Wordpress сайтов через API Wordpress если оно не отключено.
- ydiskarc - утилита архивирования материалов на Яндекс Диске, использует, по большей части документированное официальное API, но не требует к нему токенов или авторизации
- pyiterable - попытка унифицировать работу с данными в разных форматах: CSV, JSON, JSON lines, BSON, в том числе внутри контейнеров архивов. Регулярно сам этим пользуюсь. Изначально был план переписать undatum с использованием этой библиотеки, но руки не доходят.
- datacrafter - облегчённая ETL на Python для работы с открытыми данными, используется в одноимённом проекте datacrafter.ru, аналогично я ей сам регулярно пользуюсь когда надо систематизировать извлечение данных из открытых источников. К ней множество примеров для работы с данными на российских госсайтах.

#opensource #tools #data #datatools
Для тех кто работает с файлами в WARC формате (большая часть сайтов в ruarxive хранятся в нём) ещё одна утилита по работе с ними. Warchaeology [1]. Утилита создана в Национальной библиотеке Норвегии и позволяет:
- конвертировать форматы ARC, WARC и Nedlib
- листать WARC файлы
- удалять дубликаты файлов
- валидировать содержание WARC файлов
- предоставлять оболочку по работе с WARC файлами

Инструмент полезный, может пригодится тем кто любит работать в командной строке. Я также напомню про библиотеку и утилиту командной строки WarcIO [2] с функциями извлечения и пересжатия содержимого WARC файлов и разработанную мной когда-то утилиту MetaWARC [3] которая тоже умеет извлекать контент из WARC файлов и ещё индексировать их в sqlite и считать статистику и даже извлекать метаданные из вложенных файлов.

Больше инструментов полезных и разных! Если Вы знаете хорошие инструменты с открытым кодом для цифровой архивации, пишите нам, будем делать их обзоры.

Ссылки:
[1] https://github.com/nlnwa/warchaeology
[2] https://github.com/webrecorder/warcio
[3] https://github.com/datacoon/metawarc

#tools #opensource #digitalpreservation #webarchives #WARC #software
Забавная утилита для командной строки ai-renamer [1] переименует фотографии в зависимости от их содержимого. Бывает полезно, но... очень многие хранят десятки фотографий одного и того же места или объекта и потом выбирают лучшую фотографию из многих.

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


Ссылки:
[1] https://github.com/ozgrozer/ai-renamer

#ai #commandline #tools
Свежий симпатичный поисковик по смыслам слов semantic grep [1] использует Word2Vec для выборки связанных по смыслу слов и уже их ищет по тексту.

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

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

Лично я большой любитель командной строки и инструментов работы в ней, хороших поисковиков по текстовым файлам всегда нехватает (и всегда много!)

Ссылки:
[1] https://github.com/arunsupe/semantic-grep

#opensource #ai #commandline #tools #data
Полезные ссылки про данные, технологии и не только:
- FOR-species20K dataset [1] датасет результатов лазерного сканирования более 20 тысяч деревьев и идентификация их видов на основе этих данных
- DuckDB Tricks – Part 1 [2] полезные трюки по работе с данными с помощью DuckDB.
- ncWMS Guide [3] руководство по серверу WMS ncWMS, активно используется вместе с серверами Thredds в метеорологии. Начал их активно добавлять в реестр каталогов данных, скоро проиндексируются в Dateno
- Mapbender 4.0 [4] вышла 4-я версия Mapbender, популярного open source геопортала используемого в ЕС во многих странах.
- SuperMap [5] популярный в Китае геосервер, альтернатива ArcGIS. Используется во многих китайских госорганах, компаниях и активно распространяется в южной, восточной и юго-восточной азии. Имеет частичную совместимость с ArcGIS
- Mealie [6] сервер для ведения рецептов, открытый код и импорт из разных источников. Локализован на многие языки включая русский.
- Slackdump [7] архиватор публичных и личных сообщений из Slack'а. Не требует админских привилегий, открытый код.

Ссылки:
[1] https://zenodo.org/records/13255198
[2] https://duckdb.org/2024/08/19/duckdb-tricks-part-1
[3] https://reading-escience-centre.gitbooks.io/ncwms-user-guide/content/
[4] https://mapbender.org/aktuelles/details/mapbender-version-400-released/
[5] https://www.supermap.com/en-us/
[6] https://github.com/mealie-recipes/mealie
[7] https://github.com/rusq/slackdump

#opensource #data #datatools #geodata #geoportals #tools #datasets
Для тех кто любит заниматься дата сторителлингом (журналисты, аналитики) новый полезный инструмент Closeread [1] позволяющий рассказывать истории внутри HTML документов open source системы документирования Quarto [2].

Quarto сама по себе удобная система и я лично давно смотрю на неё с разных сторон и хочу применить в деле. А Closeread ещё и приближает её к задачам рассказывания историй.

И всё это в Markdown, расширяемо, и тд.

А ещё интересно для публикации научных статей, уже есть примеры их подготовки в Quarto и множество шаблонов [3].

Куда ни посмотри, отличный инструмент.

Ссылки:
[1] https://closeread.netlify.app
[2] https://quarto.org
[3] https://github.com/quarto-journals

#opensource #datajournalism #analytics #datadocs #tools
Про уход Notion из России, это, увы, неизбежное и в большинстве уходов хуже всего то по каким критериям большая часть сервисов определяют российскую аффиляцию. Какое-то время назад я переписывался с JetBrains по поводу использования их продукта и задавал им вопросы по поводу использования их продукта не в РФ и может ли компания использовать продукт если кто-то из команды будет иметь доступ к нему из РФ. Ответ был - нет, не может.

То есть даже если компания зарегистрирована в Казахстане или Армении, если даже там работает большая часть команды, в команде есть кто-то кто даже если изредка, но работает из РФ, например, приезжая к родственникам, это может рассматриваться как нарушение условий использования сервиса. Потому что дословно "ни один сотрудник не имеет права использовать продукт из России".

В этом проблема и с Notion, в этом могут быть будущие проблемы с использованием Google Workspace и других популярных сервисов, хостинга и тд, просто по критериям блокировки использования по подключению из сетей аффилированных с РФ.

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

#tools #sanctions #opensource
Ещё один полезный/любопытный инструмент ChartDB по проектированию баз данных [1]. Умеет быстро делать структуру из нескольких SQL СУБД, выглядит простым и удобным. Открытый код AGPL-3.0 [2].

Ссылки:
[1] https://chartdb.io
[2] https://github.com/chartdb/chartdb

#opensource #tools #databases
Со стороны и не скажешь, но всю жизнь я лично был большим фанатом командной строки. Потому что печатать быстрее и удобнее чем кликать в интерфейсе, а визуальное растровое отображение элементов интерфейса нужно, на самом деле, очень редко.

Тем больше меня радует начавшийся ренессанс TUI (Text User Interface) приложений, в виде командной строки или в виде интерактивных, но текстовых, инструментов которые можно запускать локально или на терминале.

Поэтому подборка полезного open source с командной строкой и TUI:
- stu [1] текстовый навигатор (TUI) для корзин s3. Удобно для тех кто любит командную строку и работу с серверами через терминал. Работает на базе движка ratatui [2] для Rust, помогающего быстро создавать текстовые приложения.
- csvlens [3] ещё одна утилита с текстовым интерфейсом для манипуляции с CSV файлами. Тоже на базе ratatui. Кстати, стоит посмотреть галерею других TUI приложения, там много полезного [4]
- goaccess [5] текстовый интерфейс для анализатора логов веб сервера в реальном времени.
- visidata [6] текстовый интерфейс для просмотра табличных данных в разных форматах
- htop [7] альтернатива top, монитору процессов для Unix.

Ссылки:
[1] https://github.com/lusingander/stu
[2] https://github.com/ratatui/ratatui
[3] https://github.com/YS-L/csvlens
[4] https://ratatui.rs/showcase/apps/
[5] https://github.com/allinurl/goaccess
[6] https://github.com/saulpw/visidata
[7] https://github.com/htop-dev/htop/

#cli #commandline #opensource #tools #datatools