Публікації

Показано дописи з 2005

Очень хочется отдохнуть...

Зображення

Анекдот

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

Я знаю два подхода к покупкам

Как делаю я: Например, мне надо купить DVD/CDRW Combo. Что я делаю, учитывая что я программист и у меня дома и на работе практчески безлимитный интернет? Правильно: по дороге домой, заезжаю в супермаркет и вместе с 2 кг картошки и булкой хлеба, покупаю себе нужное устройство. Результат: Дорого. Оно далеко не самое лучшее. Зато без головняков Как делает мой ТАВАРИЩ: Например, нам надо купить 4 ноутбука. Уже 2 недели 4 человека читают интернет, объездили все магазины в Киеве (спалили литров 100 бензина), перещупали все хоть отдаленно похожее на ноутбуки. Каждый день появляются новые варианты, некоторым ноутбуки уже сняться. Результат: Когда ноутбуки будут - они будут самые лучшие. Скорее всего они будут бесплатно. Я лично уже на ноутбуки смотреть не могу. И нервно дергаеться левый глаз.

Незачёт

На днях один камрад сказал что мне незачёт, так как ничего нового в блог не пишу. Подумал я, и решил что все 3 человека, которые меня читают действительно имеют право на объяснения. :) Дело в том, что времени у меня сейчас очень мало. Я меняю работу. Ухожу из компании ИЛС-Украина в другую хорошую компанию. Важно то, что "другую хорошую компанию" создаю я сам. Точнее, не сам, а с очень сильной командой. Это дает возможность надеяться на то, что игра все таки стои свечь. Все это занимает очень много времени, и писать в блог совсем некогда. Обещаю исправиться.

Хороший художник

Зображення

Анекдот

Здравствуйте, в эфире программа "Очумелые ручки" и сегодня мы с вами будем собирать газотурбинный двигатель. Для этого нам потребуется две бутылки водки емкостью 1л. и разобранный газотурбинный двигатель.

Кто накурился?

Зображення
Нашел на http://fishki.net

Что такое workflow?

What is Workflow, and why bother? Workflow, of course, is one of those deeply overloaded terms that hinders communication as often as it helps, so I’d better say what I mean by it. Workflow comes down to just two ideas: that there is work to do, which a workflow sees as opaque units of behavior; and flow, which describes what work gets done when. So is this a Workflow?....... Пост Дейва Грина

Tracing APIs in .NET Framework 2.0

В .NET Framework 2.0 Trace API немного расширили. То что я почитал, пока мне не особо поравилось: A Tracing Primer – Part I - is a simple introduction to the tracing APIs. A Tracing Primer – Part II (A) - talks mainly about filtering events A Tracing Primer – Part II (B) - talks about developing custom trace listeners (plugins that will channel your trace events to wherever you desire). A Tracing Primer – Part II (C) - talks about some details of who the configuration files are interpreted.

Тапочки с подсветкой

Зображення
Для того, чтобы Вы смогли адекватно оценить эту идею, скажу что у меня дома коридор имеет ширину где-то 1.1 м. Спальня в одном конце коридора, туалет в другом. Выключатель (чтобы свет включить/выключить) - возле туалета. А я иногда вечером, пью с друзьями пиво... И в коридоре стоит велосипед дочки...

Если раньше доставалось в основном самолетам,..

Зображення
...то теперь птицы взялись за наземные виды транспорта:

Двойная проверка на null

Тот кто изучал исходники CLR, или писал многопоточный код много раз видел подобный код: if (a == null) lock (this) { if (a == null) a = new A(); } Лично я, когда увидел его впервые, был удивлен двойной проверкой. Но, подумав, понял зачем это надо. Ведь пока мы ждали блокировки (это могло быть достаточно длинное ожидание, в случае, если объектом this владел кто-то другой), кто-то мог уже изменить переменную a. Сегодня, в одном весьма нетривиальном коде, мне пришлось еще одну вариацию написать: if (a == null) Interlocked.CompareExchange(ref a, new A(), null); Суть почти та же, что и в предыдущем примере. Почти, потому что есть несколько отличий: Нет блокировки потоков (все помнят что функции Interlocked работают гораздо быстрее, чем использование Monitor -ов). Объект A может создается после первой проверки, но до второй. Это означает, что он может создаваться лишний раз и потому такой вариант не подходит, если это создание имеет побочный эффект. Второй вариант очень полезен...

Турецкие бани?

Зображення

Идти или не идти?

Зображення

DBNull и Binding

В .NET 1.1 часто боролся с биндингом, и с тем, что он очень не любит когда свойство в контроле имеет тип унаследованый от ValueType и, как следствие, не может хранить в себе значения null, а из набора данных приходит null, или того хуже - DBNull. Обнаружил, что в 2.0 пацаны из Редмонда сделали легкое движение рукой и теперь эти штаны уже на что-то похожи. Читать надо про свойства класса Binding NullValue и DataSourceNullValue . Помним, что оба этих свойства работают только тогда, когда Binding.FormattingEnabled == true.

Иногда размер имеет значение

Сделать мечту реальностью? Иногда для этого существует несколько способов!

Бьерн Страустрап (Bjarne Stroustruр), один из разработчиков языка C++: Я всегда мечтал о том, чтобы работа с компьютером была не сложнее пользования телефоном. Моя мечта стала реальностью. Теперь я уже не знаю, как пользоваться всеми возможностями своего телефона.

Вот вершина, которую надо покорить!

Зображення

Это - супер

Зображення

Если Alwaуs - это прокладка,..

...то что должно произойти при нажатии кнопки "Alwaуs on toр"?

Собака...

.... - это инструмент собаковода, с помощью которого он гадит на детской площадке.

Если она - водитель...

Зображення
...этого шевролера, то действительно - есть о чем подумать!

Сотрудник решил купить мотоцикл.

Зображення
Думаю первое время приспособа ему понабится:

Набрел на какой-то "Native .NET managed code download rule engine, case study"

Надо будет почитать на досуге...

Для настоящих автомобильных фанатов...

... мебель в виде автомобилей . Честно говоря, думаю что барные стойки и диванчики обеспечили бы большой успех какому-нить придорожному ресторанчику.

Анекдот

Мужик в сексшопе: - Покажите мне эту куклу... - Пожалуйста... - А дата производства какая??? - Январь 2005. - Козерог??? Не, не подходит...

Ходили на пикничек, на День Независимости

Зображення
Нашли какую-то лужу на Виноградаре и там отчаянно отдыхали. Фотоотчет 1. Только приехали, разложили стулья и запустили испытателя: 2. Пока дамы томятся в ожидании мяса... 3. ... мужчины пытаются что-то делать, чтобы мясо появилось: 4. Но, оказывается, не все принимают одинаковое участие в подготовке праздника. Некоторым досталась задача потяжелее: 5. Что-то уже горит: 6. Можна пока отдохнуть: 7. А вот и шашлык! И чего это он такой зеленый? 8. За тщательным соблюдением церемонии сжигания мяса следит самый старший мужчина: 9. Те, кто помоложе, или страдают лишним весом, отдают предпочтение активному отдыху: 10. Пришла пора перекусить: 11. Довольные и уставшие ждем транспорт домой:

Надпись для плаката

Стрелять нужно старательно нацелясь. Случайно в цель попадают только сперматозоиды.

Гугль жжет!

Зображення

Google Talk

Сегодня попробовал пообщаться в новой Гуглевой системе GoogleTalk. Из офиса, по выделеной линии качество звука очень хорошее, надо будет попробовать из дома по dial-up. А вообще, очень понравилось - просто и красиво. Весит всего 900 кб.

Бытует мнение,...

...что в названии вина "душа монаха" слово "душа" - это ДЕЕПРИЧАСТИЕ!

Хорошо попутешествовал...

Набрел на блог какого-то Andres-а , а у него там вроде "отчет о путешествии". Фотки классные.

БЛОГ Microsoft Regional Director (MSRD)

Антон Смольянинов открыл свой блог, и собирается там писать о новых продуктах/событиях и прочих интересностях. Уже есть пару хороших статей. http://blogs.gotdotnet.ru/personal/msrd/

Вот какие машинки, оказывается,...

Зображення
... по Киеву ездят: А я думал, такие действительно, только в кино бывают!

Электрическая зависимость

Вчера в 21.00 у меня дома кончилось электричество. Сразу в полный рост показала себя зависимость от него: телевизор не работает, музыки нет, ничего не видно! Читать при свечах стремно - жалко глаза. Даже чаю попить тяжело, чайник не работает, пришлось на газовой плите, в кастрюльке.... Пиво которое я принес из магазина, очень быстро подняло температуру в холодильнике до температуры пива и в результате не охладилось... Тоска! Хорошо что через полтора часа электричество появилось обратно.

Самый важный человек в софтверном проекте. Кто?

Кто самый важный в комерческом софтверном проекте? Менеджер? Архитектор? Веселый юморист - душа компании? Пессимист, ставящий под сомнение любое решение? Рядовые программисты-работяги? У меня во время одного такого проекта появилась мысль, что самый важный - человек, который постоянно помнит о поставленой цели и пытается к ней идти. Каждый день, каждый час пытается сделать хоть полшага. И если видит, что все остальные подобного рвения не проявляют, тщательно следит за ними и периодически напоминает что надо идти (Спасибо, Таня)... Вот без таких, любой, даже самый талантливый коллектив, это хорошая компания умных людей, а не команда. Интересно, бывает так, чтобы вся команда обладала такими качествами?

Вернулся из отпуска

Теперь буду что-то писать

Как найти хорошего специалиста

Некоторые компании решают этот вопрос достаточно интересно и оригинально. Например, студия Артемия Лебедева сделала такой шаг: Вакансия технического дизайнера в Киеве Нашел это не сам, а подсмотрел тут .

Ехайте к нам

Зображення
Спамеры прислали письмо. Приглашают ехать в Турцию (Кемер). Отдохнуть в 5-звездочном отеле "Ламера": Как думаете, чего я так не хочу ехать?

Гм... Вот это дневник

Бродил по блогам (кнопочкой Next Blog ) и нашел вот такой: BABE-O-RAMA Не то чтобы я его теперь себе в ссылки записывал, но дневник достойный, правда немножко 18+.

Особенности словянского менталитета

Зображення

Приклееный монитор

Какие-то пацаны, взяли монитор и приклеели его к стене. Теперь этот монитор висит и каждый желающий может через интернет выводить на него надписи отсюда . Поигравшись с этим делом и понаблюдав за своими сокамерниками, заинтересовался вопросом: у каждого из нас перед носом стоит монитор (а перед некоторыми - два!). На них можно писать что угодно! А на том, приклееном, почему-то интереснее...

Судя по всему, падонки уже и автоматы обслуживают

Зображення

Честная вывеска

Зображення

Китайская притча

Как-то раз к великому китайскому мыслителю Конфуцию пришла в гости очень образованная по тем временам леди и задала ему вопрос: - Скажи, Конфуций, почему когда женщина имеет много любовников, то её подвергают общественному порицанию, а когда мужчина имеет много женщин, то это повышает его общественный статус и прибавляет авторитета. Прежде чем ответить Конфуций молча заварил чай и разлил его в шесть чашек. - Скажи, - спросил он её после этого - когда один чайник льёт заварку в шесть чашек, это нормально? - Да. - ответила женщина. - Вот видишь! - усмехнувшись ответил Конфуций - А когда в одну чашку сливают сразу шесть чайников, то это не просто ненормально, а, к тому же, противно и противоестественно...

WebBrowser control (.NET Framework 2.0)

Кто знает как в этом чуде технической мысли очистить документ? Грубо говоря: показать пустую страницу, которую мы видим в нем сразу после старта.

Да здавствует ЕВРО-2

Верховна рада приняла закон «О некоторых вопросах ввоза на таможенную территорию Украины транспортных средств», в соответствии с которым с 2006 года в Украине будет запрещена первая регистрация автомобилей не соответствующих Евро 2. Это означает, что нельзя будет ввозить и производить у нас не отвечающие до этим нормам машины. А ведь, ЕВРО-2, это и катализатор и лямда и еще много чего другого...

Во дают!

Из сайта Magnolia-TV: Президент США Джордж Буш во время велосипедной прогулки в Глениглсе столкнулся с дежурившим неподалеку от площадки для гольфа полицейским. Как сообщает ForUm, президент отделался несколькими царапинами на руках, а полицейский доставлен в местную больницу. Никаких изменений в программу пребывания Буша в Глениглсе на саммите "большой восьмерки" этот инцидент не внесет.

Нам дали еще одну секунду

Есть такой комитет "International Earth Rotation and Reference Systems Service". Так вот, в этом году они решили добавить к 2005-му году еще одну секунду. То есть, правильный часы должны показывать время так: 31-е декабря 2005 года 23:00:58 31-е декабря 2005 года 23:00:59 31-е декабря 2005 года 23:00:60 (!!!!) 1-е января 2006 года 00:00:00 Подробнее тут .

Закончилась обкатка

Вчера у меня наступил праздник: закончился период обкатки машины. Вчера же я попробовал на что способен 100-сильный двигатель Nissan Almera. Результатом очень доволен! Но, смею Вам доложить, что за время обкатки (месяц) так привык ездить спокойно, что полеты над дорогой на бреющем меня теперь "не вставляют". Попробовал вчера, погонялся километров 5, и опять еду спокойно. Може оно и лучше так?

.NET Framework SDK 1.1 + .NET Framework SDK 2.0 Beta 2 на одной машине

Так как я использую такую конфигурацию рабочего ноутбука, мне очень не нравился тот факт, что после установки второго фреймворка, DbgClr от первого перестает отлаживать "смешанные" процессы (то есть, процессы, которые вроде как Win32, но потом подгружают в себя .NET сборки, например как COM-объекты). Сегодня нашел, казалось бы очевидный выход из ситуации: оказывается DbgClr от 2-го фреймворка прекрасно отлаживает то, что компилируется в первом. Выход: использовать дебаггер от 2-го фреймворка постоянно.

Просили лимузин? - Получите!

Зображення

Хороший сайт, во всех отношениях

Official Formula 1 Website: http://www.formula1.com/ И красиво оформлен, и хорошо подобран материал, да и тематика!!!

Как ASP.NET 2.0 программеру накликать себе беду

Если Вы пришете под ASP.NET и рискнули попробовать 2-ю бету да еще и в реальном комерческом проекте, то я Вам уже удивляюсь! Вы наверное и за рулем не пристегиваетесь? Вы не такой? Вы до сих пор боитесь писать под .NET платформу, думая что это еще слишком свежий и непровереный софт? А вот я пишу под .NET... И решил попробовать ASP.NET 2.0, правильно, В РЕАЛЬНОМ КОМЕРЧЕСКОМ ПРОЕКТЕ!!!! Хороший мальчик.... Сидим мы значит уже вторые сутки, - пишем. Завтра или послезавтра - надо все показывать заказчику. И тут мне становится интересно: а что это за кнопка такая " ASP.NET Web Administration" в менюхе Web Site в студии. Зашел, посмотрел - так и есть: Администратор! Можно все рулять... А что это за кнопочка "Take Offline"? Нажимаем.. Бац! Администратор пропал. Более того, ни один ASP.NET 2.0 сайт не работает. Вот.... Как лечить, спросите? А вот так: Сначала 2 часа читаем тырнет, рвем на башке оставшиеся волосы и стучим головой об стену. А потом, открываем файл C:\WINDOWS\...

А еще...

...в Gmail-е появилась поддержка русского языка для интерфейса. Может она уже давно там есть, я только заметил :)

Давно не писал

Как я когда-то писал: Google Suggest , ребята из Google - рулят. Кроме уже отмеченных сервисов: Suggest, Maps, Blogger, Gmail, теперь еще и Google Earth . Тут я вообще в ауте!

Размещение файлов ASP.NET проекта в файловой системе а не на Web Server-е

Исправлено. Что меня всегда доставало в Visual Studio.NET, еще начиная с версии 2002, так это ее желание хостить файлы проекта ASP.NET прямо на Web Server-е. Оно конечно не сильно мешает в разработке, но если у меня есть сложная система и веб-приложение это только ее небольшая часть, то, как минимум, некрасиво когда части проекта нельзя сложить в одну иерархию папочек. Решил я это дело побороть. Не описывать саму борьбу, опишу только результат: 1. Создать новый ASP.NET проект так как хочет студия (у меня VS.2003) - на Web Server-е. 2. Скопировать все файлы проекта в ту папочку где мы хотим их поселить (при этом папочки _vti_* можно просто удалить). Я копирую вместе с папкой. 3. Перенастроить в настройках IIS путь для виртуальной папки таким образом, что проект по-прежнему находился. 4. Удалить файл .csproj.webinfo 5. Открыть файл .csproj и поменять строчку ProjectType = "Web" на ProjectType = "Local" 6. Если скопировали и *.sln тоже, то в нем надо помен...

Нервные люди на дороге

Еду сегодня на недавно купленом Nissan Almera (Пробег 400 км, то есть, еще 1200 км обкатки. Во время обкатки сказали не разгорятся резко и не крутить дрыгатель больше 2500 об/мин). На перекрестке пришлось несколько сбросить скорость, потому двигаюсь в среднем ряду 40 км/час. Плавно разгоняюсь. В этот момент, на багажник вылазит старенький космич и начинает отчаяно мигать фарами (правый ряд занят, левый свободен). "Че мигает", думаю, "перестроился бы в левый да ехал спокойно!". Но может ему в среднем нравится? Или решил, раз я - на иномарке, то должен пролетать в правом? Короче, учитывая тот факт, что я уже почти догнал едущую в моем ряду фуру, и то, что он так просит, - перестраиваюсь в левый ряд. Космич сразу же перестраивается за мной и продолжает мигать. Перестроиться вправо я уже не могу (фура), а ускориться не позволяет обкатка. Включаю правый поворот, но скорость не увеличиваю - начинает сигналить (кстати, громкая к москвичей дудка, однако). Тут уж я не выде...

Ноутбучные кнопки

Если Вы следите за моими сообщениями, то помните жалобы на поломавшийся ноутбук. Пока мой будут чинить, взял "на поюзать" другой. Особой остроты "очучений" доставляет то, что мой ноутбук был творением конторы "Toshiba", тогда когда этот - "HP". Из этого различия возник вопрос: почему до сих пор не ввели стандарт на размещение кнопок на клавиатуре? Сколько раз можно каждый раз переучиваться?

Попытка upgrade-а вылезла боком

Вчера попробовал заменить одну 512 Мб планку в ноутбуке на 1 Гб. Память не подошла :( Но неприятности на этом не закончились. Сразу после этого, лаптоп стал включаться не раньше чем с попытки 20-ой. Power Led загорается и все... Тишина... Похоже даже POST-тест не проходит. Вырубить можно только отключив от сети и выдрав батарею. Абыдно!

Код ошибки в Exception

Был когда-то в нашей команде DMSF очень горячий спор о том, следует ли в Exception -ах добавлять код ошибки, как например, у SqlException . Сегодня нашел замечание по-этому поводу в блоге Krzysztof Cwalina . Выдержка: Do not return error codes. Exceptions are the primary means of reporting errors in frameworks. The chapter overview section describes the benefits of exceptions in detail. Annotation (Krzysztof Cwalina): It’s ok for exceptions to have a property returning some kind of error code, but I would be very careful about this also. Each exception should carry two main pieces of information: the exception message explaining to the developer what went wrong and how to fix it and the exception type that should be used by handlers to decide what programmatic action to take. If you think you need to have a property on your exception that would return additional error code, think who this code is for. Is it for the developer or for the exception handler? If for the developer, add addi...

Тонкий рассчет

Шумный американский университетский городок в центре большого города. Один русский, приехавший трудиться по контракту в какой-то лаборатории, пашет каждый божий день с 8 утра и до упора. Спустя некоторое время, служащий небольшого автосервиса в этом самом городке подошел к менеджеру и сообщил о странном, говорящем с акцентом клиенте, который вот уже в течение двух месяцев каждый день ставит автомобиль на замену масла и подкачку шин в 8 утра и забирает ее поздно вечером. Служащему это кажется подозрительным. Менеджер сам начинает наблюдение за подозрительным клиентом. Через месяц, окончательно созрев, он просит этого клиента зайти в офис, где просит объяснить его странное поведение. Клиент отказывается, менеджер настаивает. Когда босс уже хочет вызвать полицию, чтобы сдать им "подозрительного арабского террориста", клиент начинает "колоться": - Я русский специалист, работающий по контракту кажд...

Дальше сидеть на диете не имело смысла...

Зображення
Лучше уже Рубенсовские толстушки!

В русских селениях, оказывается, есть не только женщины, но и мужики!

Зображення

MS Indexing Service 3.0

В одном из проектов я успешно использовал MS Indexing Service (тогда еще 2.0) для полнотесктового поиска. Но оказывается, "тема мною не раскрыта"! Использовал я его абсолютно по-ламерски. А только что нашел статью, где быстро, кратко и ясно: Your free search engine – Microsoft Indexing Server

Можно ли узнать, какая сборка будет загружена вызовом Assembly.Load() не загружая сборку?

Похоже, что нельзя... Учитывая динамическую натуру Fusion, когда практически все можно перенастроить и изменить порядок поиска сборок. Особенно в том слкучае, если кто-то подписался на AppDomain.AssemblyResolve и там подменяет сборку... Есть комментарии?

Вот какие игровые компьютеры нынче делают:

A 20GB hard drive, high-def game support and a 500MHz ATI graphics processor: Glimpse the Xbox 360's system performance specifications as provided by Microsoft. Custom IBM PowerPC-based CPU • Three symmetrical cores running at 3.2 GHz each • Two hardware threads per core; six hardware threads total • VMX-128 vector unit per core; three total • 128 VMX-128 registers per hardware thread • 1 MB L2 cache CPU Game Math Performance • 9 billion dot product operations per second Custom ATI Graphics Processor • 500MHz processor • 10 MB of embedded DRAM • 48-way parallel floating-point dynamically scheduled shader pipelines • Unified shader architecture Polygon Performance • 500 million triangles per second Pixel Fill Rate • 16 gigasamples per second fill rate using 4x MSAA Shader Performance • 48 billion shader operations per second Memory • 512 MB of GDDR3 RAM • 700 MHz of DDR • Unified memory architecture Memory Bandwidth • 22.4 GB/s memory interface bus b...

AppDomain.UnhandledException

Никогда не задумывался над тем, что событие AppDomain.UnhandledException предназаначено для самого домена. То есть, если домен A создает домен B, и хочет получать все ошибки, которые в B произошли, то кода: domainB.UnhandledException += new UnhandledExceptionEventHandler(ErrorHandler); будет маловато. Потому, что вызов между доменами это уже remoting, а значит начинается совершенно другая песня: MarshalByRefObject, ISerializable и ему подобное. Один из выходов в данной ситуации - загрузить в домен B класс, который сделает все что надо прямо там, на месте: Loader ldr = (Loader)domainB.CreateInstanceAndUnwrap( "assemblyName", "typeName"); ldr.RegisterErrorHandler(); где: void RegisterErrorHandler() { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(ErrorHandler); } Вот теперь, ErrorHandler, сможет обработать все ошибки. В том, что класс Loader находится прямо в domainB есть плюс: е...

Комплект "Свободные руки"

Зображення

Тестирование минимальных привилегий

Очень часто, при разработке софта мы не задумываемся над тем, насколько точно наше окружения соответвтует окружению заказчика. Точнее, мы знаем что оно отличается, но никогда не анализируем на сколько... Ну ладно, некоторые анализируют... Есть хорошо известный, уже "бородатый" пример неправильного подхода: разработка софта под локальным администратором системы. Потом почему-то оказывается, что у заказчика серьезный администратор и все пользователи на собственных машинах числятся у него максимум в Power Users! И почему-то не всегда могут писать в реестр или в файловую систему. Второй пример не так широко известен. Даже когда мы работаем без административных прав, все равно разрабатываемая нами .NET программа выполняется с уровнем Full Trust. А что если кто-то ее запустит в окружении с частичным доверием? Самый простой способ проверить это - запустить самому! Можно воспользоваться CasPol.exe, для управления доверием, но я знаю способ проще: Допустим мой компьютер называется NOM...

Правила хорошего тона, при разработке библиотек

Как сделать боевого хомячка

Зображення

Красиво

Библиотека изображений карт в Avalon-е: http://blogs.msdn.com/adam_nathan/archive/2005/05/03/414148.aspx

Интересно что...

..."CLR Team" (команда разработчиков .NET) раньше имела такие названия: COM+ 2.0 Team COM+ Confidential Team

Грузится не та сборка! Что делать?

Встретился с очередной проблемой: .NET-ная програма грузит не ту сборку, которую надо. Если бы она ее совсем не могла бы загрузить, от она бы выдала Fusion Log в Debug Output и я бы наверно понял в чем дело, а так сборка грузится, а потом летят MissingMethodException и TypeLoadException . Обидно. Решил вдумчиво почитать Интернет. Практически сразу набрел на статью Suzanne Cook . Оказывается, если для .NET Framework 1.x, написать в реестр следующие значения: HKLM\Software\Microsoft\Fusion\LogPath (REG_SZ) = "c:\temp\Fusion.log" HKLM\Software\Microsoft\Fusion\ForceLog (REG_DWORD) = 1 HKLM\Software\Microsoft\Fusion\LogFailures (REG_DWORD) = 1 то в папочку c:\temp\Fusion.log будет записано как именно и насколько успешно Fusion искал сборки.

Сотрудница сделала мега-снимок

Зображення
Мега-Банк

Analyzing Common CLR Performance Problems

Почти checklist :) Надо будет попробовать им воспользоваться.

А когда менять версию сборки?

Хорошо было в Delphi. Там можно было выбрать галочку "Наращивать при каждом билде" и у тебя каждый раз новенькая версия. Тем более, что от нее ничего и не зависело. Так, для красоты была. А тут пришел пи..., простите, .NET. Первое что я там увидел и сильно порадовался: атрибут AssemblyVersion. [assembly: AssemblyVersion("1.0.*")] О, подумал я, - моща. Скомпилировал, смотрю версия у моей сборки, что-то типа 1.0.0.34765. И при каждой компиляции растет не по-децки. Это мне не понравилось. А тут еще старина Рихтер , со своим: "Не юзайте ни в коем разе звездочку в версии, это Микрософты плохо придумали и уже жалеют об этом. Я точно знаю, бо я с ними пиво пью!". Что делать? Да разве такой проблемой остановишь настоящего индейца? А make-файлы на что? Короче написали мы наращивание версии в make-файлах, получилось почти как в delphi. Только опять попадалово! Мы ж не просто себе нотепад пишем, мы Библиотеку(!) пишем. А ее потом в паре-тройке проектов другие пацаны...

Всем срочно печатать и на стену...

Зображення
Эро-календарь на этот год:

Детская непосредственность

Пару дней назад смотрел с дочкой (3.5 года) мультик "Роботы". Мультик прикольный, но речь не об этом. Смотрели мы его поздно и потому, примерно посередке я все выключил и сказал что досмотрим позже. Это предыстория, теперь собственно: Вчера достаточно долго возился в гараже и пришел домой поздно. Дочка мне радостно сообщает: - Папа, а я досмотрела роботов! -Да? Интересный? - Ага! - Чем закончился? Ребенок задумался. После паузы выдает: "Буквами".

Шарманка

Долго мечтал о смене автомагнитолы и наконец это свершилось. Сразу замечу, что заслушав сидючек и сравнив качество звучания нового дискового пионера с старыми кассетными лыжами, понял: надо было давно такой купить! Мысль эта уже посещала меня однажды, когда после нескольких лет стирки на отечественной Мрии, "антикварного" типа, я приобрел буржуйский автоматический Индезит. Теперь вот сижу и думаю, куда бы поехать на боллиде, так чтобы насладится стереофоническим звучанием.... Пожалуй, махну в родные пенаты, на Пасху...
Зображення
Упаковка для презервативов "Первак" Открываем и внимательно читаем инструкцию: Первак рулит.

Автомобильная тема

Зображення
В последнее время все больше места в моих мыслях занимает предстоящая перекраска боллида. Заодно думаю диски поменять: ... а, может быть, и вместе с покрышками:

И где ж после этого парковаться?

Зображення
Только оставил машину, а она уже под землей...