Tags: rdbms

(no subject)

It is with great sadness that I have to inform you about the passing away of Paul Nieuwdorp.

May Paul's soul rest in eternal peace.

He will never be forgotten.

(no subject)

Жил да был сайт с одной бесплатной базой знаний, я на него по работе регулярно ходил, а поскольку нас таких ходячих было много, а сайт бедный, он регулярно падал и лежал от секунд до многих минут, непредсказуемо. Лучше б они его сделали платным, но ведь лицензии и т.п. Для нашей истории важно, что пока сервис лежал, вместо данных показывалась мультяшная картинка, на которой два чувака ковыряются в кишочках суперкомпа, а когда сервис уже (неспешно) поднимался, показывалась другая картинка, где два чувака всё доделывают.

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

А вторую картинку подправить забыли. И теперь всё выглядит совсем неполиткорректно: cначала африканец с бабой долго и безуспешно ковыряются, но потом вместо них появляются китаец и явно славянская рожа, и через секунды всё начинает работать.

COVID-19 datasets

Better late than never --- people are preparing datasets about "corona".

Collapse )

lod.openlinksw.com/fct and lod.openlinksw.com/sparql , uriburner.com , dbpedia.org/sparql , bio2rdf.org/sparql are all under unusually high load. If something is jammed or in brownout we'll try to recover soon, bu we can't promise 100% uptime. If you need them for works other than healthcare-related and you emit complicated queries or just lot of queries, please consider using your own Virtuoso instance. If you are learning SPARQL, please don't use these services as sandboxes these weeks, Virtuoso Open Source can be installed locally in few minutes and let you use your own data sets in many ways other than just SPARQL.

For complicated debugging cases, I have some spare double- and quad-Xeons, some of them right at home. So if you report your case to tech. support and indicate there that it is about HCLS and ping me directly via skype iv_an_ru I can make a user account for you at my own boxes to debug your case in four hands.

P.S. Despite all "public" activities like LOD and Bio2RDF, OpenLink Software is a business, not a charity. If you want to donate then please donate to the right HCLS people, not to us. If you want to support us, just visit https://www.openlinksw.com/ and buy a good product for a good price.

(no subject)

Вот и до нашей конторы добрался коронавирус. Хорошо, что не самолично, а в виде вала работы у клиентов --- медиков и фармы, отчего добавилось и запросов к нам. Плохо, что мы от этого не разбогатеем, так как если уж техподдержка оплачена, то оплачен фикс, не зависящий от объёма работ, а если речь о бесплатной версии, то там тоже фикс, только он ещё чаще равен $0.

Поскольку в сутках не 26 часов, а максимум 25, я исчезаю из ЖЖ на неопределённое время. Всем всего наилучшего, и не хворайте.

(no subject)

Повадился ездить на программистские сборища в футболке с вот этой картинкой:

(картинка была стянута в неведомые времена со скуля, копирайт не мой, не знаю, пригодна ли она для коммерческого использования)

(no subject)

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

Collapse )

WADA

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

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

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

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