Mykola's Patch

Personal blog of Mykola Denysiuk

Никогда не покупайте 3rd party библиотек без исходников

Копался я тут 3 часа в одном неприятном баге, когда делая drag&drop в собственный namespace extension для Windows Explorer в одном случае операция move проходила успешно, а во втором (если бросать элемент на дерево в левой части), Explorer впоследствии пытался удалять только что перемещенный элемент. Это вполне успешно у него удавалось, т.к. для обозначения элементов используются id, а не пути, как при работе с “обычной” файловой системой.

Уже и документацию читал и stackoverflow искал, и разные шаманства, и перебор разных вариантов перепробовал, ничего не помогало. Казалось все это неким voodoo programming, пока я не заглянул в исходники библиотеки (для “легкого построения namespace extensions) и не прочитал комментарии к коду в теле одного из методов объекта, описывающего данные для drag&drop. После этого все стало понятно, т.к. стандартное поведение (с удалением источника после выполнения move) смысл имеет, но точно не в нашем случае.

Вывод: покупать 3rd party библиотеку обязательно надо с исходниками. Никакая документация часто не сможет помочь так, как простой комментарий к коду, написанный авторами самими для себя.

Впечатления от YAC 2012

Вчера, 1 октября, прошла 3я конференция организованная Яндексом, но которой мне удалось побывать… На этом официальное вступление можно считать законченным и дальше пойдут мои несвязные мысли Улыбка

    1. В принципе, впечатления положительные. Из неожиданного, объявление о запуске Яндекс.Браузера, основанном на WebKit, с технологией Opera Turbo, табами, визуально похожими на FireFox и минималистичным интерфейсом. К сожалению, там встроен флеш-плеер, так что моим браузером №1 все равно останется IE 10 Metro (где флеш разрешен только на некотором малом количестве сайтов). Браузер обещали обновлять каждые несколько недель (видимо хотят по номеру мажорной версии догнать Chrome). Забавен тот факт, что браузер разрешили скачивать только в 17.00, чтобы “люди могли послушать и другие доклады не отвлекаясь”.
    2. Самая интересные секции назывались “интернет-математика” и “безопасность”, проходили они в безобразно маленьком зале, туда было практически не пробиться, люди седели в проходе, на ступеньках, даже просто толпились у входа.
    3. Из интересных докладов хочу отметить:
    • Математические модели, которые помогли Яндекс.Пробкам, Михаил Хохлов, Яндекс. Вроде бы никаких сверхъестественных выводов и сенсаций не было, но сам процесс прихода к текущему решению был подан очень хорошо.
    • Новый взгляд на безопасность SSL-соединений в браузерах, Алексей Хлебников, Opera Software. О том, что SSL не всегда является панацеей (как считалось при его создании) и что комплексный подход и анализ рисков могут давать результаты получше.
    • Yet another malware story, Петр Волков, Яндекс. Про способы заражения веб-серверов и дальнейшее распространение малвари.
    • Crawling of Rich Internet Applications и проект «Роботестер», Илья Кацев, Яндекс. Очень увлекательно рассказано про процесс создания инструмента для автоматического тестирования веб-форм, про существующие ограничения и проблемы с этим связанные. Пожалуй, это была одна из самых ��влекательных презентаций, наравне со следующей в моем списке.
    • Test 2.0, Anthony Voellm, Google. О влиянии человеческого фактора (усталости, напряжения, степени знания кода, опыта и уровня разработчика) на вероятность появления багов, появляющихся в новых чекинах/фиксах. Хотя, в данный момент, практическое применение сомнительно, идеи все-таки очень здравые.

Из того, что явно не понравилось, можно отметить очереди-очереди-очереди-очереди-очереди… Из 40 минут отведенных на обед, минут 25-30 приходилось ждать в очереди. Да и вообще вся инфраструктура не была рассчитана на то количество людей, что пришло. Постоянно что-то заканчивалось (чай/кофе/еда/место в зале).

Вот и я с роботом Марвином. Жаль только что не удалось попробовать его в работе (к тому времени, как к нему стало возможным пробиться, то ли батарейка села, то ли просто он завис):

Skype “порадовал”

Последний Skype 5.5 “радует” чрезвычайно. Самый простой способ его закрыть заключается в убийстве через Task Manager, т.к. Jump List они сломали, а искать мелкую иконку в системном трее как-то напряжно:

 

image

 

Что в русской, что в украинской версиях в главном меню пункт “Закрыть” лишь сворачивает программу, а пункт “Выход” работает абсолютно неочевидно для пользователя и, вместо закрытия, делает “sign out”.

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

 

image

 

В том же Windows Live Messenger все куда более понятно и очевидно, можно даже насильственно выйти из программы на каком-то другом компьютере:

image

Яндекс.Метрика