(no subject)

My livejournal is mostly deadjournal. Treat it as a placeholder to keep the nickname reserved.
I can be found via Skype ID iv_an_ru (chat is more reliable than call).
In addition, I'm visible as iv_an_ru at #swig IRC channel of FreeNode and #dawg of irc.w3c.org
For (a sort of) CV, please refer to ivanmikhailov at LinkedIn.
Google for iv_an_ru to find me at other sites.

(no subject)

Сегодня ночью я процедурой на Virtuoso/PL скомпилировал SHACL-для-SHACL-а в процедуру на Virtuoso/PL, которой проверил, что SHACL-для-SHACL-а действительно в SHACLе SHACL-для-SHACL-а.

Collapse )

Старые добрые 80-е

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

Мы прозвали его "Бабоскоп".

WADA

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

Но это же дурдом полный --- при всех конских расходах на весь этот цирк не найти денег на нотариуса и цифровые подписи, по цене меньше, чем две пробирки заполнить. "Передали копии", "не передали копии" --- это что вообще такое? В 2000-м году в United Bank of Nigeria клиент ставит образец подписи на тачпаде, одновременно отбиваясь пяткой в парадном шлёпанце от лезущего из Лимпопо голодного крокодила --- и через 5 минут образец подписи уже доступен в любом отделении. Сейчас 2019, а у этих гавриков что, Сбербанк-2000? В каком отделении счёт открывали, туда и в пробирки писять ходите, ваших данных больше нигде нет? Серьёзно?

...или это WADA изначально заказало такую систему, чтобы в ней можно было задним числом и левой пяткой писать что угодно?

Детская неожиданность

Намедни bougaev похвастался, какую красивую коробочку он кому-то заготовил под самописцы регистраторы, а мне вспомнилось наше из 90-х, когда регистраторы самописцы были размером заметно побольше. Мы помогали АСУчивать одну котельную, и понадобился стеллаж под десяток с лишним самописцев и всяких преобразователей к ним. Смежники утешили, что у них невесть откуда завалялся готовый, и вскоре появились со стеллажом примерно такого вида, какие нынче в Икее: эдакая решётка из стоек и полок, так что ширина, высота и глубина каждой полки примерно совпадают. Примерка показала, что самописцы встают в эти полки как родные, сантиметр в сантиметр, и что результат был бы хорош всем, кроме одного: стеллаж был на много раз крашен масляной краской самых разных цветов, и краска сбилась-облупилась на разную глубину, отчего вид получился безобразный даже по нищенским постсоветским меркам. С учётом грандиозной общей цены заказа, безобразие надо было бы устранить. Диспут "ещё раз покрасить или старое отскрести" был прерван открытием, что обычный шпатель отламывает окаменевшую отслаивающуюся краску большущими кусками; через полчаса стеллаж обрадовал начальственный глаз голой почти-как-новой фанерой, и проявившейся надписью на рейке над верхней полкой:
Collapse )

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-го года.

The Fall of U.S. Non-Nuclear Primacy

"
США и Россия договорились о смене контроля над сирийским городом Манбидж. После того как оттуда уйдут американцы, там должны обосноваться российские силы, пишет журнал Newsweek со ссылкой на неназванного высокопоставленного представителя Пентагона.

По словам источника, в понедельник войскам США был поставлен 24-часовой дедлайн на выход из Манбиджа. «По сути, это передача», — сказал он. Американцы должны поскорее разобраться со своим оборудованием в городе и уничтожить технику, которую нельзя вывезти, добавил представитель Пентагона.
"

https://www.rbc.ru/politics/15/10/2019/5da50bd79a7947839740af75

В Грузии-2008 "24-часовой дедлайн на выход" приключился только с отдельными американскими советниками. (По непроверяемым источникам, некоторые "особо отличившиеся" при нападении в Осетии на миротворцев в эвакуацию не успели, и они бежали на границу с Турцией; вот только турки получили от Медведева/Путина ультиматум, что их пропуск через границу будет означать вступление Турции в войну; застрявших в приграничном лесу плохишей сожгли вместе со всей зеленью, демонстративным overkill-ом, ОДАБ-ами; Эрдоган этот наш ультиматум без ответа не оставил, но это уже другая история). Теперь, через 11 лет, "24-часовой дедлайн на выход" приключился с целой военной базой. (Добавлю немножко конспирологии: на сцене опять турки, уж не ответка ли это американцам за тогдашнюю грузинскую подставу?)

Безотносительно сплетен и конспирологии, представить что-то такое в 2008 - 11 = 1997 году было абсолютно --- абсо-нафиг-лютно! --- невозможно. А что же будет происходить с американским глобальным присутствием в 2019 + 11 = 2030 году? И самый важный для TWAWKI вопрос --- не захочет ли какой-нибудь псих в Пентагоне напоследок громко хлопнуть дверью, устроив-таки EOTWAWKI?

P.S. Заголовок, естественно, взят в память о знаменитой статье "The Rise of U.S. Nuclear Primacy".

P.P.S. Естественно, разногласия с ядерной державой не могут долго оставаться "100% неядерными":

"...over the weekend, State and Energy Department officials were quietly reviewing plans for evacuating roughly 50 tactical nuclear weapons that the United States had long stored, under American control, at Incirlik Air Base in Turkey, about 250 miles from the Syrian border, according to two American officials. Those weapons, one senior official said, were now essentially Erdogan’s hostages. To fly them out of Incirlik would be to mark the de facto end of the Turkish-American alliance. To keep them there, though, is to perpetuate a nuclear vulnerability that should have been eliminated years ago."

https://www.nytimes.com/2019/10/14/world/middleeast/trump-turkey-syria.html

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