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

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

Куда-то делась беларусская любовь к порядку?

Сначала полиция явно получила приказ не охранять порядок, а охранять Луку.

Потом полиция не послала на три буквы отдавателя такого приказа, а взяла под козырёк.

А в результате произошла очень плохая для страны вещь: некоторых полицейских избили и разоружили. Такого не должно быть. Вот вообще. Я сейчас скажу циничную мысль, за которую мне тут накидают, но для страны было бы лучше, если бы эти полисы кого-то поубивали, но оружие не сдали. Потому что если вот так, то это лишает полицию должного уважения к ней и это придаёт уличным столкновениям карнавальный характер, а при такой массовости это запросто станет трагедией не для Лукашенко, а для страны. Война ведь тоже имеет карнавальный характер.

Преступлением Лукашенко является то, что он старательно создал все предпосылки для такого безобразия.

Дело "Сети" как дуромер

"Показывая силу слабым, ты показываешь слабость сильным". Сажая людей на длительные сроки, но стесняясь при этом даже огласить приговор целиком, государство показывает свою неуверенность в компетентности своей самой разрекламированной структуры --- ФСБ, оно же то самое "Кей-Джи-Би", воспетое десятилетиями работы западной прессы и десятками голливудских фильмов.

В Штатах уже давно проблема с качеством аналитики по бывшему СССР (одно из самых сложных требований к русскоговорящей голове в ЦРУ --- умение сносно выговаривать в словах звук "Ы"). Но всё-таки они не полные идиоты. Они могут отличить способность наших "силовиков" к серьёзной работе от готовности к симбурде и халтуре. (В конце концов, по симбурде и халтуре они и сами консультировать могут.) И прямо сейчас, с учётом разницы во времени, кто-то из них уже оформил несложный вывод и несёт его в первую инстанцию: ФСБ деградировало почти до уровня СБУ, можно начинать работать, проблем будет не больше, чем на Украине.

BIO_reset()



Несмотря на приставку "BIO", это не про биологию, а на 3/4 про программирование, и на 1/4 про жизнь. BIO_reset() --- маленькая служебная процедура, используемая почти в любой программе, имеющей дело с шифрованием. Она командует подсистеме шифрования, что её надо прекратить обрабатывать указанный поток данных, вернуться к его началу, и подготовиться к его обработке, как будто ничего раньше и не было. "Кнопка перемотки на начало", в общем. И её использование не вызывает ни малейших проблем даже для начинающего программиста --- один оператор BIO_reset(X), и можно начинать делать с X какие-то более интересные вещи.

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

Проходят годы, и уже вполне состоявшийся эксперт попадает в бригаду других экспертов, которые уже не первый год пишут проект мирового уровня. И вот в один прекрасный день он вписывает в очередной "шифровальный" кусок старую добрую знакомую BIO_reset(). Но он уже не тот чайник, который не знал про возможность отказа, и не тот "хорошист", который знал, но относился к этому как к непредсказуемому "злому року". Он уже знает про все возможные причины такого отказа и знает, что коллеги-эксперты сделали всё необходимое, чтобы их исключить: через процедуры Азиза не могут проскользнуть неправильные данные, монитор Ивана обеспечил наличие всех нужных ресурсов, Патрик перепроверил все библиотеки, а Пол давным-давно наладил сеть так, что это вошло в мировой стандарт. В таких "тепличных" условиях BIO_reset() правильно сработает всегда. И ещё этот эксперт знает по горькому опыту, чужому и своему, что в любой строчке программы могут случайно оказаться ошибки, в том числе и в строках, предназначенных для обработки отказов. Чем меньше кода, тем меньше и ошибок, и эксперт с чистой совестью пишет BIO_reset() без лишних проверок, зато с комментарием "здесь проверки не нужны, всё заведомо будет в порядке".

Проходит ещё пол-жизни. Тот начинающий я, и тот опытный я, и тот эксперт, только-только пришедший в проект --- они уже в далёком прошлом. Вы представляете, что такое 10 лет в одном программистском проекте, бить лбом одну стену, хоть и в разных её местах? А 15? А ещё побольше? Хо-хо, я тоже когда-то думал, что представляю заранее. Мы уже давно не работаем над проектом, мы живём в нём. Коллеги успевают жениться, развестить, вырастить детей, пережить кто 9/11, а кто три госпереворота в Бишкеке. Кто-то вложился в cтуденческую шарагу под названием, как её, Facebook, но потом решил, что облажался, и убежал оттуда обратно в кэш. В честь кого-то назвали самый лучший сорт марихуаны. Ещё они успевают попасть насмерть под машину, словить рак, ослепнуть... в общем, продемонстрировать не только то, что "человек смертен внезапно", это полбеды, но человек внезапно теряет контроль над "своим" проектом. А вот это уже совсем плохо, ведь из всей моей работы только один этот проект и останется хоть как-то в памяти человечества. Цедерквист --- это который "The Cederqvist", а вот Иван Михайлов --- это который SPARQL в Virtuoso. Будет ведь обидно, если после меня проект начнут курочить менее аккуратно, он начнёт терять нынешнюю красоту и прочность, и обнаружится, что такого риска "попадания в менее заботливые руки" я не предусмотрел.

И с этой подспудной мыслью о рисках будущих десятилетий я вкорячиваю некрасивые нудные проверки после шести BIO_reset()-ов, ещё ни разу не сбойнувших у миллионов пользователей с 2004-го года.