воскресенье, 27 декабря 2015 г.

Показ дочерних View в рамках патерна MVVM (часть 2)

Пару лет назад уже была статья "Показ дочерних View в рамках патерна MVVM", т.к. сейчас это делаем по другому, да и вопрос тут возник на тостере... Еще раз, в рамках паттерна предполагается что ViewModel (бизнес-логика) работает только с классами ViewModel и Model, а нам необходимо показать окно, т.е. кроме создания ViewModel для него, нужно создать еще и View. Как это сделать? Четвертый вариант под катом.

вторник, 22 декабря 2015 г.

Мнение о книге "Антихрупкость"


Наука хороша на своем месте. Но беда для практика, если он примет ее за чистую монету и начнет в своей невероятно сложной практике применять ее отдельные проекции и думать, что его объект, тот, с которым он, практик, имеет дело, таков, каким его нарисовал теоретик.
 -- Г. Щедровский
Я не случайно начал мнение о книги Никоссима Талеба с цитаты другого ученого и писателя. Собственно, все что рассказывается в "Антихрупкости" на большом количестве страниц можно свести к этой цитате. Прочтение "Черного лебедя" перевернуло взгляд на многие вопросы, в нем, что ни глава, то новая особенность окружающего мира, нашего восприятия этого мира или еще что-то интересное. В "Антихрупкости" всего этого нет. Есть достаточно очевидные вещи (кстати, может и после прочтения лебедя некоторые из этих вещей стали очевидными). Вся книга про то, что это прорыв, что вот Талеб - молодец все это описывает и применяет, вот куча примеров из прошлого как древние и не очень мыслители думали так же как Талеб (в лебеде как раз писалось что под каждую теорию можно найти высказывания мудрецов прошлого как подтверждающих, так и опровергающих ее, здесь же как-будто другой человек пишет и постоянно кого-то цитирует). Странное ощущение от книги.
Читать ли книгу? Отвечу не цитатой из Антихрупкости: "При выборе книг я руководствуюсь тем же эффектом Линди: книги, которые переиздаются десять лет, мы будем читать еще столько же; книги, пережившие два тысячелетия, явно будут с нами еще долго, и так далее". Давайте подождем 10 лет и посмотрим, если Антихрупкость будут переиздавать и читать, то прочитайте... Ну а так, лучше "Черного лебедя".

Обработчик "PageHandlerFactory-Integrated" содержит поврежденный модуль "ManagedPipelineHandler"

Поставил IIS, выгрузил в него проект, при заходе через браузер на страницу проекта получил сообщение вынесенное в заголовок. Решается это запуском переустановки ASP. Net, вот так:
%windir%\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

воскресенье, 22 ноября 2015 г.

Мнение о книге Оргуправленческое мышление: идеология, методология, технология

Книга представляет собой конспект лекций, которые читались в 1981 году на курсах повышения квалификации руководителям (замам или кто вместо них приехал) строительств атомных электростанций.
Читая эту книгу, я понимал, что очень многое из нее сейчас рассказывается чуть ли не как откровение, а это все рассказывалось как проходной материал уже тогда, когда я под стол пешком ходил. Например, в Антихрупкости Николас Талеб взахлеб, на треть книги расписывает что наука наще ничто, а вот инженерия (прилаживание) наше все. И вот он такой умный, это заметил и рассказывает. Георгий Шедровицкий в первой лекции констатирует это как факт, но не просто констатирует, но еще и дает вариант почему именно так все и произошло. И это не откровение, а так, проходной момент к основной теме.
Так как книга конспект и писалась она на основе аудиозаписи, то в книге есть и вопросы слушателей, ответы на них и даже некоторая полемика. Очень интересно, когда то что ты бы спросил у автора сейчас, спрашивают 35 лет назад и автор отвечает, как будто тебе. Неожиданное ощущение.
Еще в книге много зарисовок, как из советской жизни, так и из общемировой практики. Какие-то уже стали притчей во языцах (про каргокульт), какие-то очень интересны именно как байки из советского времени (по крайней мере для меня), но самое главное, что они очень хорошо оживляют материла, читать интересно.
Ладно, введение затянулась, перехожу к сути. В книге практически нет готовых решений. Т.е. если начинать ее читать как сборник рецептов, то нет. Те же 45 татуировок менеджера это сборник рецептов, здесь же очень большое количество поводов задуматься. В этом плане даже окончание книги... специфическое. Читаешь такой, читаешь, а тут на тебе. Что же есть в книге? Как я уже сказал много баек, ну и системный подход, что это, как это, зачем это. Есть наброски с чего можно строить свою картинку мира. На меня в свое время очень сильное впечатление произвел Черный лебедь, так вот, от этой книги впечатление намного сильнее. Она ломает картинку мира, заставляет смотреть на многие вещи по другому.
Читать ли эту книгу? Не знаю, я точно буду ее еще раз читать, а может быть и не один, сейчас у меня к ней уж очень много вопросов осталось. 

пятница, 20 ноября 2015 г.

Как я отвечаю на вопросы

Эта публикация из серии ответы на вопросы с MSDN. Вот только на вопрос я уже ответил, но вот в топике был задан вопрос: "А как вы даете ответы?". Вопрос переформулирован мной, по ссылке он в полном виде можно сходить и посмотреть. Под катом я расскажу как я отвечал конкретно на оригинальный вопрос из топика и вообще как я действую столкнувшись с интересной проблемой.

среда, 28 октября 2015 г.

Мнение о книге "Сила воли. Как развить и укрепить"

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

среда, 14 октября 2015 г.

понедельник, 12 октября 2015 г.

Устанавливаем, настраиваем и начинаем работаь с Git

Так получилось, что возникла потребность в познакомиться с Git. Вот здесь есть учебник по Git, который я и читаю. В этой и, возможно, паре ближайших статей будет выжимка для "себя", того как и что делать. У меня есть подозрение, что это будет мало кому интересно... Лучше читать указанный выше учебник, но мало ли, кому еще пригодится.

Glob - шаблоны в .gitignore

Для определения какие файлы в папке должны игнорироваться git-ом, создается файл .gitignore. В котором применяются glob - шаблоны. То что под катом, это краткая дока по glob-шаблонам для тех, кто не работает в *nix системах. Т.е. для меня.

воскресенье, 27 сентября 2015 г.

Цитата дня


Сегодняшняя цитата по следам книги про гориллу:
Раньше я говорил: «Я надеюсь, что все изменится». Затем я понял, что существует единственный способ, чтобы все изменилось— измениться мне самому.
 -- Джим Рон (бизнес-тренер, автор книг по личному развитию).
Ну и вторая цитата в тему:
Все хотят изменить мир, но никто не хочет измениться сам.
 -- Л.Н. Толстой

Мнение о книге "Вы заметили гориллу?"

Начну с того, что книжка очень маленькая (и формат и количество страниц). Я купил несколько книг этого автора "Как поймать удачу" и "Странная логика наших поступков. Психология лжи и обмана". Ну и мой выбор на гориллу, именно из-за размера. Главный вывод: остальные книги тоже прочитаю. Вот только начну не с удачи, а с лжи и обмана. Ладно, отвлекся. К книге...
Книга про слепые пятна нашей психики и то, как их можно избежать повышая осознанность. Слово осознанность, кстати, появляется только в последней главе. Вся книга в легкой, с шутками-прибаутками манере, показывает как мы не видим очевидных вещей и дает советы, как можно повысить свои навыки в преодолении своей зашоренности. Вот только большинство советов книги будет работать только в том случае, если осознавать что ты делаешь и то, что эти советы именно сейчас неплохо было бы применить. А вот если это осознать, работают они просто замечательно.
Читать ли книгу? Да, читать. Хотя-бы ради того, чтобы получить удовольствие от тех подколов читающего которые Вайзман заложил в текст. Они там по всюду. И дочитав до очередного, ты опять попадаешься, хотя вроде уже настроен что уж в следующий то раз меня не проведут! Приятного чтения и повышения осознанности ;)

суббота, 19 сентября 2015 г.

Мнение о книге "Договориться можно обо все"

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

четверг, 17 сентября 2015 г.

Цитата дня

Если бы вместо миллиардов, которые тратятся на вооруженные силы, нашлись бы миллионы на образование и здравоохранение, то для терроризма не было бы места.
  --  Сергей Капица

вторник, 15 сентября 2015 г.

Раскраска фона элементов ListBox через строчку

Как то всегда пользовался для отображения данных, в которых имеет смысл раскрашивать цвет фона через строчку DataGrid, а в нем все просто. Есть два замечательных свойства RowBackground и AlternatingRowBackground. Задаешь их и все работает. Если нужно на основе данных отображаемых в строках, то это тоже все просто, через Converter. А вот что делать, если через строчку надо раскрасить фон в ListBox?

среда, 12 августа 2015 г.

Цитата дня


Многоуровневая избыточность - главное свойство естественных систем, управляющих риском. У каждого из нас есть две почки (даже у бухгалтеров, представьте себе), другие "запасные части", а также дополнительная мощность (например, дыхательной, нервной и кровеносной систем).
 -- Нассим Николас Талеб

вторник, 11 августа 2015 г.

Показ окна в отдельном потоке

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

среда, 8 июля 2015 г.

Подписаться на изменение DependecyProperty

Часто бывает, что есть некий потомок DependencyObject, у него есть DependencyProperty, а вот события сообщающего о том, что свойство изменилось нет. Я с такой ситуацией столкнулся при попытках отследить изменение актуальной ширины DataGridColumn. Ну и под катом, как это все можно провернуть.

понедельник, 15 июня 2015 г.

Цитата дня


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

четверг, 14 мая 2015 г.

Синхронизировать с Яндекс.Диском папку которая лежит в произвольном месте

Собственно, проблема следующая. На компьютере установлен упомянутый Яндекс.Диск. Он смаплен в какую то папку. И все великолепно с ней синхронизирует. Но, стоит задача синхронизировать в облако еще и сетевую папку доступную на этом компьютере. В принципе, можно при помощи сторонних программ настроить синхронизацию этой сетевой папки с папкой в Яндекс.Диске. Но это дополнительные программы, да и зачем мне копия на локальном компьютере сетевой папки?
Данная задача решается достаточно просто командой MKLINK. Синтаксис достаточно прост. Имя команды, ключ /D, имя ярлыка, папка которую нужно смапить.
Вот на примере локальной папки:
MKLINK /D C:\Users\home\YandexDisk\TestFolder d:\TestFolder
Все, спокойно работаем с папкой, а она автоматом синхронизируется в облако, т.к. все программы считают этот ярлык самой папкой.

пятница, 8 мая 2015 г.

Tooltip в виде выноски (Balloon)


Как оказалось делал зря, но прикольно, поэтому выложу, вдруг где еще пригодиться. Задача состоит в том, чтобы вывести ToolTip в виде выноски (балона-облачка).



четверг, 30 апреля 2015 г.

При показе из WinForms приложения WPF окна в его TextBox-ах не вводится текст

В проекте написанном на WinForms необходимо было показать форму WPF. Показывается, все замечательно. Но... При попытке что-то набрать в TextBox-е в нем отображаются только пробелы. Все остальные клавиши игнорируются. Ларчик открывался просто. При показе WPF окна надо вызывать не Show, а ShowDialog. Иначе ввод не работает. Вот как так, а?

четверг, 9 апреля 2015 г.

Мнение о книге "Атлант расправил плечи"

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

воскресенье, 5 апреля 2015 г.

Работа с файлами Excel пользователем через интерфейс, на основе SpreadsheetGear

Возникла задача дать пользователю возможность ввести данные в приложении, но на основе шаблона загруженного из Excel файла. Или, иными словами, грузиться и показывается пользователю Excel файл. Файл заранее подготовлен и данные можно вводить только в определенные места (отличающиеся от файла к файлу). Стоит задача показать такой файл, выполнить с ним некоторые операции, ну и считать из него данные по завершению ввода.
данная статья сборник небольших примеров решения такой задачи с использование компонента SpreadsheetGear.

вторник, 24 марта 2015 г.

Вставка HTML в буфер обмена

При работе с буфером обмена из C# выяснилось, что вставить туда HTML так, чтобы программы типа Word распознавали его не как текст, а именно как HTML не совсем просто, под катом пример.

пятница, 13 марта 2015 г.

Персики, лимоны, рынок вакансий в IT и как все это связано

Эта статья подготовлена для блогов журнала PCWeek.
В 2001 году Джордж Акерлофа получил нобелевскую премию по экономике за анализ рынков с ассиметричной информацией. Ходит байка, что когда он впервые отправил статью про персики и лимоны в экономический журнал, ее отклонили, посоветовав такие статьи отправлять в журналы по садоводству. Что же за понятия персиков и лимонов ввел Акерлофа, и какое отношение они имеют к рынкам с ассиметричной информацией? И вообще, причем здесь вакансии в IT? Вот об этом и предлагаю поговорить.

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

О KPI и мотивации

Эта статья подготовлена для блогов журнала PCWeek.

«Наиболее важные факторы, необходимые для управления любой организацией, как правило, неизвестны и количественно неопределимы»
Э. Деминг, "Выход из кризиса"
Открывая новый проект, запуская изменения в существующем процессе, мы придумываем метрики и задаем KPI. И, как правило, за достижение этих KPI назначаются ответственные, которые получат бонусы или будут наказаны за несоответствие реальности целевым индикаторам. Предполагается, что наличие таких показателей должно стимулировать исполнителей. Но как на самом деле все это работает? В большинстве случаев – странно.

вторник, 27 января 2015 г.

Добавляем приложение в автозапуск в инсталяторах на WIX Toolset

Это совсем маленькая заметка, даже не ожидал, что все так просто. Для того, чтобы добавить приложение в автозапуск, достаточно в компонент отвечающий за добавление exe файла добавить RegistryKey:
<Component Id="ProductComponent">
  <File Source="$(var.EyeOfSauron.TargetPath)" />
  <RegistryKey
  Root="HKLM"
  Key="Software\Microsoft\Windows\CurrentVersion\Run">
    <RegistryValue Type="string" Name="RunEyeOfSauron" Value="[INSTALLFOLDER]EyeOfSauron.exe"/>
  </RegistryKey>
</Component>

Работа с файлами в инсталяторах на WiX Toolset

В прошлой статье про проекты инсталяторов в Visual Studio я привел маленький пример, позволяющий добавить в MSI только exe файл нашего проекта. Сегодня предлагаю посмотреть как добавить другие файлы из проекта.

среда, 21 января 2015 г.

Как изменить поведение сотрудников

Эта статья подготовлена для блогов журнала PCWeek.
Какой замечательной ни была бы ваша команда, и как хорошо ни был бы выстроен процесс, все равно вы столкнетесь с сотрудниками, которые будут нарушать существующие правила или не будут принимать новое и будут саботировать изменение процессов. Сегодня предлагаю остановиться больше на первой части: на изменении нежелательного поведения.