Category: происшествия

Category was added automatically. Read all entries about "происшествия".

404

Линтеры и типизация

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

Надо расстреливать всех, кто не assert len(obj.corns) == 1
расстреливать всех, кто не assert fuzzymatch(obj.color, consts.PINK)
расстреливать всех, кто не assert obj in map(get_top_surface, rainbow.surfaces)
расстреливать всех, кто не assert 0 < abs(relative_speed(obj, rainbow)) < consts.LIGHTSPEED
расстреливать всех, кто не assert relative_accel(obj, rainbow) == 0


При этом для достижения идилии, надо перед началом расстрела надо
расстрелять тех, кто не assert shoot(obj(type=PONY))
расстрелять тех, кто не assert not shoot(obj(type=PONY).append_corn())

При этом для достижения идилии надо проверить, что расстрельные списки проходят yaml-lint, а повторный прогон расстрельной команды больше никого не расстреливает.

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

теоретическая проблема в тестировании мониторинга

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

Но это всё ерунда, и теоретически решается моками проблем (фальшивые сообщения о проблемах или записанные последовательности метрик с признаками проблемы).

А вот следующая задача очень сложна и решения её я пока придумать не могу. Многие проверки мониторинга являются time-dependent, т.е. требуют, чтобы проходило сколько-то времени. "не отвечает больше 3 минут", "повторное оповещение спустя 12 часов" и т.д.

И как это тестировать? У нас многосерверная конфигурация и я не могу просто "замокать время". Ждать 12 часов одного теста - тоже не выход.

Что делать-то? Пока в голове смутно крутится идея о хакнутом qemu с "ускорением всего" - но и в таком виде оно будет медленно (и принесёт немного теории относительности в системное администрирование).

Все идеи welcome here. Задача: проверить алгоритм, имеющий в своём составе задержку, за время, не зависящее от величины этой задержки и значительно быстрее.
404

Полная идентификационная анонимность

Представим себе банк, который предоставляет услуги банковской ячейки. Для идентификации пользователя используется токен. Кто токен показал, тот и имеет все права.

Таким образом:
"Дайте мне содержимое моей ячейки, я 6df7220d6306f63c06048f7da34b78831e50a7f8885a36de4f53c9a026b5e51e"
ничем не отличается от приказа полиции "выдать содержимое ячейки 6df7220d6306f63c06048f7da34b78831e50a7f8885a36de4f53c9a026b5e51e", а другой информации у банка нет.

(Я понимаю, что в нашем мире это нереально, я про саму идею - можешь назвать токен - оно твоё, нет - не понятно о чём идёт речь).
404

выполнение требований ФСБ

Требуется разработать протокол шифрования для мессенджера, который:
1) Позволяет осуществлять p2p шифрование
2) Позволяет расшифровать сообщение с помощью мастер-ключа (per node)
3) Требует использования мастер-ключа размером 32 петабайта
4) Осуществляет расшифровку одного сообщения за примерно 87600 часов машинного времени.
5) Не позволяет распараллелить алгоритм

Дальше, в ФСБ передаются ключи от каждой из 1024 нод.

Требования закона выполнены?
404

рисовальное

Спустя несколько месяцев рисования карандашом попробовал набросать что-то в качестве аргумента на вакоме. Это же ужас и смерть! Как с таким жить-то? У меня ощущение, что руки из задницы 100%, причём там, где на бумаге я не испытываю ни малейших проблем.

Отдельные тренировки?
404

Кластеризация rabbit'а

Я тут почитал документацию - они не пишут это прямым текстом, но оно очевидно вытекает из написанного - rabbitmq без аварий в районе кластеризации может работать только на hard-realtime системах.

Не меньше. Потому что если процесс rabbit'а пропустит тик из-за недоступности ресурсов, то нас может ждать split brain, у которого есть три стратегии: игнорировать, оказывать реанимационные мероприятия крупнейшей части, удалять все меньшие части. При этом если "меньшая часть" не считает себя трупом, то удаляться она не будет. Никакого STONITH, икнуло на сервере - привет, split brain.

А единственный тип систем, в которых икнуть не может никогда - это hard realtime. Все остальные при определённых условиях могут решить, что следующее прерывание будет через 2*net_tick, и мнение юзерспейнутого процесса при этом никого не волнует.

Во всём этом умиляет не наличие таких проблем, а то, что про них пишут почти прямым текстом: "мы не готовы к реальному применению, split brain ahead". При этом на соседней странице - enterprise grade и прочие ценные слова про mature.
404

Перелом баланса

А в какой момент произошло так, что новый софт перестал быть в радость? Я же помню, с каким интересом я ждал загрузки нового с кассеты, дискеты, или даже CD. А сейчас наоборот - новый софт, новая головная боль.

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

А сейчас я два дня искал как мне файл в syslog писать. С inotify'ями. Стопятьсот мегагигасистемобработкилогов одна энтерпрайзнее другой, а чтобы inotify поюзать - этого нет. Зато пачка DSL'ов, вырвиглазный синтаксис и тонны dependencies. Спасибо, новый rsyslog в imfile это умеет. Не умел бы - была бы почти катастрофа.
404

(no subject)

Поскольку в заключении судмедэкспертов указано, что exit code 0, мы отказываемся считать проишествие страховым случаем "неожиданная смерть в результате несчастного случая".
404

Продолжение про задачу трёх тел

Трилогия большая, всё выписать сразу же не получается.

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

С другой стороны, ну о какой индивидуальности мы говорим, описывая экономико-социальные формации в Франции 15ого века? Вот и тут так же. Да, они были, но в целом, общество можно было описать (описывать) очень грубыми обобщающими штрихами, не теряя в точности того, что происходит.

В то же самое время я испытал сильнейшее недовольство election process. В книге есть два момента "выборов" (спойлеры под катом!!!!)

Collapse )