TW: нудный гик-стафф про бытовую технику.
Кофемашина в какой-то момент не включила индикатор переполненности контейнера для жмыха. Это странно, поэтому я стал разбираться. Вообще, техника редко глючит непонятным образом и ведет себя хаотично. Всегда есть какая-то причина. При отладке программы это тоже надо всегда помнить.
Как машина узнаёт, что контейнер полон? Никак. У контейнера есть герконовый датчик, показывающий факт его установки в корпус. Когда ты его вытаскиваешь, машина думает, что ты его очистил. А дальше программа просто знает, что одинарный кофе наполняет контейнер на X, двойной на 2X, а вместимость nX.
Что произошло: я открыл контейнер посмотреть, заполнен ли он целиком. А потом закрыл обратно, не очистив. В оценке уровня жмыха появилась аддитивная погрешность.
Если позволить человеку ввести систему в неправильное состояние, он рано или поздно это сделает. Кстати, по той же причине мне нравится DDD как архитектура для энтерпрайз разработки: если всё правильно спроектировать, то программист слоя приложения, который является "пользователем" домена, не сможет сломать состояние сущностей и агрегатов.
В общем, в машине не хватило защиты от дурака. Как бы я решал эту задачу? Сходу приходит в голову какой-нибудь оптический датчик в верхней части контейнера. В худшем случае он запачкается и сработает ложно-положительно, что вызовет необходимость для пользователя лишний раз почистить контейнер.
Но ТРИЗ намекает нам на другой подход. Можно попробовать полностью исключить появление жмыха. Так устроены, например, капсульные машины. У нас такая была, но перешли на зерновую, потому что вкусный качественный кофе в зёрнах на порядки дешевле, чем в капсулах, а пьем мы его много. Особенно кофе с молоком, для которого в капсулах просто концентрат, а не настоящее молоко.
Если исключить жмых нельзя, то нужно сделать его удаление неотъемлемой частью процесса обслуживания машины. Думаю, я бы попробовал объединить конструктивно контейнер для зёрен и для жмыха, и рассчитать объёмы так, чтобы второго хватило на один цикл траты первого. Тогда даже датчики не нужны: кончились зёрна, и ты неизбежно достаешь контейнер и очищаешь.
Сфоткал для вас чашечку ароматного капучино.
#life
47.8 миллионов километров дорог распознано в картах Bing и выложено Microsoft онлайн в виде открытых данных под лицензией ODbl [1]. В данных совсем нет Китая, Японии, Кореи, Папуа Новая-Гвинея.
Но Россия есть, и обитаемая зона её не так велика как географическая.
Все данные в формате TSV, сжатый объём около 10GB.
Ссылки։
[1] https://github.com/microsoft/RoadDetections
#opendata#datasets#microsoft
В рубрике как это устроено у них могу сказать что для меня открытие этого года в том сколько спешно-успешно распространяются сервисы для доступа к геоданным на базе спецификации STAC (SpatioTemporal Asset Catalogs). Я как раз обновляю реестр каталогов данных Dateno и у меня сервисов поддерживающих спецификацию STAC накопилось уже 168. Скорее будет больше. При этом изначально я их классифицировал как отдельное ПО, потому что большая часть сервисов были на базе референсных реализаций, а правильнее классифицировать как протокол, а ПО определять иначе. Например, после появления расширения STAC для Geoserver (ПО с открытым кодом для создания OGC совместимых API, используется по всему миру)
Особенность спецификации STAC в том что из нее сложно преобразовывать в другие спецификации и отсюда сложность в индексации в Dateno. То что обычно называют датасетом в STAC называется каталогом, в рамках этого каталога публикуются ресурсы охватывающие территорию заданную этим каталогом, но в разные промежутки времени (еженедельно, ежедневно, ежечасно и тд). В результате внутри одного набора данных могут быть тысячи и миллионы файлов. Рассматривать ресурсы как отдельные наборы данных будет некорректно, а как отображать карточки с таким числом файлов непонятно.
И, кстати, перечень каталогов STAC сервисов на StacIndex неполон, у нас в реестре Dateno полнее будет, а в живой природе их сильно больше потому что, как я упоминал, он теперь поддерживается расширением GeoServer'а, а этих инсталляций в мире очень много.
P.S. Кстати, у Роскосмоса тоже есть открытый STAC каталог, с декларируемыми примерно 200ТБ данными. Явление необычное при нынешнем тренде в РФ на закрытость.
#opendata#geodata#datasets
GlobalBuildingAtlas набор данных по всем зданиям в мире, общим объёмом в 36 терабайт. Опубликован в апреле 2025 г. , доступен для полной выгрузки и как сервис WFS. Под лицензией CC-BY-NC 3.0 (свободное использование для некоммерческих целей)
#opendata#datasets#geodata
Ещё одна важная находка, оказывается облачные LLM'ки вполне неплохо научились восстанавливать данные из графиков. Причём в разных формах и разных стилях. Это даёт довольно существенные возможности по превращению PDF отчетов и презентаций в таблицы с данными.
Слишком многие данные вот таким образом закопаны в официальных отчётах. А теперь можно их "выковыривать" гораздо более универсальными способами.
#data#datasets#llm
В рубрике интересных проектов на данныхGeoSeer [1], поисковая система по геоданным, а конкретнее по точкам API по стандартам WFS, WMC, WCS по всему миру. Я писал о нём год назад [2] и в течение года ни раз обращал внимание.
Из интересного:
1. 3.5 миллиона проиндексированных георесурсов/геоданных
2. За деньги доступно API для поиска
3. Любопытная статистика по охвату [3]
4. Дают расширенное описание георесурсов с учётом его геохарактеристик (области, атрибутов WFC/WMS и др.) [4]
Из особенностей:
- более 60%, примерно 2 миллиона записей - это геоданные Германии. Для сравнения в Dateno 4.4 миллиона георесурсов из которых к Германии относятся 1.89, это около 43%.
- реестр источников не публикуют, вернее обещают доступность только через API при платном тарифе
- фасетного поиска нет, только достаточно простой язык запросов
- поскольку индексируются WMS, WFC, WCS и WMTS то охватывает гораздо больше точек подключения в этих стандартах, но не охватывает все остальные геоданные, на порталах открытых данных и в каталогах ArcGIS и не только.
Разницу между GeoSeer и Dateno можно описать так:
1. ✅В Dateno есть публичный реестр всех источников, он не скрывается, любой желающий может скачать его как датасет [4].
2. ✅В Dateno есть много открытой статистики [5]. Она пока мало визуализируется, но с ней можно работать.
3. ✅В Dateno есть быстрый фасетный поиск и фильтрация по странам/территориям и другим критериям
4. ✅Dateno агрегирует геоданные из порталов неохваченных GeoSeer поскольку они не по стандартам OGC.
5. ❌Пока в Dateno нет охвата любых источников геоданным по стандартам OGC
6. ❌Пока в Dateno нет расширенного вывода метаданных для георесурсов
В целом пересечение индексов GeoSeer и Dateno в части геоданных около 60-80%. GeoSeer для проекта выглядит как хороший референсный проект для проверки полноты собственной базы.
Ссылки:
[1] https://www.geoseer.net
[2] https://t.me/begtin/5071
[3] https://www.geoseer.net/stats/
[4] https://github.com/commondataio/dataportals-registry/
[5] https://github.com/commondataio/dateno-stats
#opendata#datasearch#datasets#geodata#spatial
http://wla.berkeley.edu/~cs61a/fa11/lectures/streams.html
In this chapter, we continue our discussion of real-world applications by developing new tools to process #sequential#data. In Chapter 2, we introduced a sequence interface, implemented in Python by built-in data types such as #tuple and #list. #Sequences supported two operations: querying their length and accessing an element by index. In Chapter 3, we developed a user-defined implementations of the sequence interface, the Rlist class for representing recursive lists. These sequence types proved effective for representing and accessing a wide variety of sequential #datasets.
#typescript#ai#analytics#datasets#dspy#evaluation#gpt#llm#llmops#low_code#observability#openai#prompt_engineering
LangWatch helps you monitor, test, and improve AI applications by tracking performance, comparing different setups, and optimizing prompts automatically. It works with any AI tool or framework, keeps your data secure, and lets you collaborate with experts to fix issues quickly, making your AI more reliable and efficient.
https://github.com/langwatch/langwatch