Sim

Странное поведение Unity

Не могу не написать, т.к. одни эмоции. Несколько часов потратил пока не понял в чем дело.
Собственно есть такой IoC контейнер от Microsoft как Unity. Пользовали и не знали бед до вчерашнего дня.
Не вдаваясь в подробности скажу, что помимо RegisterType мы сделали 2 дополнительных метода: 
RegisterSingletone и RegisterThreadSingleton
реализация элементарная:
return Container.RegisterType<TFrom, TTo>(new ContainerControlledLifetimeManager(), injectionMembers);
return Container.RegisterType<TFrom, TTo>(new PerThreadLifetimeManager(), injectionMembers);
Внимание вопрос:
Realization : I1, I2

RegisterSingleton<I1, Realization>();
RegisterSingleton<I2, Realization>();
будет ли Resolve по I1 и I2 возвращать один экземпляр или разные?

а если RegisterThreadSingleton?

Не мучайтесь, я сделал это за вас, друзья :)
ContainerControlledLifetimeManager работает довольно предсказуемо, создавая и возвращая один и тот же экземпляр для обоих интерфейсов.
PerThreadLifetimeManager (работая в ОДНОМ ПОТОКЕ) создает 2 экземпляра, НО! возвращает их недетерминированно, т.е. иногда возвращает всегда только первый, иногда второй.  Пока с этим не разобрался чуть с ума не сошел. Интересно, изменилось ли поведение в EL5?
Sim

Пересмотрел социальную сеть

Нельзя по 2 раза смотреть некоторые фильмы. Сейчас чувствую себя главним героем фильма "Социальная Сеть" :)
Началось все вчера. Чисто случайно нашел на просторах интернета opensource проект под названием gource
Он предназначен для красивой визуализации деревьев и демонстрации изменений во времени. Идеально использовать с системами контроля версий. Изначально gource работает с кучей систем, однако в их числе не было нашей. Но ребята молодцы и предусмотрелик кастомный формат импорта данных. Нужно лишь подготовить специальным образом отформатированный файл и скормить его gource.
Мы используем TFS. Некоторое время ушно на изучение API. Когда программа экспорта была написана, сразу же экспортнул мой текущий проект. Восторг!!!
После этого, для повышения наукоемкости, экспортнул весь TFS. Когда показал коллегам, мы в течении часа не отрываяссь просматривали всю историю разработки в нашей компании :)
Сегодня решил немного очеловечить картинку. Для начала прикрутил ActiveDirectoryHelper, чтобы вместо доменных имен комитеров показывались их реальные имена. Потом немного почитал документацию и узнал что оказывается вместо бездушных иконок в виде головы пользователя можно отрисовывать настоящие фотки.
Пришлось написать неболькой грабер, производящий поиск по имени на внутреннем сайте и вытягивающий фотку (вспомните facemesh :)) В результате получилась просто красотейшая красота. Особенно впечатляюще выглядит импорт проектов из других систем (из перфорса например), когда буквально за миг, появляется куча новых файлов. Или когда новый бранч создается.
Вообще, кроме свистелкости и перделкости gource обладает и реальной пользой. Можно визуально быстро пронаблюдать за историей разработки. активностью разработчиков, сложностью и величиной проектов, динамокой их изменения во времени.
Забавно наблюдать, как с приходом выходных активность падает и лишь робот автобилдер обновляющий версии компонентов ползает по всем веткам.
Выглядит все это дело примерно так:

Sim

geocaching

В прошлые выходные, после долгого перерыва наконец выбрались на кешинг.
Тайник мы к сожалению не нашли, но погуляли по красивейшему обрыву рядом с берегом Москвы Реки, покатались по полю, разведали горнолыжный спуск и самое главное - нашли мотокроссовую трассу! Поскорее бы снег и тепло. Очень хочется закатнуть по взрослому. Вообще по этому направлению как-то не доводилось искать клады, так что поле непаханное. Уже потираю руки и думаю на какую тоочку поехать в эти выходные.
Да, и еще! Этот обрыв - идеальное место для зимних пельменей. Давно уже не ходили. А так хочется взять глинтвейна, котелок, самодельных пельменей, развести костер и все это приготовить прямо в лесу, на обрыве, рядом с речкой. Уууух, прямо слюнки потекли :)
Sim

Kaspersky Lab Developers Summit

По горячим следам хочется коротко описать впечатления от первого в истории саммита разработчиков Лаборатории Касперского.
Дело несомненно нужное и очень полезное, однако
Формат очень формальный. Не считая приезда и отъезда мы там пробыли 2 полноценных дня. И оба эти дня были с утра до вечера расписаны.
Первый день - доклады, второй день - бизнес игра. Некоторые доклады были интересными, другие - совсем не в тему. При этом большинство из ник к разработке не имели никакого отношения.
Второй день - игра. Мне показалась совсем лишней. Опять же, обсуждаемые вопросы должны решаться на уровне высокого руководства, но никак не на уровне разработчиков и тимлидов.
Мне кажется что второй день нужно было провести в более неформальной обстановке. Лично я за разговорами в барах и на пляже вынес для себя намного больше чем из этой игры.
Да, еще хотел сказать что мой первый опыт выступления перед такой толпой понравился. Мондраж перед выходом на сцену присутствовал, но в процессе моментально пропал. Конечно, из-за отсутствия опыта пару раз завис, пытаясь построить сложную фразу, но как-то из ситуации вышел :)
После саммита энергии немного прибавилось. Отдыха, естественно не ощущается, ибо проводили на море всего по 2 часа в сутки.
Итог: побольше подобных мероприятний, но в более неформальной обстановке
Sim

iPad


Некоторое время назад я купил таки iPad. Штуку эту захотел сразу как только увидел анонс, а когда подержал в руках, желание стало совсем непреодолимым.
Уже написан не один десяток постов на эту тему, но я хотел бы добавить свои 5 копеек, а заодно ответить на вопросы, регулярно задаваемые в том числе и лично мне.

Q: Откуда столько восторга?
A: Долго можно рассказывать. Начнем с того что он sexy, как почти вся остальная продукция яблочной компании. Это устройство которым приятно пользоваться; устройство, начав пользоваться которым уже сложно остановиться. Он красив, удобен и вообще гениален :) Но это все эмоции, далее - конкретика:
iPad - идеальная читалка и однозначный убийца различных ридеров, в том числе на электронных чернилах.
Шикарный экран. Читать можно как в темноте, лежа в кровати, так и на пляже под ярком солнцем. Объемная батарея обеспечивает 10 часов непрерывного чтения, что более чем достаточно. Оптимальный размер и форма. Его приятно держать в руке. Он всегда готов к работе. Достал из сумки, нажал 2 кнопки и ты уже читаешь, смотришь фильм, играешь или серфишь интернет.
iPad - отличная смотрелка кино. Особенно я это оценил, когда последний раз летал в Тайланд. За время перелета, составлявшее 8 с лишним часов батарейка разрядилась процентов на 30. При этом было посмотрено пару фильмов, почитана книжка, поиграно в кучу игр. Ну какой ноут так может?
iPad - отличная игровая консоль. Мне кажется тут нечего объяснятьи доказывать, все и так очевидно.
iPad - Хороший навигатор. Недавно прехал в машине с запущенной iGo. Все приемущества обычного навигатора + большой экран + компас. Единственный минус - отсутствие штатного крепления, но это вопрос легко решаемый.
iPad - идеальный браузер. Регулярно ловлю себя на том что сижу напротив обычного компьютера с iPad и серфю интернет. Это действительно удобно, просто нужно попробовать!

Q: Зачем люди покупают iPad, сознательно урезая себя в функционале
Тут надо определиться о каком функционале идет речь. Лично я НЕ использую домашний компьютер для работы. на 99% это - интернет, просмотр фильмов, музыка + немного игрушки. iPad полностю покрывает эти usecas'ы + куча бонусов, описанных выше.
Любая железка - это компромис. Покупателям ноутбуков или стационарных компьютеров я могу задать тот же вопрос: зачем вы сознательно урезаете себя в функционале?

Несомненно большой компьютер нужен и ноутбук нужен и iPad не их замена, а то дополнение, которого так давно не хватало!


 

Sim

Отпуск

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

Подумаешь! – солнце, морской бережок.
Зато у меня на обед пирожок,
С ним разве тягаться прохладной волне?
Вот, кстати, и солнце есть – рядом, в окне.

От солнца не спрячешься на берегу,
А я жалюзЯми прикрыться могу.
Об этом курортнику только мечтать-
Чтоб солнце включать, а потом выключать.

Подвластен мне в офисе всякий каприз -
В розетку кондишн – пожалуйте – бриз!
Ботвою тропической полны горшки.
Опять же – прям в руки несут пирожки.

Ну чем же, скажите мне, не благодать?-
Вот здесь, на столе безнаказанно спать.
А шеф на курорте не смежит ведь глаз -
В волнении о позаброшенных нас.

Какой уж тут отдых – инжир и урюк -
А ну как, мы все тут отбились от рук!
Вернее, отбились от главной руки,
И нагло зевая, жуем пирожки.

Неделя проходит, другая…и ах!-
Начальство с рукою у сердца в дверях.
На лицах отъевшихся – «Слава труду!»
А я, отдохнувший - в свой отпуск иду!