четверг, 25 февраля 2010 г.

С Новым Гадом!

В Украине сегодня "синие" празднуют долгожданную победу над "оранжевыми". А я прочел в Википедии интересный факт:
Оранжевое демократическое движение (англ. Orange Democratic Movement) - крупнейшая оппозиционная партия Кении... Несмотря на явные параллели с украинской Оранжевой революцией, прямой связи между событиями в Кении и на Украине нет. Дело в том, что во время референдума 2005 года графа «за» для неграмотных избирателей помечалась изображением банана, а "против" - апельсина (англ. Orange)

Достоевский

Маринин коллега-англичанин ездил в Москву. У него там брат работает. Почему-то брат не смог встретить в аэропорту, пришлось самому брать такси. Но англичанин подготовился к поездке - он знал, что в России плохо говорят по-английски, поэтому на всякий случай выучил несколько русских фраз:

- Мне нужно проехать туда-то...
- Турист? - хищно улыбнулся таксист.
- Да.
- Ну, садись...

Русский-то выучил, но не спросил у брата, какие цены на такси. Расплата была тяжелой - за такие деньги можно было бы взять кэб из Лондона в Кембридж, наверное. "Ну, до свидания... Достоевский, блин!" - попрощался таксист.

"И только потом я узнал, что одно из произведений великого русского писателя Достоевского называлось "Идиот". Теперь я понимаю, почему таксист так меня назвал!"

вторник, 23 февраля 2010 г.

Упаковка таблеток

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

ASMX и private set

Почти целый день убил на дурацкую проблему. Мой веб-сервис перестал возвращать некоторые данные. Постепенно выяснилось, что из WSDL исчезла часть полей. Перезагрузка IIS, удаление старых DLL не помогали. Оказалось, что я объявил пропавшие поля как { get; private set }, а надо было { get; set }. Смутно вспоминаю, что вроде бы раньше было положено, чтобы и геттер, и сеттер были общедоступны, а потом это отменили. В моем случае поля только сериализуются, десериализацию делать не надо, поэтому вроде как общедоступный сеттер не нужен. Вот я его и объявил private.

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

Нашел описание этой проблемы на http://support.microsoft.com/kb/952883/ (правда, они говорят про internal, а не private, но я думаю, что это неважно). Вот что пишут:

You have a computer that has the Microsoft .NET Framework 2.0 Service Pack 2 (SP2) or the .NET Framework 3.5 SP1 installed. You use an ASMX service method that includes a property, and the property has an internal setter. The serialization may fail (здесь и далее курсив мой - Валик).
...
A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

Т.е. проблема проявляется только на некоторых компьютерах, и не факт, что хотфикс ничего не испортит. Ужас. Этот тот самый тип ошибки, которая страшнее всего для программиста.

понедельник, 22 февраля 2010 г.

Странный мусорный кулек

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

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

суббота, 20 февраля 2010 г.

Обама и реформа здравоохранения

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

А между тем ещё в 2004 году, когда Марина училась в Атланте, они разбирали на уроках эту реформу, которая должна была начаться в 2010 году. Так что на самом деле готовить её начал ещё всеми ненавистный империалист Буш во время экономического бума. Кстати, Маринин профессор тогда говорил, что эта реформа будет катастрофой для Штатов. Ну, поживем - увидим...

пятница, 19 февраля 2010 г.

Surname = Smith

У Марины как бы в подчинении есть data analyst - человек, который должен анализировать данные из разных источников. На самом деле делать он ничего не хочет, а когда Марина пытается на него наезжать, то он сразу бежит жаловаться начальству.

Поэтому Маина на него давно плюнула, и SQL-запросы пишет сама (с моей помощью). Кстати, базы данных она носит домой на специальной зашифрованной флэшке.

Но иногда у аналитика начинают приступы активности. Наверное, когда на работе совсем нечем заняться, и все анекдоты давно прочитаны. Недавно позвал Марину: "Давай будем писать запрос". Написал что-то вроде: SELECT * FROM Patient WHERE Surname = Smith .
- Хм, странно, не работает.
- Smith надо писать в кавычках - подсказала Марина.
- Вау! Действительно! А откуда ты знаешь, ты разве учила компьютерные науки?

А получает он 50 тысяч в год.

Иммигранты часто криктикуют UKBA (британское иммиграционное ведомство) за то, что они непонятно куда девают огромные деньги за визовые услуги. Но между прочим, годовой бюджет UKBA всего лишь 2 миллиарда фунтов - это в 50 раз меньше, чем бюджет NHS!

Ratings by outbrain