Гейзенбаг и Шрёдинбаг

вторник, 6 августа 2013 г.

Вот они и встретились.

У нас в проекте есть модуль А и модуль В. Они разрешаются лицензионными ключами. Каждый модуль может работать независимо от наличия другого модуля, но нужно, чтобы был активен хотя бы один, иначе программе можно вообще не запускаться. Всю жизнь у всех пользователей использовались оба модуля, а тут вдруг (практически, ВНЕЗАПНО), тестировщику понадобился только один из двух модулей. И ему, кстати, повезло ещё и с тем, что понадобился именно второй модуль. Повезло — потому что если убрать ключ на модуль А, то модуль В не включается, и потому что тестировщикам такие случайности очень нравятся. Оказалось, что модули инициализировались тупо по порядку:

Показана часть длинного сообщения. Читать дальше ->

Кстати, про коммунальные услуги

понедельник, 19 марта 2012 г.

Тут один популярный блогер раскритиковал моего любимого Собянина за то, что в Москве грязно. Высказывался в резких выражениях, можно было даже предположить, что это единственная вообще проблема, которая его волнует. Но мы-то знаем, что это не так: не решена проблема с парковками, с пробками, с турникетами в общественном транспорте (когда уже?!) — это только то, что касается пешего и езжего транспорта, и то не всё. Но как минимум за уборку территорий я вступлюсь: на выборах 4 марта всем москвичам давали ещё второй бюллетень, так вот, возле кого галочки поставили — к тем и идите жаловаться. Уборка территории принципиально относится к самым местным руководителям, которые только возможны в федеративном устройстве нашего государства. Жаловаться на лужи тому, кто решает совершенно другого уровня задачи — всё равно, что жаловаться президенту на то, что до́ма окна прохудились. Привыкли, что в Питере сосульки Матвиенко лично лазерами пуляла, панимаишь.

Показана часть длинного сообщения. Читать дальше ->

Про важность статического анализа

воскресенье, 18 марта 2012 г.

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

Вот простой пример:
sub very_bin_integer($) {
    my $length = int(shift) or die "Illegal length";
    my $ret = '';
    for ( 1 .. $length )
    {
        my $n = 0;
        while ( not $n ) {   
            $n = int(rand(9));
        };
        $ret .= $n;
    }
    return $ret;
}
Даже обработка некорректного ввода есть. Кто напишет корректный юнит-тест на эту ошибку — может рассчитывать на пирожок.
Показана часть длинного сообщения. Читать дальше ->

Стратегия

среда, 14 марта 2012 г.

Типичная ситуация: две пенсионерки в автобусе точат лясы. На самом деле, не прав тот, кто никогда их не слушает: очень познавательно бывает. Можно изучать повадки таким незамысловатым способом. Одна пенсионерка села в автобус N24 на остановке "Гостиница Останкино", вторая подсела на следующей, "ул. академика Комарова".

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

Показана часть длинного сообщения. Читать дальше ->

Уберите вора и удивитесь

вторник, 13 марта 2012 г.

Не могу не радоваться локальным московским новостям с тех пор, как этого воришку Лужкова выжили с насиженного места. Как только его уволили (хотя могли бы и посадить, но так тоже неплохо) — сразу нашлись деньги и на плитку, и на метро, и на дороги, и на парковки, и вообще.

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

Если Собянин просидит на этом посту двадцать лет, то, можно не сомневаться, скатится туда же. И тут важно даже не вовремя поймать тот момент, когда он покатится. Просто именно по этой причине весь цивилизованный мир осознал необходимость регулярной смены власти. Чтоб не засиживались и не скатывались.

Вы уже поняли, на кого я намекаю, ведь так? Единственное, чего я не понимаю, так это как можно с этим спорить. Всё же перед глазами, даже гуглить ничего не надо.
Показана часть длинного сообщения. Читать дальше ->

Ненавижу наклейки

суббота, 3 марта 2012 г.

Возвращаться к ведению блога — это всё равно, что начинать с нуля. Попробую начать с чего-нибудь несложного. Ненавидеть — просто. Ненавижу чёртовы наклейки.

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

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

Такие несъёмные наклейки обожают отечественные и китайские производители, а ещё наши местные продавцы. Они почему-то считают, что налепленная на самое видное место нашлёпка с логотипом супермаркета и ценой товара — это то единственное, ради чего я вообще совершал покупку. Что примечательно, у меня есть покупки, наклейки с которых без проблем снимались пальцами. Они были произведены в Европе и Англии, но я даже не хочу пытаться делать из этого выводы.

Высказался — и полегчало.
Показана часть длинного сообщения. Читать дальше ->

Однопользовательская система

пятница, 3 февраля 2012 г.

Вот зачем ему несколько учётных записей?
Я много думал над этим и пришёл к выводу, что многопользовательские системы не нужны. Этот подход должен умереть. Линукс должен эволюционировать до однопользовательской системы, как и Windows, и хз как там у MacOS.

Любой "компьютер" сейчас используется одним человеком. Этот человек настраивает его под себя как хочет и даже отключает запрос пароля при логине в систему, потому что нафиг его каждый раз набирать, если устройством больше никто не пользуется? Я не ввожу пароль на телефоне, когда мне нужно позвонить. И на телевизоре тоже. И даже если мне захочется сделать запрос пароля, мне совершенно не нужно иметь многопользовательскую систему для этого.

Особенно непонятно, для чего нужны многопользовательские ОС на дивайсах типа смартфонов, роутеров, телевизоров и прочих холодильников. Я, конечно, понимаю, что телевизор смотрит больше одного человека, но настраивать несколько профилей на нём всё равно никто не будет.

Показана часть длинного сообщения. Читать дальше ->