Welcome to my personal place for love, peace and happiness❣️

Later Ctrl + ↑

Планёр Гимли – Gimli Glider

23 июля 1983 года “Боинг-767” авиакомпании “Air Canada” (бортовой номер 604) был неправильно заправлен топливом ☝️

В то время Канада переходила на литры и все стороны, участвовавшие в пересчетах керосина на дозаправку банально облажались.
Итог – в один прекрасный момент самолет на высоте 8000 метров превратился в замечательный 132-тонный, движущийся исключительно по инерции, контейнер. Без двигателей и половины приборов (отключились, поскольку работали от двигателей). Единственное, что работало в самолете – это аварийный ветрогенератор, благодаря которому поддерживалось давление в гидравлической системе. Право, я не знаю, как себя чувствовали 69 обитателей железного ящика, оказавшиеся на такой высоте.
Второй пилот Морис Квинтал, полистав инструкцию, не обнаружил раздела “Что делать, если вырубились все движки, а жить хочется”. Поскольку КВС Боб Пирсон в свое время занимался планеризмом а выбора все равно не было – решили планировать до ближайшего аэродрома.
Проблема была в подсчете скорости снижения – работал только спидометр, который показывал падение скорости от начальных 900 км/ч. На конец полета, скажу сразу, упал до 400 км/ч. Альтиметр (показывающий высоту) отключился. С помощью механического резервного прикинули, что снижаются со скоростью 1,5 км на 19 км полета.
Квинтал сказал, что знает хорошее заведение с блэк-джеком, старую авиабазу неподалеку (примерно 8000 метров вниз и чуть вбок). База называлась Гимли . Квинтал когда-то дембельнулся с этой базы и уговорил командира свернуть к местам боевой славы. Но в тот день у фортуны было игривое настроение.
На поле бывшей авиабазы организация “Виннипег Спортс Кар Клаб” устроила в честь субботы тусовку, с гонками на той самой ВВП. Сама полоса для этих целей использовалась регулярно, в центре даже был разделительный барьер, позволяющий проводить параллельные гонки. По краям полосы народ пил пиво, жарил мясо и всячески наслаждался жизнью, даже не предполагая какой супрайз может свалиться на их головы. В принципе, Пирсон мог в одиночку выпилить весь данный “клаб” из списка существующих организаций.
Не знаю насколько нескучно было в салоне в процессе снижения, но вот дальше началась истинная веселуха. Во первых нужно было выпустить шасси. С этой целью самолет встряхнули. Шасси выпали. Две задние стойки даже встали на замок. Пассажиры, думаю, начали о чем-то догадываться. Появились первые кирпичи.
Для посадки Боб Пирсон использовал (как я понимаю, единственный раз в мировой истории) в процессе посадки большого авиалайнера прием из арсенала планеристов. Называется он “скольжение на крыло”, он же “sideslip”. Эта милая процедура выглядит так: самолет ставится “на крыло” и у пассажиров есть выбор: смотреть в нижний иллюминатор на землю, в верхний на небо, но при этом продолжать срать кирпичами. Нос самолета, кстати, уводится в сторону от курса.Скорость, соответственно, падает до нужной. Состояние пассажиров “от щастья, что они это испытали” не передается описанию.
Уверен, что не меньше кирпичей появилось на аэродроме имени товарища Гимли, когда они увидели аэробус, направляющийся к ним, положение крыльев которого не предвещало, что садиться вообще входит в его планы. Но, в последний момент самолет выровнялся и опустился на полосу. Передняя стойка подломилась и он весело начал приближаться к тусовке автолюбителей. Надо сказать, что в момент посадки скорость была 320 км/ч, так что субботние гонки однозначно выиграл экипаж Пирсон-Квинтал.
Под спецэффекты в виде дымящихся и лопающихся колес, и шлейфа искр из-под гондолы самолет направился к автолюбителям. Чтобы они лучше могли рассмотреть посадку во всех деталях, он подъехал поближе. Как пишут, остановился в 30 метрах от группы встречающих.
Далее все получилось просто и буднично: скинули надувные трапы, выгнали пассажиров наружу, чтобы проветрить салон. Начавшийся пожар потушили автолюбители обычными автомобильными огнетушителями.
Причиной нескольких легких травм, полученных пассажирами, была не посадка. А поспешная высадка из заднего аварийного выхода. Хвост был слишком высоко и при скатывании по трапу банально не хватило высоты.
Квинтал в 1989 года сдал экзамен на КВС и летал на многих самолетах, как уверяют, и на борту №604 тоже. Пирсон в 1993 вышел на пенсию.
Ремонт самолета сделали на аэродроме Гимли за 2 дня. И он своим ходом улетел на базу, где полный ремонт обошелся в 1 млн долларов. Вскоре он вернулся в строй и использовался до января 2008 года.

https://ru.wikipedia.org/wiki/Планёр_Гимли

2 mo   Aircraft
2 mo   big data   Data Mesh
2 mo   big data
2 mo   Database

Открытые данные о перелетах во всем мире

https://github.com/adsblol/globe_history

✈️🗄 Historical data for all aircrafts traces known to adsb.lol. Openly licensed.

https://github.com/adsblol/globe_history/

This is a database for the day of 2023-12-09 of all aircraft known to adsb.lol.
GitHub Release: v2023.12.09-planes-readsb-staging-0
GitHub Download Link: https://github.com/adsblol/globe_history/releases/tag/v2023.12.09-planes-readsb-staging-0
Uploaded on: 2023-12-10
Original Path: /var/globe_history/2023/12/09
Pod of origin: planes-readsb-staging-0

It was made by readsb (https://github.com/wiedehopf/readsb)


This database is made available under the Open Database License:
    http://opendatacommons.org/licenses/odbl/1.0/.
    Attached locally: LICENSE-ODbL.txt

This is made possible by the adsb.lol feeders.
If you want to help, please consider increasing coverage by adding a feeder:
    https://adsb.lol/feed

By feeding adsb.lol, you agree to the extent possible under law,
to waive all copyright and related or neighboring rights to your data, associating your work with the CC0 license.
    https://creativecommons.org/publicdomain/zero/1.0/
    Attached locally: LICENSE-CC0.txt

ps: может понадобиться декодер https://github.com/wiedehopf/readsb

2 mo   Aircraft   big data   Open data

Запускаем Garage S3 в Docker

Создаем проект, просто папку, где все будем хранить:

mkdir garage
cd garage

Создаем файл настроек томл:

nano  garage.toml

Пишем туда этот текст:

metadata_dir = "/var/lib/garage/meta"
data_dir = "/var/lib/garage/data"
db_engine = "lmdb"

replication_mode = "none"

rpc_bind_addr = "[::]:3901"
rpc_public_addr = "127.0.0.1:3901"
rpc_secret = "3e59650cc67421460a80eafc4d45611ebb63a214296d8f32f51135041ff514f5"

[s3_api]
s3_region = "garage"
api_bind_addr = "[::]:3900"
root_domain = "localhost"

[s3_web]
bind_addr = "[::]:3902"
root_domain = "localhost"
index = "index.html"

[k2v_api]
api_bind_addr = "[::]:3904"

[admin]
api_bind_addr = "0.0.0.0:3903"
admin_token = "472070e320469b2f048f77dcad4149e0c608ef01ecf0ac863c416287a1127a9e"

Далее создаем папку для хранения метаданных и самих данных:

mkdir meta
mkdir data

Теперь запускаем docker:

docker run \
  -d \
  --name garaged \
  --restart always \
  -p 3900:3900 -p 3901:3901 -p 3902:3902 -p 3903:3903 -p 3904:3904 \
  -v ./garage.toml:/etc/garage.toml \
  -v ./meta:/var/lib/garage/meta \
  -v ./data:/var/lib/garage/data \
  dxflrs/garage:v0.9.0

Проверяем, что все хорошо:

Для удобства зарегистрируем alias так:

alias garage="docker exec -ti garaged /garage"

Теперь можно запускать команды быстрее.

garage status
==== HEALTHY NODES ====
ID                Hostname      Address         Tags              Zone  Capacity  DataAvail
851017ec5989840f  e3428f26541f  127.0.0.1:3901  NO ROLE ASSIGNED

Добавим роль:

garage layout assign -z dc1 -c 1G 851017ec5989840f
Role changes are staged but not yet commited.
Use `garage layout show` to view staged role changes,
and `garage layout apply` to enact staged changes.

Применим роль:

garage layout apply --version 1 

==== COMPUTATION OF A NEW PARTITION ASSIGNATION ====

Partitions are replicated 1 times on at least 1 distinct zones.

Optimal partition size:                     3.9 MB
Usable capacity / total cluster capacity:   1000.0 MB / 1000.0 MB (100.0 %)
Effective capacity (replication factor 1):  1000.0 MB

dc1                 Tags  Partitions        Capacity   Usable capacity
  851017ec5989840f        256 (256 new)     1000.0 MB  1000.0 MB (100.0%)
  TOTAL                   256 (256 unique)  1000.0 MB  1000.0 MB (100.0%)


New cluster layout with updated role assignment has been applied in cluster.
Data will now be moved around between nodes accordingly.

Можно создавать бакет:

garage bucket create gavrilov 

Bucket gavrilov was created.

Генерируем ключи:

garage key create gavrilov-key

Key name: gavrilov-key
Key ID: GK6d2fd5f2bb22374c2b626fb2
Secret key: 5118548e77dcd660705662f18742e4d9f0cd5d37409c2e3bfa53a50f00e33886
Can create buckets: false

Key-specific bucket aliases:

Authorized buckets:

Добавляем доступ ключей в бакет:

garage bucket allow \                             
  --read \
  --write \
  --owner \
  gavrilov \
  --key gavrilov-key

New permissions for GK6d2fd5f2bb22374c2b626fb2 on gavrilov: read true, write true, owner true.

И последний штрих доступ через web:

garage bucket website gavrilov --allow

Website access allowed for gavrilov

Теперь можно настроить доступ s3 клиента и что то положить в бакет:

mc alias set garage http://localhost:3900 GK6d2fd5f2bb22374c2b626fb2 5118548e77dcd660705662f18742e4d9f0cd5d37409c2e3bfa53a50f00e33886

echo "hello world from s3" | mc pipe garage/gavrilov/index.html

Открываем браузер и смотрим файлик: http://gavrilov.localhost:3902/

ps: На официальном сайте docker запускают с аргументом

--network host

, но у меня почему-то так не работало. Порты закрыты были все. Потом разберусь ¯\_(ツ)_/¯ .

2 mo   Open Source   s3

S3 Storage

  1. Garage – Французский опенсорс для домашнего использования и небольшой нагрузки. Но написан на Rust

garagehq.deuxfleurs Тут можно почитать, как утверждают разраотчики, то это можно напускать даже на тостере :), в прочем они скорее всего правы, учитывая язык разработки.

  1. SeaweedFS – А этот написан на Go. Вот, что они про себя пишут: быстрая распределенная система хранения больших двоичных объектов, файлов и озер данных для миллиардов файлов! Хранилище BLOB-объектов имеет поиск на диске O(1) и многоуровневое облако. Filer поддерживает Cloud Drive, активно-активную репликацию между DC, Kubernetes, монтирование POSIX FUSE, S3 API, S3 Gateway, Hadoop, WebDAV, шифрование, Erasure Coding. Есть хорошее сравнение с другими решениями тут: https://github.com/seaweedfs/seaweedfs#compared-to-other-file-systems. И есть статья на Медиуме

Seaweedfs – part1
Seaweedfs – part2
Seaweedfs – part3

  1. JuiceFS – Кажется китайский софт, написан на GO, есть комьюнити версия и платная для высоконагруженных решений. Подходит для big data.
2 mo   big data   Open Source   s3

Grist – это современная реляционные таблицы как Excel но бесплатные

https://github.com/gristlabs/grist-core

Grist — это современная реляционная таблица Excel. Она сочетает гибкость таблиц Excel с надежностью базы данных для организации ваших данных и повышения вашей продуктивности.
Этот репозиторий, grist-core, является сердцем Grist и содержит все необходимое для запуска мощного сервера таблиц как Excel. Если вы хотите просматривать и редактировать таблицы Excel, хранящиеся локально, вы можете использовать приложение grist-electron для Linux, Mac и Windows. А для отображения таблиц Grist на веб-сайте без какой-либо специальной поддержки можно использовать grist-static, полностью настраиваемую версию Grist, работающую в браузере.
Репозиторий grist-core является основой для всех этих вариантов, а также для хостинг-сервисов таблиц Excel, предлагаемых Grist Labs, компанией в Нью-Йорке (🇺🇸), которая является основным разработчиком Grist, и ANCT Données et Territoires, французским правительственным агентством 🇫🇷, чьи разработчики внесли значительный вклад в исходный код.
Репозитории grist-core, grist-electron и grist-static являются открытыми (Apache License, версия 2.0).

Попробовал. Норм. Простенько и со вкусом. Выглядит качественно.

2 mo   Excel   Open Source

Bacalhau – платформа для быстрой, недорогой и безопасной вычислительной технологии

Частичный перевод https://www.bacalhau.org https://github.com/bacalhau-project/bacalhau и http://expanso.io

https://www.bacalhau.org — это платформа для быстрой, недорогой и безопасной вычислительной технологии, которая позволяет пользователям запускать вычислительные задания там, где данные создаются и хранятся.
С открытым исходным кодом программного обеспечения bacalhau вы можете оптимизировать свои существующие рабочие процессы без необходимости переписывать код, выполняя задачи Docker и веб-ассемблера (WASM) в виде заданий. Эта архитектура также известна как вычисление над данными (CoD).
Название “bacalhau” происходит от португальского слова для треска.

bacalhau стремится преобразовать обработку данных для больших наборов данных, улучшить эффективность и снизить стоимость, а также открыть обработку данных для более широкой аудитории. Наша цель — создать открытую, совместную вычислительную экосистему, которая позволит совершить несравненную коллаборацию. Мы (Expanso.io) предлагаем демонстрационную сеть, чтобы вы могли попробовать работу без установки. Попробуйте!

Почему Бакальхау?
⚡️ Бакальхау упрощает процесс управления вычислительными заданиями, предоставляя единую платформу для управления заданиями в разных регионах, облаках и устройствах на границе сети.
🤝 Бакальхау обеспечивает надежную и устойчивую к сетевым сбоям оркестрацию, гарантируя, что ваши задания будут выполнены даже при сетевых сбоях.
🚨 Бакальхау предоставляет полную и постоянную аудиторскую запись того, что произошло, поэтому вы можете быть уверены, что ваши задания выполняются безопасно.
🔐 Вы можете запускать частные рабочие процессы для снижения вероятности утечки конфиденциальной информации или случайной передачи ваших данных за пределы вашей организации.
💸 Бакальхау снижает затраты на вход и выход, поскольку задания обрабатываются ближе к источнику.
🤗 Вы можете прикрепить свои данные к любой машине, и Бакальхау сможет выполнять задания с этими данными.
💥 Вы можете интегрироваться с сервисами, работающими на узлах, для выполнения заданий, например на DuckDB.
📚 Бакальхау масштабируется для обработки параллельных заданий. Вы можете обрабатывать петабайты (квадриллионы байт) данных.

А вот еще одна статья из рассылки:

В проекте lighthouse, который принимает новые технологии, ВМС США выбрали открытое программное обеспечение Bacalhau, поддерживаемое Expanso, в качестве решения для оркестрации. Программное обеспечение Bacalhau помогает ВМС США достичь своей цели развертывания возможностей искусственного интеллекта в подводных операциях. Совместно с нашим партнером Mycelial, Expanso преодолел несколько препятствий, чтобы позволить использование аналитики с использованием искусственного интеллекта в сложных и суровых условиях глубоководных сред. Bacalhau также соответствовал строгим стандартам безопасности ВМС США, одновременно позволяя доступ к данным и вычислениям по неустойчивым сетям.

Роль Bacalhau в беспилотных морских операциях
Современные военно-морские суда оснащены сложными датчиками и системами, которые повышают их боевую эффективность. Среди них, беспилотные подводные аппараты (UUV) и беспилотные поверхностные аппараты (USV) ВМС США генерируют значительное количество ценных данных, которые необходимы для принятия решений. Bacalhau улучшает возможности вычисления на устройстве этих беспилотных систем (так называемая Compute-over-Data), используя свой инновационный подход к бесшовной развертываемости на краю и предоставляя возможность планировать и контролировать задания из любой точки мира.

Вклад Bacalhau в программу JADC2
Программа Joint All Domain Command and Control (JADC2) Департамента обороны ознаменовала важный шаг в направлении искусственного интеллекта/машинного обучения (AI/ML)-ориентированной боевой готовности. Bacalhau сыграл ключевую роль в этом сдвиге. Bacalhau облегчает развертывание сложных моделей, обслуживание и наблюдаемость развернутых решений и обеспечивает надежное обновление новых версий по мере обучения и доработки. Предоставление глобального обзора и надежной вычислительной мощности может быть особенно сложным при работе с сетями, которые могут отключиться в любое время; Bacalhau platform эффективно решает эти проблемы как часть своего дизайна.
Безупречная интеграция данных

Успех этого проекта зависел от обмена данными по всему флоту беспилотных судов, как управляемых, так и беспилотных, а также в облачных средах. Bacalhau platform, в сочетании с коннектором Kafka Mycelial, обеспечил синхронизацию реального времени и вычисление на устройстве по сетям различного качества и пропускной способности.

Минимальная инфраструктура, максимальная защита

Конвенциональные решения требуют значительных инвестиций в аппаратное обеспечение, тогда как Bacalhau спроектирован на максимизацию эффективности с минимальной инфраструктурой и передачей данных. Если имеется доступная емкость, платформа Bacalhau может работать на существующих устройствах и системах, избегая необходимости новых аппаратных установок. Повторное использование существующих систем в организации также предлагает преимущества, поскольку они были проверены и заданы требования безопасности. Кроме того, в области, где пространство, вес и энергия (SWaP) являются критическими, Bacalhau демонстрирует, что эффективная обработка данных и защита могут быть достигнуты с минимальным использованием ресурсов. Bacalhau работает в гармонии с существующими технологиями, предлагая удобное решение для удовлетворения интенсивных потребностей морских операций.

Bacalhau доступен как открытое программное обеспечение.
https://github.com/bacalhau-project/bacalhau

А вот еще кусочек как можно все проверить и ознакомиться с архитектурой:

Архитектура
Bacalhau — это пиринговая сеть узлов, которая позволяет осуществлять децентрализованное общение между компьютерами. В сети существуют два типа узлов:
Узел-запросчик: отвечает за обработку запросов пользователей, обнаружение и ранжирование вычислительных узлов, пересылку заданий на вычисление узлам вычисления и мониторинг жизненного цикла задания.
Узел вычисления: отвечает за выполнение заданий и получение результатов. Различные узлы вычисления могут использоваться для разных типов заданий, в зависимости от их возможностей и ресурсов.

Узел-запросчик и узлы вычисления вместе образуют пиринговую сеть и используют госспинг для обнаружения друг друга, обмена информацией о возможностях узла, доступных ресурсах и состоянии здоровья.
Чтобы взаимодействовать с сетью Bacalhau, пользователи могут использовать интерфейс командной строки Bacalhau (Bacalhau CLI) для отправки запросов узлу-запросчику в сети. Эти запросы отправляются в формате JSON по протоколу HTTP, широко используемому для передачи данных в интернете.

Установка:

curl -sL https://get.bacalhau.org/install.sh | bash

Этот пример демонстрирует, как использовать stable diffusion на графическом процессоре и запускать его в сети Bacalhau. stable diffusion — это передовое текстовый модельер, который генерирует изображения из текста и был разработан как открытая альтернатива DALL·E 2. Он основан на модели смешения вероятностного типа и использует трансформер для генерации изображений из текста.

bacalhau docker run --gpu 1 ghcr.io/bacalhau-project/examples/stable-diffusion-gpu:0.0.1 -- python main.py --o ./outputs --p "cod swimming through data"

После чего нужно скачать результаты командой

bacalhau get <id>

подробнее тут: https://docs.bacalhau.org/examples/model-inference/stable-diffusion-gpu/

Сам проект: https://github.com/bacalhau-project/bacalhau
Разные примеры: https://docs.bacalhau.org/examples

Сам проверял некоторые, отлично работают и дока хорошая.
Еще хорошо, что такую сеть можно запустить у себя в приватном режиме.

2 mo   bacalhau   big data   CoD   Open Source
Earlier Ctrl + ↓